Como mitigar ataques a code agents na AWS

(ex.: “Rules File Backdoor”, que afeta Copilot/Cursor)

Ferramentas de geração assistida de código — Copilot, Cursor, Amazon Q, agentes LLM customizados, etc. — aumentam a produtividade, mas introduzem uma nova superfície de ataque: o próprio agente pode ser “conduzido” para inserir backdoors ou executar comandos indesejados. Em março de 2025, pesquisadores mostraram o Rules File Backdoor: bastou um arquivo “.rules” (com caracteres Unicode invisíveis) no repositório para induzir Copilot/Cursor a gerar código malicioso e, em certos IDEs, até executá-lo automaticamente.

E aqui segue algumas boas práticas para evitar isso na AWS, com o objetivo de prevenir, detectar e responder a esse tipo de ataque dentro da AWS.


1 • Verificando as camadas

Ação Como fazer na AWS
Assinatura de commits & revisão obrigatória • Ative regras de branch protection no CodeCommit ou GitHub.• Exija dois revisores humanos para arquivos “.” (.rules, .vscode, .copilot) e CI/CD.
Varredura de dependências e secrets • Amazon CodeWhisperer security scans • Amazon Inspector (ECR / Lambda) + ferramentas OSS (Trivy, Checkov).
SAST/IAST antes do merge • AWS CodeBuild + CodeGuru Reviewer para detectar APIs inseguras geradas pelo agente.
Regras de CODEOWNERS Atribua proprietários obrigatórios para diretórios contendo configurações de agentes (p. ex. “.copilot/”).

2 • Confinando o agente

  1. Ambiente isolado por conta
    • Use uma Dev Account por exemplo separada na AWS Organizations.
    • Aplique apenas políticas de leitura em repositórios e artifacts, nunca chaves de produção.
  2. IAM sempre aplicando o menor privilégio
    • Crie uma role exclusiva para o agente sem permissão de gravação em S3 críticos, CloudFormation ou IAM.
    • Bloqueie ações sensíveis com Service Control Policies (SCPs). Ex.: negar iam:PutRolePolicy, s3:DeleteBucket.
  3. Network e runtime sandbox
    • Rode o agente/IDE em Cloud9, EC2 ou contêiner Fargate numa sub-rede privada.
    • Permita saída apenas pelos endpoints necessários (Git, CodeArtifact).
    • Use SSM (Systems Manager) Session Manager para acesso auditável, sem portas SSH.

3 • Detectando comportamento malicioso

Sinal Ferramenta
Downloads ou execuções automatizadas de scripts desconhecidos GuardDuty (EC2/Flow Logs) + VPC Traffic Mirroring para Suricata.
Pull-requests contendo código ofuscado/Unicode invisível CodeGuru Reviewer & filtros RegEx no CodeBuild.(Dica: rejeitar se contiver tags invisíveis do bloco Unicode “Tags”).
Surge de chamadas API que alteram infraestrutura CloudTrail + CloudWatch Alarms; integre achados no Security Hub.
Modificações a .rules, .editorconfig, .copilot* Lambda gatilhada por evento do CodeCommit/GitHub Webhook → notifica Slack.

4 • Guardrails de IA

Camada Recurso
Entrada Valide prompts enviados ao agente com Amazon Bedrock Guardrails ou funções Lambda de “lint” que removem comandos perigosos (rm -rf /).
Saída Use a API de Explainability do CodeWhisperer ou CodeGuru para comentar diffs sugeridos e sinalizar inseguranças.
Políticas de execução No CodeCatalyst/CodePipeline, habilite aprob. manual obrigatória quando o build contém código gerado por AI (> xx% das linhas alteradas).

5 • Backups e resiliência contra criptografia de repositórios

  • CodeCommit: ativar CloudWatch Events → snapshot externo (S3 Object Lock + versionamento).
  • EBS / EFS: políticas imutáveis pelo AWS Backup com cópia cruzada de conta.
  • S3 Artifacts: habilitar versão + Object Lock (Governance mode) para impedir sobrescrita.

6 • Resposta rápida

  1. Quarentena automática
    • EventBridge ➜ Lambda ➜ remove role do agente e marca instância EC2 com tag Quarantine=true.
  2. Reversão de código
    • Use git revert automatizado via pipeline; restaure ultima versão de artefato imutável.
  3. Forense
    • Criar snapshot EBS; exportar logs SSM & CloudTrail; analisar rule file malicioso.
  4. Rotação de credenciais
    • Systems Manager ➜ secrets rotation para tokens CI/CD e chaves CodeArtifact.

7 • Checklist rápido

  • AWS Account separada + SCP.
  • Roles específicas para agentes com MFA condição (aws:MultiFactorAuthPresent).
  • Repositórios com branch protection e CODEOWNERS.
  • Pipeline: CodeGuru + Inspector + SAST OSS.
  • GuardDuty & Security Hub habilitados.
  • Backups imutáveis em outra conta/região.
  • Playbook de incidente testado (game day).

Conclusão disso:

Ataques como o “Rules File Backdoor” mostram que o agente de código deve ser tratado como parte da superfície de ataque. A mitigação combina segurança de supply-chain, governança IAM, sandboxing, detecção em tempo real e resposta automatizada. Ao aplicar as camadas acima, você reduz drasticamente a chance de que um agent comprometido alcance seus ambientes AWS ou injete vulnerabilidades silenciosas no seu software.

Read more