View a markdown version of this page

Analise as descobertas de segurança do código em pull requests - Agente de segurança da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Analise as descobertas de segurança do código em pull requests

Depois de ativar a revisão de código para pull requests para seus repositórios, o AWS Security Agent analisa automaticamente os pull requests e publica as descobertas de segurança diretamente no seu provedor de controle de origem. Isso permite que os desenvolvedores resolvam problemas de segurança em seu fluxo de trabalho normal sem sair da pull request.

nota

Esta página se aplica a GitHub pull requests, GitLab merge requests e pull requests do Bitbucket. A experiência é semelhante em todos os fornecedores.

Como a revisão de código funciona em pull requests

Quando você envia uma pull request (ou uma solicitação de mesclagem em GitLab) em um repositório com a revisão de código ativada, o AWS Security Agent inicia automaticamente a análise.

  1. Acionador de análise de pull request - A revisão de código é acionada quando uma pull request é marcada como “Pronto para revisão” nos repositórios em que você habilitou o recurso de revisão de código. Os rascunhos de pull requests não são analisados.

  2. Confirmação da análise — Quando o AWS Security Agent começa a analisar sua pull request, ele publica um comentário inicial: “O AWS Security Agent está analisando seu código...” Isso permite que você saiba que a análise começou e está em andamento.

  3. Conclusão da revisão — Após a conclusão da análise, o AWS Security Agent publica uma análise em sua pull request com os resultados. Todas as descobertas de segurança são agrupadas em uma única análise para manter sua pull request organizada e minimizar as notificações.

Entendendo os resultados da revisão de código

O AWS Security Agent fornece diferentes tipos de resultados, dependendo do que ele encontra durante a análise.

Quando problemas de segurança são encontrados

Se o AWS Security Agent identificar problemas de segurança em suas alterações de código, ele publicará uma análise que inclui:

  • Resumo - Uma visão geral de alto nível de todas as descobertas de segurança, descrevendo os tipos de problemas identificados e seu impacto potencial

  • Descobertas individuais - As descobertas de segurança detalhadas aparecem como comentários agrupados na análise principal, com cada descoberta incluindo:

    • Descrição do problema de segurança

    • Local em seu código em que o problema foi encontrado

    • Orientação de remediação explicando como resolver o problema

    • Contexto relevante com base em suas configurações de revisão de código (violações de requisitos de segurança, vulnerabilidades comuns ou ambas)

nota

Os tipos de problemas de segurança analisados dependem das suas configurações de revisão de código. Se você configurou a validação dos requisitos de segurança, as descobertas farão referência aos requisitos de segurança personalizados da sua organização. Se você configurou as descobertas de vulnerabilidades de segurança, as descobertas identificarão vulnerabilidades de segurança comuns. Para obter mais informações sobre as configurações de revisão de código, consulteHabilitar revisão de código de pull request para GitHub repositórios.

Quando nenhum problema de segurança é encontrado

Se o AWS Security Agent concluir a análise e não encontrar problemas de segurança em suas alterações de código, ele publicará um comentário: “Nenhum problema identificado”. Isso confirma que a revisão foi concluída com êxito e que suas alterações no código não acionaram nenhuma descoberta de segurança com base nas configurações de revisão de código definidas.

Respondendo às descobertas de segurança

Depois de analisar as descobertas de segurança publicadas pelo AWS Security Agent, você pode agir diretamente no seu provedor de controle de origem.

  • Resolva as descobertas - atualize seu código com base na orientação de remediação fornecida nas descobertas e, em seguida, envie novos commits para a pull request. O AWS Security Agent analisará o código atualizado.

  • Resolver conversas - Depois de abordar uma constatação de segurança, marque a conversa como resolvida para acompanhar seu progresso.

dica

Cada descoberta inclui orientações de remediação específicas adaptadas ao problema de segurança identificado. Revise esta orientação cuidadosamente para entender o risco de segurança e como lidar com ele de forma eficaz.

Filtrando os resultados da revisão de código

Você pode personalizar a forma como o AWS Security Agent analisa seu código adicionando um filtering.md arquivo ao seu repositório. Esse arquivo permite reduzir os falsos positivos fornecendo contexto sobre sua base de código e excluindo arquivos ou pastas da análise.

Criando o arquivo de filtragem

Crie um arquivo nomeado filtering.md no .awssecurityagent diretório na raiz do seu repositório:

.awssecurityagent/filtering.md

O AWS Security Agent lê esse arquivo da ramificação principal do seu repositório (por exemplo, main oumainline) ao analisar pull requests.

Estrutura do arquivo

O filtering.md arquivo usa a formatação Markdown padrão com seções específicas que o AWS Security Agent reconhece. O arquivo deve incluir um Code Review título seguido por uma ou ambas as seções a seguir: IgnorePatterns e ContextHints (sem espaço).

O exemplo a seguir mostra a estrutura completa de um filtering.md arquivo:

# filtering.md

## Code Review

### IgnorePatterns

**/*.md

/myapp/src/**/*.snap

/myapp/config/README

### ContextHints

- The backend is a trusted system and won't return non-standard protocols.
- URL is generated from server with presigned token, so no SSRF security vulnerabilities.
- AppSec has verified that we are allowed to use cache with an eviction policy.

Ignore padrões

A IgnorePatterns seção especifica arquivos e pastas que o AWS Security Agent deve ignorar durante a revisão do código. Use glob patterns para definir quais caminhos excluir da análise.

Requisitos de formato:

  • Cada padrão deve estar em sua própria linha.

  • Separe cada padrão com uma linha vazia entre eles. Isso garante que o arquivo seja renderizado corretamente quando visualizado em nossas ferramentas GitHub de revisão de código.

  • Os padrões seguem o formato global padrão. Por exemplo, **/*.md corresponde a todos os arquivos markdown e /myapp/src/**/*.snap corresponde a todos os .snap arquivos dentro da /myapp/src/ pasta na raiz.

  • Nesta seção, oferecemos suporte a até 1000 padrões de ignoração.

Dicas de contexto

A ContextHints seção fornece contexto adicional sobre sua base de código que ajuda o AWS Security Agent a fazer avaliações mais precisas. Use dicas de contexto para explicar decisões de arquitetura, exceções de segurança ou outras informações que possam afetar a forma como as descobertas são interpretadas.

Requisitos de formato:

  • Cada dica deve começar com um traço (-) seguido por um espaço.

  • Escreva cada dica como uma única linha de texto de formato livre limitada a 500 caracteres.

  • Cada dica deve descrever um contexto específico sobre sua base de código.

  • Oferecemos suporte para até 20 dicas de contexto nesta seção.

As dicas de contexto são aplicadas depois que o AWS Security Agent conclui sua análise inicial, ajudando a filtrar descobertas que não se aplicam ao seu caso de uso específico.

Próximas etapas

Depois de analisar as descobertas de segurança do código:

  • Atualize seu código com base na orientação de remediação

  • Envie novos commits para acionar uma reanálise de suas alterações

  • Ajuste as configurações de revisão de código, se necessário (consulteHabilitar revisão de código de pull request para GitHub repositórios)

  • Analise os requisitos de segurança da sua organização para entender os critérios de validação

  • Considere o teste de penetração para uma validação abrangente da segurança dos aplicativos implantados