Acerca da Análise de Código de Segurança da Microsoft

Nota

A partir de 31 de dezembro de 2022, a extensão MSCA (Security Code Analysis) da Microsoft foi descontinuada. O MSCA é substituído pela extensão microsoft Security DevOps do Azure DevOps. Siga as instruções em Configurar para instalar e configurar a extensão.

Com a extensão Análise de Código de Segurança da Microsoft, as equipas podem adicionar análises de código de segurança aos respetivos pipelines de integração e entrega contínua (CI/CD) do Azure DevOps. Esta análise é recomendada pelos especialistas em Ciclo de Vida de Desenvolvimento Seguro (SDL) da Microsoft.

Um UX consistente simplifica a segurança ao ocultar a complexidade das ferramentas de execução. Com a entrega baseada em NuGet das ferramentas, as equipas já não precisam de gerir a instalação ou atualização de ferramentas. Com as interfaces de linha de comandos e básicas para tarefas de compilação, todos os utilizadores podem ter o controlo sobre as ferramentas que quiserem.

O Teams também pode utilizar poderosas capacidades de pós-processamento, tais como:

  • Registos de publicação para retenção.
  • Gerar relatórios acionáveis e focados no programador.
  • Configurar quebras de compilação em testes de regressão.

Por que motivo devo utilizar a Análise de Código de Segurança da Microsoft?

Segurança simplificada

Adicionar ferramentas de Análise de Código de Segurança da Microsoft ao pipeline do Azure DevOps é tão simples como adicionar novas tarefas. Personalize as tarefas ou utilize o comportamento predefinido. As tarefas são executadas como parte do pipeline do Azure DevOps e produzem registos que detalham muitos tipos de resultados.

Limpar compilações

Depois de resolver os problemas iniciais comunicados pelas ferramentas, pode configurar a extensão para interromper as compilações em novos problemas. É fácil configurar compilações de integração contínua em todos os pedidos Pull.

Definir e esquecer

Por predefinição, as tarefas e ferramentas de compilação mantêm-se atualizadas. Se existir uma versão atualizada de uma ferramenta, não precisa de a transferir e instalar. A extensão trata da atualização por si.

Os bastidores

As tarefas de compilação da extensão ocultam as complexidades de:

  • Executar ferramentas de análise estática de segurança.
  • Processar os resultados a partir de ficheiros de registo para criar um relatório de resumo ou interromper a compilação.

Conjunto de ferramentas de Análise de Código de Segurança da Microsoft

A extensão Análise de Código de Segurança da Microsoft disponibiliza facilmente as versões mais recentes de ferramentas de análise importantes. A extensão inclui ferramentas geridas pela Microsoft e ferramentas open source.

Estas ferramentas são transferidas automaticamente para o agente alojado na cloud depois de utilizar a tarefa de compilação correspondente para configurar e executar o pipeline.

Esta secção lista o conjunto de ferramentas que estão atualmente disponíveis na extensão. Tenha em atenção a adição de mais ferramentas. Além disso, envie-nos as suas sugestões para as ferramentas que pretende que adicionemos.

Detetor Antimalware

A tarefa de compilação Do Scanner Antimalware está agora incluída na extensão Análise de Código de Segurança da Microsoft. Esta tarefa tem de ser executada num agente de compilação que já Windows Defender instalado. Para obter mais informações, consulte o site Windows Defender.

BinSkim

BinSkim é um scanner leve Executável Portátil (PE) que valida as definições do compilador, as definições do linker e outras características relevantes para a segurança dos ficheiros binários. Esta tarefa de compilação fornece um wrapper de linha de comandos em torno da aplicação de consola binskim.exe. BinSkim é uma ferramenta open source. Para obter mais informações, consulte BinSkim no GitHub.

Scanner de Credenciais

As palavras-passe e outros segredos armazenados no código fonte são um problema significativo. O Scanner de Credenciais é uma ferramenta de análise estática proprietária que ajuda a resolver este problema. A ferramenta deteta credenciais, segredos, certificados e outros conteúdos confidenciais no código fonte e na saída da compilação.

Analisadores Roslyn

Roslyn Analyzers é a ferramenta integrada no compilador da Microsoft para analisar estaticamente o código C# gerido e Visual Basic. Para obter mais informações, veja Analisadores baseados em Roslyn.

TSLint

O TSLint é uma ferramenta de análise estática extensível que verifica o código TypeScript para obter legibilidade, manutenção e erros na funcionalidade. É amplamente suportado por editores modernos e sistemas de compilação. Pode personalizá-lo com as suas próprias regras, configurações e formadores lint. O TSLint é uma ferramenta open source. Para obter mais informações, veja TSLint no GitHub.

Análise e pós-processamento de resultados

A extensão Análise de Código de Segurança da Microsoft também tem três tarefas de pós-processamento. Estas tarefas ajudam-no a analisar os resultados encontrados pelas tarefas da ferramenta de segurança. Quando adicionadas a um pipeline, estas tarefas normalmente seguem todas as outras tarefas de ferramentas.

Publicar Registos de Análise de Segurança

A tarefa de compilação Publicar Registos de Análise de Segurança preserva os ficheiros de registo das ferramentas de segurança que são executadas durante a compilação. Pode ler estes registos para investigação e seguimento.

Pode publicar os ficheiros de registo nos Artefactos do Azure como um ficheiro de .zip. Também pode copiá-los para uma partilha de ficheiros acessível a partir do seu agente de compilação privada.

Relatório de Segurança

A tarefa de compilação do Relatório de Segurança analisa os ficheiros de registo. Estes ficheiros são criados pelas ferramentas de segurança que são executadas durante a compilação. Em seguida, a tarefa de compilação cria um único ficheiro de relatório de resumo. Este ficheiro mostra todos os problemas encontrados pelas ferramentas de análise.

Pode configurar esta tarefa para comunicar resultados para ferramentas específicas ou para todas as ferramentas. Também pode escolher o nível de problema a comunicar, como apenas erros ou erros e avisos.

Pós-Análise (quebra de compilação)

Com a tarefa de compilação Pós-Análise, pode injetar uma quebra de compilação que faz com que uma compilação falhe propositadamente. Injeta uma quebra de compilação se uma ou mais ferramentas de análise reportarem problemas no código.

Pode configurar esta tarefa para interromper a compilação para problemas encontrados por ferramentas específicas ou todas as ferramentas. Também pode configurá-lo com base na gravidade dos problemas encontrados, como erros ou avisos.

Nota

Por predefinição, cada tarefa de compilação é bem-sucedida se a tarefa for concluída com êxito. Isto é verdade se uma ferramenta encontra ou não problemas, para que a compilação possa ser executada até à conclusão, permitindo que todas as ferramentas sejam executadas.

Passos seguintes

Para obter instruções sobre como integrar e instalar a Análise de Código de Segurança da Microsoft, veja o nosso Guia de inclusão e instalação.

Para obter mais informações sobre como configurar as tarefas de compilação, veja o nosso Guia de configuração ou guia de Configuração yaml.

Se tiver mais perguntas sobre a extensão e as ferramentas oferecidas, consulte a nossa página de FAQ.