Compartilhar via


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

Observação

Desde 31 de dezembro de 2022, a extensão MSCA (Microsoft Security Code Analysis) está desativada. O MSCA foi substituído pela extensão Microsoft Security DevOps do Azure DevOps. Siga as instruções descritas 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 pipelines de CI/CD (integração e entrega contínua) do Azure DevOps. Essa análise é recomendada pelos especialistas em Ciclo de Vida de Desenvolvimento Seguro (SDL) da Microsoft.

Uma experiência de usuário consistente simplifica a segurança ocultando a complexidade das ferramentas em execução. Com a entrega baseada em NuGet das ferramentas, 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 build, todos os usuários podem ter tanto controle sobre as ferramentas quanto desejarem.

O Teams também pode usar recursos avançados de pós-processamento, como:

  • Publicando registros para retenção.
  • Gerando relatórios acionáveis e focados no desenvolvedor.
  • Configurando interrupções de build 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 pipeline do Azure DevOps é 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.

Compilações limpas

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

Defina-o e esqueça-o

Por padrão, as tarefas de build e as ferramentas permanecem up-to-atualizadas. Se houver uma versão atualizada de uma ferramenta, você não precisará baixá-la e instalá-la. A extensão cuida da atualização para você.

Sob o capô

As tarefas de build da extensão ocultam as complexidades de:

  • Executando ferramentas de análise estática de segurança.
  • Processando os resultados de arquivos de log para criar um relatório de resumo ou interromper o build.

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 prontamente as versões mais recentes de ferramentas de análise importantes. A extensão inclui ferramentas gerenciadas pela Microsoft e ferramentas de software livre.

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

Esta seção lista o conjunto de ferramentas que estão disponíveis atualmente na extensão. Observe a adição de mais ferramentas. Além disso, envie-nos suas sugestões de ferramentas que você deseja que adicionemos.

Verificador antimalware

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

BinSkim

BinSkim é um scanner leve de Executável Portátil (PE) que valida as configurações do compilador, as configurações do vinculador e outras características relevantes à segurança dos arquivos binários. Essa tarefa de construção fornece um wrapper de linha de comando para o aplicativo de console binskim.exe. BinSkim é uma ferramenta de software livre. Para obter mais informações, consulte BinSkim no GitHub.

Verificador de Credenciais

Senhas e outros segredos armazenados no código-fonte são um problema significativo. O Verificador de Credenciais é uma ferramenta proprietária de análise estática que ajuda a resolver esse problema. A ferramenta detecta credenciais, segredos, certificados e outros conteúdos confidenciais no código-fonte e na saída do build.

Analisadores Roslyn

Os Analisadores Roslyn são a ferramenta integrada ao compilador da Microsoft para analisar estaticamente o código C# e o Visual Basic gerenciados. Para obter mais informações, consulte analisadores baseados em Roslyn.

TSLint

O TSLint é uma ferramenta extensível de análise estática que verifica o código TypeScript quanto à legibilidade, à manutenção e aos erros na funcionalidade. É amplamente compatível com editores modernos e sistemas de build. Você pode personalizá-lo com suas próprias regras de lint, configurações e formatadores. O TSLint é uma ferramenta de software livre. Para obter mais informações, consulte 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. Essas tarefas ajudam você 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 de ferramenta.

Publicar logs de análise de segurança

A tarefa de "Publicar Logs de Análise de Segurança" na compilação preserva os arquivos de log das ferramentas de segurança que são executadas durante o processo de 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 .zip. Você também pode copiá-los para um compartilhamento de arquivos acessível de seu agente de build privado.

Relatório de Segurança

A tarefa de build 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 o build. Em seguida, a tarefa de build cria um único arquivo de relatório de resumo. Esse 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 qual nível de problema relatar, como erros somente ou erros e avisos.

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

Com a tarefa de build pós-análise, você pode injetar uma interrupção de build que, propositalmente, faz com que um build falhe. Você injeta uma interrupção na build se pelo menos uma ferramenta de análise relatar problemas no código.

Você pode configurar essa tarefa para interromper o build para problemas encontrados por ferramentas específicas ou todas as ferramentas. Você também pode configurá-lo com base na gravidade dos problemas encontrados, como erros ou avisos.

Observação

Por design, cada tarefa de build terá êxito se a tarefa for concluída com êxito. Isso é verdade independentemente de uma ferramenta encontrar problemas ou não, para que a compilação possa ser executada até a conclusão, permitindo que todas as ferramentas sejam executadas.

Próximas etapas

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 build, consulte nosso guia de configuração ou guia de configuração do YAML.

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