Sobre a Análise de código de segurança 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ínuas) do Azure DevOps. Essa análise é recomendada pelos especialistas do SDL (ciclo de vida de desenvolvimento seguro) da Microsoft.

Uma UX 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 de ferramentas. Com as interfaces básica e de linha de comando para tarefas de compilação, todos os usuários podem ter o máximo de controle sobre as ferramentas que desejarem.

As equipes também podem usar poderosos recursos de pré-processamento, como:

  • Publicação de logs para retenção.
  • Geração de relatórios acionáveis, focados no desenvolvedor.
  • Configuração de 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 pipeline 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 Azure DevOps e produzem logs que detalham muitos tipos de resultados.

Limpar compilações

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

Defini-lo e esquecê-lo

Por padrão, as tarefas e as ferramentas de compilação permanecem 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ê.

Nos bastidores

As tarefas de compilação 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 a compilação.

Conjunto de ferramentas de Análise do código de segurança da Microsoft

A extensão Análise de código de segurança da Microsoft torna as versões mais recentes de ferramentas de análise importantes disponíveis para você. A extensão inclui ferramentas gerenciadas pela Microsoft e ferramentas de código-fonte 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 disponíveis atualmente na extensão. Assista à adição de mais ferramentas. Além disso, envie-nos suas sugestões para as ferramentas que você deseja adicionar.

Verificador antimalware

A tarefa de compilação do Verificador antimalware agora está incluída na extensão Análise de código de segurança da Microsoft. 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

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

Verificador de credenciais

As senhas e outros segredos armazenados no código-fonte são um problema significativo. O verificador de credenciais é uma ferramenta de análise estática proprietária 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 da compilação.

Analisadores Roslyn

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

TSLint

TSLint é uma ferramenta de análise estática extensível que verifica o código TypeScript para facilitar a leitura, a manutenção e os erros na funcionalidade. É amplamente compatível com editores modernos e sistemas de compilação. Você pode personalizá-lo com suas próprias regras de lint, configurações e formatadores. TSLint é uma ferramenta de código aberto. Para saber mais, consulte o 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 pré-processamento. Essas tarefas ajudam a analisar os resultados encontrados pelas tarefas de 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 Publicar logs de análise de segurança preserva os arquivos de log das ferramentas de segurança executadas durante a compilação. Você pode ler esses logs para investigação e acompanhamento.

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

Relatório de Segurança

A tarefa de compilação de relatório de segurança analisa os arquivos de log. Esses arquivos são criados pelas ferramentas de segurança executadas durante a compilação. Em seguida, a tarefa de compilação 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 o nível de problema a ser relatado, como somente erros ou erros e avisos.

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

Com a tarefa de compilação após a análise, você pode injetar uma quebra de compilação que faz com que uma compilação falhe. Você injetará uma quebra de compilação se uma ou mais ferramentas de análise relatarem problemas no código.

Você pode configurar essa tarefa para interromper a compilação em busca de problemas encontrados 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 design, cada tarefa de compilação é bem-sucedida se a tarefa for concluída com êxito. Isso é verdadeiro se uma ferramenta encontra ou não problemas, 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 carregar 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 o 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.