Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
A partir de 31 de dezembro de 2022, a extensão Microsoft Security Code Analysis (MSCA) será desativada. MSCA é substituído pelo Microsoft Security DevOps Azure DevOps extensão. Siga as instruções em Configurar para instalar e configurar a extensão.
Este artigo descreve em detalhes as opções de configuração disponíveis em cada uma das tarefas de compilação. O artigo começa com as tarefas para ferramentas de análise de código de segurança. Termina com as tarefas de pós-processamento.
Tarefa do Anti-Malware Scanner
Observação
A tarefa de compilação do Anti-Malware Scanner requer um agente de compilação com o Windows Defender habilitado. Visual Studio 2017 e versões posteriores fornecem esse agente. A tarefa de compilação não será executada no agente hospedado do Visual Studio 2015.
Embora as assinaturas não possam ser atualizadas nesses agentes, as assinaturas devem ter sempre 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 caixa de listagem Tipo da captura de tela, Básico está selecionado. Selecione Personalizado para fornecer argumentos de linha de comando que configuram a análise.
O Windows Defender usa o cliente Windows Update para baixar e instalar assinaturas. Se a atualização de assinatura falhar no seu agente de compilação, o código de erro HRESULT provavelmente está vindo do Windows Update.
Para obter mais informações sobre erros do Windows Update e sua atenuação, consulte Códigos de erro do Windows Update por componente e o artigo do TechNet Windows Update Agent - Error Codes.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções de YAML Antimalware
Tarefa BinSkim
Observação
Antes de executar a tarefa BinSkim, a sua build deve atender a uma destas condições:
- Sua compilação produz artefatos binários a partir de código gerenciado.
- Você tem artefatos binários comprometidos 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 compilação como Debug para que os arquivos de depuração .pdb sejam produzidos. BinSkim usa esses arquivos para mapear problemas nos binários de saída de volta para o código-fonte.
- Para evitar pesquisar e criar sua própria linha de comando:
- Na lista Tipo , selecione Básico.
- Na lista Função , selecione Analisar.
- Em Destino, insira um ou mais especificadores para um arquivo, diretório ou padrão de filtro. Estes especificadores resolvem para um ou mais binários a serem analisados:
- Vários alvos especificados devem ser separados por um ponto-e-vírgula (;).
- Um especificador pode ser um único arquivo ou conter curingas.
- As especificações do diretório devem sempre terminar com o caractere \*.
- Exemplos:
*.dll;*.exe
$(BUILD_STAGINGDIRECTORY)\*
$(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
- Se você selecionar Linha de comando na lista Tipo , precisará executar binskim.exe:
- Certifique-se de que os primeiros argumentos a binskim.exe são o verbo analisar seguido por uma ou mais especificações de caminho. 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 para o destino.
Para obter mais informações sobre argumentos de linha de comando BinSkim, regras por ID ou códigos de saída, consulte o Guia do Usuário BinSkim.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções BinSkim YAML
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 para exibição: nome da tarefa DevOps do Azure. O valor padrão é Run Credential Scanner
- Versão principal da ferramenta: Os valores disponíveis incluem CredScan V2, CredScan V1. Recomendamos que os clientes usem a versão 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 a Analisar: A pasta do repositório a ser verificada.
- Tipo de ficheiro de pesquisadores: As opções para localizar o ficheiro de pesquisadores que é usado para fazer a varredura.
- 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 Credential Scanner. O valor padrão é 20. Os valores possíveis variam de 1 a 2.147.483.647.
- Tempo limite de correspondência: a quantidade de tempo, em segundos, para tentar uma correspondência do sistema de busca, antes de abandonar a verificação.
- Tamanho do buffer de leitura da varredura de arquivos: o tamanho em bytes do buffer usado enquanto o conteúdo é lido. O valor padrão é 524.288.
- Máximo de bytes de leitura na análise de ficheiros: o número máximo de bytes a serem lidos de um ficheiro durante a análise de conteúdo. O valor padrão é 104.857.600.
- Opções> de controloExecutar 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 compilação no Azure DevOps. Esta 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 do Credential Scanner YAML
Tarefa dos Analisadores Roslyn
Observação
Antes de poder executar a análise Roslyn Analyzers, a sua compilação precisa atender a estas condições:
- Sua definição de compilação inclui a tarefa de compilação interna MSBuild ou VSBuild para compilar código C# ou Visual Basic. A tarefa dos analisadores baseia-se na entrada e saída da tarefa incorporada para executar a compilação do MSBuild com os analisadores Roslyn habilitados.
- O agente de compilação que executa essa tarefa de compilação 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 nota 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 personalizadas.
- Versão dos analisadores: Recomendamos que selecione Mais recente.
- Arquivo de supressão de avisos do compilador: um arquivo de texto com uma lista de IDs de avisos que são suprimidos.
- Opções> de controloExecutar esta tarefa: especifica quando a tarefa será executada. Escolha Condições personalizadas para especificar condições mais complexas.
Observação
Roslyn Analyzers são integrados com o compilador e podem ser executados apenas como parte de csc.exe compilação. Portanto, essa tarefa requer que o comando do compilador executado anteriormente na compilação seja repetido ou executado novamente. Essa repetição ou execução é feita consultando o Azure DevOps (anteriormente Visual Studio Team Services) para os logs de tarefas de compilação do MSBuild.
Não há outra maneira para a tarefa obter de forma 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-data em sincronia com a compilação principal.
Compilações personalizadas exigem a reprodução de todo o conjunto de comandos, não apenas comandos do compilador. Nesses casos, habilitar o Roslyn Analyzers não é trivial ou confiável.
Roslyn Analyzers são integrados com o compilador. Para serem invocados, os Roslyn Analyzers requerem compilação.
Essa nova tarefa de compilação é implementada recompilando projetos C# que já foram construídos. A nova tarefa usa apenas as tarefas de compilação MSBuild e VSBuild na mesma compilação ou definição de compilação como a tarefa original. No entanto, neste caso, a nova tarefa usa-os com Roslyn Analyzers ativado.
Se a nova tarefa for executada no mesmo agente que a tarefa original, o resultado da nova tarefa substituirá o resultado da tarefa original na pasta de fontes. Embora a saída de compilação seja a mesma, recomendamos que você execute o MSBuild, copie a saída para o diretório de preparo de artefatos e execute o Roslyn Analyzers.
Para obter recursos adicionais para a tarefa Roslyn Analyzers, revise os analisadores baseados em Roslyn.
Você pode encontrar o pacote do analisador instalado e usado por esta tarefa de compilação na página do NuGet Microsoft.CodeAnalysis.FxCopAnalyzers.
Para obter informações sobre a configuração do YAML para esta tarefa, verifique nossas opções de YAML do Roslyn Analyzers
Tarefa TSLint
Para obter mais informações sobre o TSLint, vá para o repositório TSLint GitHub.
Observação
Como você deve saber, a página inicial 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 TSLint YAML
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 sua seleção, você pode publicar logs no Servidor de DevOps do Azure ou em um arquivo compartilhado acessível ao agente de compilação.
- 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, verifique nossas opções Publicar logs de segurança do YAML
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 um dos seguintes formatos: Console de Pipeline, Ficheiro TSV e Ficheiro HTML. Um arquivo de relatório é criado para cada formato selecionado.
- Ferramentas: Selecione as ferramentas em sua definição de compilação para as quais você deseja um resumo dos problemas detetados. Para cada ferramenta selecionada, pode haver uma opção para selecionar se você vê apenas erros ou se 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 de Logs de Base: Você pode personalizar a pasta de logs base onde os logs devem ser encontrados. Mas esta opção normalmente não é usada.
Para obter informações sobre a configuração do YAML para esta tarefa, consulte as opções do YAML do relatório de segurança
Tarefa pós-análise
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 compilação para as quais você deseja injetar condicionalmente uma quebra de compilação. Para cada ferramenta selecionada, pode haver uma opção para selecionar se você deseja interromper apenas os erros ou os erros e avisos.
- Relatório: opcionalmente, você pode escrever os resultados que estão causando a quebra de compilação. 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 do YAML para esta tarefa, verifique nossas opções de YAML pós-análise
Próximos passos
Para obter informações sobre a configuração baseada em YAML, consulte nosso guia de configuração YAML.
Se você tiver mais dúvidas sobre a extensão Análise de Código de Segurança e as ferramentas oferecidas, confira nossa página de perguntas frequentes.