Partilhar via


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

Observação

A partir de 31 de dezembro de 2022, a extensão Microsoft Security Code Analysis (MSCA) será desativada. MSCA é substituído pela extensão Microsoft Security DevOps 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 equipes podem adicionar análise de código de segurança aos seus pipelines de integração contínua e entrega (CI/CD) do Azure DevOps. Esta análise é recomendada pelos especialistas em Secure Development Lifecycle (SDL) da Microsoft.

Uma experiência do usuário consistente simplifica a segurança, ocultando a complexidade das ferramentas em execução. Com a entrega das ferramentas baseada no NuGet, as equipes não precisam mais gerenciar a instalação ou a atualização das ferramentas. Com interfaces básicas e de linha de comando para tarefas de compilação, todos os usuários podem ter tanto controle sobre as ferramentas quanto quiserem.

As equipes também podem usar recursos poderosos de pós-processamento, como:

  • Publicação de logs para arquivamento.
  • Geração de relatórios acionáveis e focados no desenvolvedor.
  • Configurando quebras de compilação em testes de regressão.

Por que devo usar 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 seu pipeline de DevOps do Azure é tão simples quanto adicionar novas tarefas. Personalize as tarefas ou use seu comportamento padrão. As tarefas são executadas como parte do pipeline do Azure DevOps e produzem logs que detalham muitos tipos de resultados.

Construções limpas

Depois de resolver os problemas iniciais relatados pelas ferramentas, você pode configurar a extensão para interromper compilações em novos problemas. A configuração de builds de integração contínua em cada pull request é fácil.

Ajuste e depois esqueça

Por padrão, as tarefas e ferramentas de compilação permanecem up-toatualizadas. Se houver uma versão atualizada de uma ferramenta, não é necessário baixá-la e instalá-la. A extensão cuida da atualização para você.

Por trás dos bastidores

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

  • Executar ferramentas de análise estática de segurança.
  • Processando os resultados de ficheiros de log para criar um relatório sumário ou interromper a criação.

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

A extensão Microsoft Security Code Analysis disponibiliza prontamente as versões mais recentes de ferramentas de análise importantes. A extensão inclui ferramentas gerenciadas pela Microsoft e ferramentas de código aberto.

Essas ferramentas são baixadas automaticamente para o agente hospedado na nuvem depois que você usa a tarefa de compilação correspondente para configurar e executar o pipeline.

Esta seção lista o conjunto de ferramentas que estão atualmente disponíveis na extensão. Fique atento à adição de mais ferramentas. Além disso, envie-nos as suas sugestões de ferramentas que pretende que adicionemos.

Verificador de Anti-Malware

A tarefa de compilação do Anti-Malware Scanner agora está incluída na extensão Microsoft Security Code Analysis. Essa tarefa deve ser executada em um agente de compilação que já tenha o Windows Defender instalado. Para obter mais informações, consulte o site do Windows Defender.

BinSkim

BinSkim é um scanner leve executável portátil (PE) que valida as configurações do compilador, configurações do vinculador e outras características relevantes para a segurança de arquivos binários. Esta tarefa de compilação fornece uma interface de linha de comando para o aplicativo de console binskim.exe. BinSkim é uma ferramenta de código aberto. Para obter mais informações, consulte BinSkim no GitHub.

Scanner de credenciais

Senhas e outros segredos armazenados no código-fonte são um problema significativo. O Credential Scanner é uma ferramenta proprietária de análise estática que ajuda a resolver esse 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 ao compilador da Microsoft para analisar estaticamente o código gerenciado em C# e Visual Basic. Para obter mais informações, consulte Analisadores baseados em Roslyn.

TSLint

O TSLint é uma ferramenta de análise estática extensível que verifica o código TypeScript quanto à legibilidade, manutenção e erros de funcionalidade. É amplamente suportado por editores modernos e sistemas de compilação. Você pode personalizá-lo com as suas próprias regras, configurações e formatadores. TSLint é uma ferramenta de código aberto. Para obter mais informações, consulte TSLint no GitHub.

Análise e pós-processamento dos resultados

A extensão Microsoft Security Code Analysis também tem três tarefas de pós-processamento. Essas tarefas ajudam a analisar os resultados encontrados pelas tarefas da ferramenta de segurança. Quando adicionadas a um pipeline, essas tarefas geralmente seguem todas as outras tarefas da ferramenta.

Publicar logs de análise de segurança

A tarefa de construçã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 construção. Você pode ler esses logs para investigação e acompanhamento.

Você pode publicar os arquivos de log no Azure Artifacts como um arquivo de .zip. Você também pode copiá-los para um compartilhamento de arquivos acessível de seu agente de compilação privado.

Relatório de Segurança

A tarefa de compilação do Relatório de Segurança analisa os arquivos de log. Esses arquivos 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 arquivo de relatório de resumo. Este arquivo mostra todos os problemas encontrados pelas ferramentas de análise.

Você pode configurar essa tarefa para relatar resultados para ferramentas específicas ou para todas as ferramentas. Você também pode escolher o nível de problema a ser relatado, como apenas erros ou erros e avisos.

Pós-Análise (erro de build)

Com a tarefa de compilação Post-Analysis, pode-se injetar uma interrupção de compilação que propositalmente faz com que uma compilação falhe. Você injeta uma quebra de compilação se uma ou mais ferramentas de análise relatarem problemas no código.

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

Observação

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

Próximos passos

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

Para obter mais informações sobre como configurar as tarefas de compilação, consulte nosso Guia de configuração ou Guia de configuração do YAML.

Se você tiver mais dúvidas sobre a extensão e as ferramentas oferecidas, confira nossa página de perguntas frequentes .