Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Este artigo descreve detalhadamente as opções de configuração disponíveis em cada uma das tarefas de build. O artigo começa pelas tarefas das ferramentas de análise de código de segurança. E termina com as tarefas de pós-processamento.
Tarefa de scanner antimalware
Observação
A tarefa de compilação do Verificador Antimalware requer um agente de build com o Windows Defender habilitado. As versões hospedadas do Visual Studio 2017 e posteriores fornecem esse agente. A tarefa de build não será executada no agente hospedado do Visual Studio 2015.
Embora as assinaturas não possam ser atualizadas nesses agentes, as assinaturas sempre devem ter menos de três horas.
Os detalhes da configuração da tarefa são mostrados na captura de tela e no texto a seguir.
Na lista Tipo da captura de tela, Básico está selecionado. Selecione Personalizado para fornecer argumentos de linha de comando que personalizem o escaneamento.
O Windows Defender usa o cliente windows update para baixar e instalar assinaturas. Se a atualização de assinatura falhar no agente de build, o código de erro HRESULT provavelmente virá do Windows Update.
Para obter mais informações sobre erros do Windows Update e sua mitigação, consulte códigos de erro do Windows Update por componente e o artigo do TechNet Windows Update Agent – Códigos de erro.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções de YAML antimalware
Tarefa do BinSkim
Observação
Antes de executar a tarefa BinSkim, seu build deve atender a uma destas condições:
- A sua compilação gera artefatos binários a partir de código gerenciado.
- Você tem artefatos binários confirmados que deseja analisar com BinSkim.
Os detalhes da configuração da tarefa são mostrados na captura de tela e na lista a seguir.
- Defina a configuração de build como Depurar, de forma que os arquivos de depuração .pdb sejam produzidos. BinSkim usa esses arquivos para mapear problemas nos binários de saída de volta ao código-fonte.
- Para evitar pesquisar e criar sua própria linha de comando:
- Na lista Tipo , selecione Básico.
- Na lista de funções , selecione Analisar.
- No Destino, insira um ou mais especificadores para um arquivo, diretório ou padrão de filtro. Esses especificadores levam a um ou mais binários a serem analisados:
- Vários destinos especificados devem ser separados por um ponto-e-vírgula (;).
- Um especificador pode ser um único arquivo ou conter curingas.
- As especificações de diretório sempre devem terminar com \*.
- Exemplos:
*.dll;*.exe
$(BUILD_STAGINGDIRECTORY)\*
$(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
- Se você selecionar Linha de Comando na lista Tipo, será necessário executar binskim.exe:
- Verifique se os primeiros argumentos para binskim.exe são o verbo analyze, seguido por uma ou mais especificações de caminhos. Cada caminho pode ser um caminho completo ou um caminho relativo ao diretório de origem.
- Vários caminhos de destino devem ser separados por um espaço.
- Você pode omitir a opção /o ou /output . O valor de saída é adicionado para você ou substituído.
- As configurações de linha de comando padrão são mostradas da seguinte maneira.
analyze $(Build.StagingDirectory)\* --recurse --verbose
analyze *.dll *.exe --recurse --verbose
Observação
O \* à direita é importante se você especificar diretórios como destino.
Para obter mais informações sobre argumentos de linha de comando do BinSkim, regras por ID ou códigos de saída, consulte o Guia do Usuário do BinSkim.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções de YAML do BinSkim
Tarefa do verificador de credenciais
Os detalhes da configuração da tarefa são mostrados na captura de tela e na lista a seguir.
As opções disponíveis incluem:
- Nome de Exibição: Nome da Tarefa do Azure DevOps. O valor padrão é Executar Verificador de Credenciais
- Versão Principal da Ferramenta: os valores disponíveis incluem CredScan V2, CredScan V1. Recomendamos que os clientes usem a versão do CredScan V2 .
- Formato de saída: os valores disponíveis incluem TSV, CSV, SARIF e PREfast.
- Versão da ferramenta: recomendamos que você selecione Mais Recente.
- Pasta de Escaneamento: a pasta do repositório a ser escaneada.
- Tipo de Arquivo de Localizadores: as opções para localizar o arquivo de localizadores que é usado para escaneamento.
- Arquivo de supressões: um arquivo JSON pode suprimir problemas no log de saída. Para obter mais informações sobre cenários de supressão, consulte a seção perguntas frequentes deste artigo.
- Saída detalhada: autoexplicativa.
- Tamanho do Lote: o número de threads simultâneos usados para executar o Verificador de Credenciais. O valor padrão é 20. Os valores possíveis variam de 1 a 2.147.483.647.
- Tempo limite de correspondência de pesquisa: o tempo em segundos para tentar uma correspondência antes de desistir da verificação.
- Tamanho do Buffer de Leitura de Arquivos: o tamanho em bytes do buffer usado durante a leitura do conteúdo. O valor padrão é 524.288.
- Número máximo de bytes de leitura na verificação de arquivo: o número máximo de bytes a serem lidos de um arquivo durante a análise de conteúdo. O valor padrão é 104.857.600.
- Opções> de controleExecute esta tarefa: especifica quando a tarefa será executada. Selecione condições personalizadas para especificar condições mais complexas.
- Versão: a versão da tarefa de build no Azure DevOps. Essa opção não é usada com frequência.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções yaml do verificador de credenciais
Tarefa dos Analisadores Roslyn
Observação
Antes de executar a tarefa Roslyn Analisadores, sua build precisa atender a estes critérios:
- Sua definição de build inclui a tarefa de build interna do MSBuild ou do VSBuild para compilar código C# ou Visual Basic. A tarefa dos analisadores depende nas entradas e saídas da tarefa interna para executar a compilação do MSBuild com os analisadores Roslyn ativados.
- O agente de build que executa essa tarefa de build tem o Visual Studio 2017 versão 15.5 ou posterior instalado, para que ele use o compilador versão 2.6 ou posterior.
Os detalhes da configuração da tarefa são mostrados na lista e na observação a seguir.
As opções disponíveis incluem:
- Conjunto de regras: os valores são SDL Obrigatório, SDL Recomendado, ou seu próprio conjunto de regras personalizado.
- Versão dos analisadores: recomendamos que você selecione Mais Recente.
- Arquivo de supressões de avisos do compilador: um arquivo de texto com uma lista de IDs de avisos suprimidas.
- Opções> de controleExecute esta tarefa: especifica quando a tarefa será executada. Escolha condições personalizadas para especificar condições mais complexas.
Observação
Os Analisadores Roslyn são integrados ao compilador e só podem ser executados como parte da compilação csc.exe. Portanto, essa tarefa requer que o comando do compilador executado anteriormente no build seja reproduzido ou executado novamente. Essa reprodução ou execução é feita consultando o Azure DevOps (antigo Visual Studio Team Services) para os logs de tarefas de build do MSBuild.
Não há outra maneira de a tarefa obter de modo confiável a linha de comando de compilação do MSBuild a partir da definição de compilação. Consideramos adicionar uma caixa de texto de forma livre para permitir que os usuários insiram suas linhas de comando. Mas então seria difícil manter essas linhas de comando up-to-date e em sincronia com o build principal.
Builds personalizados exigem a reprodução de todo o conjunto de comandos, não apenas comandos do compilador. Nesses casos, habilitar analisadores Roslyn não é trivial ou confiável.
Os Analisadores Roslyn são integrados ao compilador. Para ser invocado, os Analisadores Roslyn exigem compilação.
Essa nova tarefa de build é implementada recompilando projetos em C# que já foram criados. A nova tarefa usa apenas as tarefas de build do MSBuild e do VSBuild na mesma definição ou processo de build que a tarefa original. No entanto, nesse caso, a nova tarefa as usa com analisadores Roslyn habilitados.
Se a nova tarefa for executada no mesmo agente que a tarefa original, a saída da nova tarefa substituirá a saída da tarefa original na pasta de fontes . Embora a saída de build seja a mesma, aconselhamos que você execute o MSBuild, copie a saída para o diretório de preparo de artefatos e execute os Analisadores Roslyn.
Para obter recursos adicionais sobre os Analisadores Roslyn, examine os analisadores baseados em Roslyn.
Você pode encontrar o pacote do analisador instalado e usado por essa tarefa de build na página NuGet Microsoft.CodeAnalysis.FxCopAnalyzers.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções yaml de analisadores Roslyn
Tarefa do TSLint
Para obter mais informações sobre o TSLint, acesse o repositório do GitHub do TSLint.
Observação
Como você deve estar ciente, a home page do repositório TSLint GitHub diz que o TSLint será preterido em algum momento de 2019. A Microsoft está investigando o ESLint como uma tarefa alternativa.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções de YAML TSLint
Tarefa Publicar Logs de Análise de Segurança
Os detalhes da configuração da tarefa são mostrados na captura de tela e na lista a seguir.
- Nome do artefato: qualquer identificador de cadeia de caracteres.
- Tipo de artefato: dependendo da seleção, você pode publicar logs no servidor do Azure DevOps ou em um arquivo compartilhado acessível ao agente de build.
- Ferramentas: você pode optar por preservar logs para ferramentas específicas ou selecionar Todas as Ferramentas para preservar todos os logs.
Para obter informações sobre a configuração do YAML para esta tarefa, consulte nossas Opções de YAML de logs de segurança de publicação
Tarefa relatório de segurança
Os detalhes da configuração do Relatório de Segurança são mostrados na captura de tela e na lista a seguir.
- Relatórios: selecione qualquer um dos formatos Console de Pipeline, Arquivo TSV e Arquivo HTML. Um arquivo de relatório é criado para cada formato selecionado.
- Ferramentas: selecione as ferramentas em sua definição de build para a qual você deseja obter um resumo dos problemas detectados. Para cada ferramenta selecionada, pode haver uma opção para selecionar se você vê erros apenas ou vê erros e avisos no relatório de resumo.
- Opções Avançadas: se não houver logs para uma das ferramentas selecionadas, você pode optar por registrar um aviso ou um erro. Se você registrar um erro, a tarefa falhará.
- Pasta Base de Logs: você pode personalizar a pasta base onde os logs devem ser encontrados. Mas essa opção normalmente não é usada.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções yaml de relatório de segurança
Tarefa de análise posterior
Os detalhes da configuração da tarefa são mostrados na captura de tela e na lista a seguir.
- Ferramentas: selecione as ferramentas em sua definição de build para as quais você deseja condicionalmente injetar uma quebra de build. Para cada ferramenta selecionada, pode haver uma opção para selecionar se você deseja interromper somente erros ou em erros e avisos.
- Relatório: Opcionalmente, você pode registrar os resultados que estão causando a falha na build. Os resultados são gravados na janela do console do Azure DevOps e no arquivo de log.
- Opções Avançadas: se não houver logs para uma das ferramentas selecionadas, você pode optar por registrar um aviso ou um erro. Se você registrar um erro, a tarefa falhará.
Para obter informações sobre a configuração YAML para esta tarefa, consulte nossas opções YAML de Post Analysis
Próximas etapas
Para obter informações sobre a configuração baseada em YAML, consulte nosso guia de configuração do YAML.
Se você tiver mais dúvidas sobre a extensão Code Analysis de segurança e as ferramentas oferecidas, confira nossa página de perguntas frequentes.