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á.
Execute uma varredura de código diferencial com o S3
Execute uma varredura de código diferencial (diff) para analisar somente as linhas alteradas em seu código-fonte, em vez de realizar uma verificação completa do repositório. As varreduras diferenciais são mais rápidas do que as varreduras completas e produzem descobertas direcionadas a alterações de código específicas, tornando-as ideais para validação pré-mesclagem em fluxos de trabalho de desenvolvimento.
Diferentemente da revisão de código baseada em pull request, que é acionada automaticamente por eventos terceirizados do provedor de controle de origem (consulteAnalise as descobertas de segurança do código em pull requests), as varreduras diferenciais são iniciadas programaticamente por meio da API ou do SDK do AWS Security Agent. Você carrega um arquivo diff unificado para o S3 e faz referência a ele ao iniciar um trabalho de revisão de código.
Como funcionam os escaneamentos diferenciais
Uma varredura diferencial analisa suas alterações de código no contexto completo do seu repositório. Quando você cria um recurso de revisão de código com seu código-fonte carregado no S3, a verificação diferencial usa o repositório completo como contexto enquanto concentra as descobertas especificamente nas linhas alteradas em seu diff. Isso permite que a verificação identifique problemas de segurança decorrentes da forma como suas alterações interagem com o código existente, como fluxos de autenticação interrompidos, tratamento inseguro de dados entre módulos ou alterações que expõem vulnerabilidades existentes.
O processo de digitalização:. Você carrega um arquivo diff unificado (a saída degit diff) em um bucket do S3 conectado ao seu Agent Space. Você chama a StartCodeReviewJob API com um diffSource parâmetro apontando para a localização do seu diff no S3. O AWS Security Agent analisa somente o código alterado no diff para verificar as vulnerabilidades de segurança e a conformidade com os requisitos de segurança da sua organização. As descobertas têm como escopo as linhas alteradas, com classificações de severidade, localizações de códigos e orientações de remediação.
Pré-requisitos
Antes de começar, verifique se você tem:
-
Um espaço do agente com a revisão de código ativada (consulteAtivar revisão de código)
-
Um recurso de revisão de código já criado para o repositório de destino, com o código-fonte completo carregado no bucket do S3 conectado ao seu Agent Space. O repositório completo fornece um contexto que permite uma análise mais profunda de como suas alterações interagem com o código existente. Consulte Crie uma revisão de código para obter instruções sobre como criar uma revisão de código e fazer o upload do código-fonte.
-
Um bucket S3 conectado ao seu Agent Space
-
Permissões do IAM para fazer upload para o bucket do S3 e chamar
securityagent:StartCodeReviewJob -
Um arquivo diff unificado gerado a partir de suas alterações de código (por exemplo, a saída de
git diff main..feature-branch)
dica
Para obter resultados mais precisos, certifique-se de que seu recurso de revisão de código tenha a versão mais recente do código-fonte completo enviada para o S3. O diff scan usa esse repositório completo como contexto para entender a arquitetura do aplicativo, os fluxos de dados e os controles de segurança existentes ao analisar as linhas alteradas.
Etapa 1: gerar um arquivo diff
Gere uma comparação unificada que represente as alterações de código que você deseja verificar.
git diff main..feature-branch > changes.diff
Como alternativa, gere uma diferença para mudanças em etapas:
git diff --cached > changes.diff
dica
O arquivo diff deve estar no formato diff unificado padrão. O AWS Security Agent analisa os caminhos do arquivo e as linhas alteradas dos cabeçalhos diff para definir o escopo de sua análise.
Etapa 2: faça o upload do diff para o S3
Faça upload do arquivo diff em um bucket do S3 conectado ao seu Espaço do Agente.
aws s3 cp changes.diff s3://my-security-agent-bucket/diffs/changes.diff
Importante
O bucket do S3 deve ser um que já esteja conectado ao seu Espaço do Agente. A função de serviço do IAM associada ao seu espaço do agente deve ter acesso de leitura a esse local. Consulte Ativar revisão de código para obter instruções sobre como conectar buckets S3.
Etapa 3: iniciar um trabalho de revisão de código diferencial
Chame a StartCodeReviewJob API com o diffSource parâmetro para iniciar uma verificação diferencial.
Usar o AWS CLI
aws securityagent start-code-review-job \
--agent-space-id "your-agent-space-id" \
--code-review-id "your-code-review-id" \
--diff-source '{"s3Uri": "s3://my-security-agent-bucket/diffs/changes.diff"}'
Usando o AWS SDK (Python)
import boto3 client = boto3.client('securityagent') response = client.start_code_review_job( agentSpaceId='your-agent-space-id', codeReviewId='your-code-review-id', diffSource={ 's3Uri': 's3://my-security-agent-bucket/diffs/changes.diff' } ) print(f"Job started: {response['codeReviewJobId']}")
Usando o AWS SDK () JavaScript/TypeScript
import { SecurityAgentClient, StartCodeReviewJobCommand } from '@aws-sdk/client-securityagent'; const client = new SecurityAgentClient({ region: 'us-east-1' }); const response = await client.send(new StartCodeReviewJobCommand({ agentSpaceId: 'your-agent-space-id', codeReviewId: 'your-code-review-id', diffSource: { s3Uri: 's3://my-security-agent-bucket/diffs/changes.diff', }, })); console.log(`Job started: ${response.codeReviewJobId}`);
A API retorna imediatamente com um codeReviewJobId e status deIN_PROGRESS.
Etapa 4: monitorar a digitalização
Pesquise o status do trabalho de revisão de código até que ele seja concluído.
aws securityagent get-code-review-job \ --agent-space-id "your-agent-space-id" \ --code-review-id "your-code-review-id" \ --code-review-job-id "the-job-id"
O trabalho avança nas mesmas fases de uma revisão completa do código: Preflight → Análise estática → Finalização. As varreduras diferenciais geralmente são concluídas mais rapidamente do que as varreduras completas porque analisam menos linhas de código.
Etapa 5: Analisar as descobertas
Depois que o trabalho for concluído, liste as descobertas do trabalho de revisão de código.
aws securityagent list-findings \ --agent-space-id "your-agent-space-id" \ --code-review-id "your-code-review-id" \ --code-review-job-id "the-job-id"
Cada descoberta inclui:
-
Uma descrição do problema de segurança
-
O nível de severidade (crítico, alto, médio ou baixo)
-
Localizações de código referenciando linhas específicas no diff
-
Raciocínio de risco explicando o impacto potencial
-
Orientação de remediação
Para obter mais informações sobre como entender e agir de acordo com as descobertas, consulteAnalise os resultados de uma revisão de código.
Cotas e limites
-
Número máximo de arquivos alterados em um diff: 3.000 arquivos ou 5 MB de tamanho total de diff
-
As descobertas são limitadas a 30 por varredura, priorizadas por gravidade (Crítica > Alta > Média > Baixa)
Próximas etapas
Depois de executar uma verificação diferencial:
-
Analise as descobertas e aplique a orientação de remediação (consulteAnalise os resultados de uma revisão de código)
-
Ative os comentários do pull request para a revisão automática do código em cada pull request (consulteHabilitar revisão de código de pull request para GitHub repositórios)
-
Faça uma revisão completa do código periodicamente para detectar problemas fora das alterações individuais (consulteCrie uma revisão de código)
-
Use a integração do IDE para executar varreduras diferenciais diretamente do seu ambiente de desenvolvimento (consulte) Execute escaneamentos de segurança de código a partir do seu IDE