Ir para o conteúdo principal
ArchPrompts
Voltar ao blog
Caderno técnico / Nota de campo

Radar Tech: o PR que a IA aprovou (e a IA que o derrubou) — patch co-gerado por Copilot reintroduz injeção em CI/CD

Um PR co-gerado por GitHub Copilot Autofix trocou um padrão seguro de CI/CD por interpolação insegura, passou por GitHub Advanced Security e por um gate degenerado — e o Wiz Red Agent explorou tudo sozinho em 5 dias. O resumo do caso e a lição de arquitetura.

João Gabriel
4 min de leitura
Radar Tech: o PR que a IA aprovou (e a IA que o derrubou) — patch co-gerado por Copilot reintroduz injeção em CI/CD
AP / Prancha visual 01
Leitura principal

Radar Tech: o PR que a IA aprovou (e a IA que o derrubou)

Cadeia real: um patch co-gerado por Copilot reintroduziu uma injeção em CI/CD que passou por scans e foi explorada por um agente autônomo em 5 dias.

Na última janela de 24h, a discussão mais quente de segurança na comunidade foi a divulgação, pela Wiz, de um caso que sintetiza a nova realidade da engenharia de software: agentes de IA escrevendo código, revisores buscando automação, e nem humanos nem scanners estáticos pegaram o bug que um robô de segurança derrubou sozinho.

Em 18 de junho de 2026, um pull request no repositório público snowflakedb/snowflake-connector-net — cujo código-fonte contava com a co-autoria do GitHub Copilot Autofix — foi mesclado. O PR modernizava os workflows de integração com a Jira interna. No caminho, algo aparentemente inofensivo aconteceu: o padrão seguro que usava env: + jq --arg para levar o título de uma issue até um script foi trocado por interpolação direta do título dentro de um run:.

O resultado é a classe de bug mais perigosa do CI moderno: injeção de script via input não-confiável. Qualquer pessoa no GitHub podia abrir uma issue e, no título, esconder um payload que quebrava o shell do runner — com acesso ao token da Jira da empresa.

O que mais passou batido

Três camadas de proteção falharam ao mesmo tempo:

  • GitHub Advanced Security extraiu o workflow vulnerável na última revisão do PR, mas não sinalizou a injeção. Serve de lembretrete: scan estático que "passa" não é prova de segurança.
  • O security gate do workflow comparava github.event.pull_request.user.login — mas um campo que é null em eventos de issue. A condição degenerou em null != 'bot' = sempre verdadeira para qualquer usuário.
  • O escaping com sed rodava depois da expansão dos templates do GitHub Actions, então a proteção era ilusória: a expansão ${{ }} acontece antes de o script chegar ao shell.

O agente que aprendeu com o próprio erro

Foi aí que entrou o Wiz Red Agent: um pesquisador de segurança totalmente autônomo. Cinco dias depois de o bug ficar live, ele abriu uma issue com um título-camada de payload que exfiltrava o token da Jira via um callback out-of-band. Na primeira tentativa, um # usado para "comentar" a linha comeu o fechamento do $(...) e o shell acusou erro de sintaxe. Em vez de parar, o agente analisou o erro, adaptou o payload (; echo ' para fechar o bloco) e completou a exploração em segundos — entregando credenciais da Jira interna (engenharia, segurança e bug bounty da Snowflake) a um listener externo.

A Snowflake foi notificada via HackerOne em 23 de junho, corrigiu no mesmo dia, rotacionou a credencial e confirmou por auditoria que o Wiz foi o único ator na janela de 5 dias. Reconhecimento responsável, execução impecável. Mas o recado ficou.

O que isso significa para arquitetura

Este incidente não é sobre a Wiz nem a Snowflake — é sobre processo. Três verdades de arquitetura de segurança:

  1. Código gerado por IA precisa do mesmo rigor de revisão que código humano — e, dado o histórico, de um pouco mais. A IA reescreve para "simplicidade" e pode descartar, sem saber, a proteção que o padrão original carregava.
  2. Regressão safe→unsafe é a vulnerabilidade invisível. Ela não aparece em um diff de feature chamativo; aparece na substituição de um padrão defensivo por um enxuto. Precisamos de revisores que comparem estado novo vs. estado anterior do arquivo, não só que leiam o diff.
  3. Scans e gates são insumos, não garantias. Quem trata "passou no scan" como "está seguro" está contando com uma aposta perdida. O padrão seguro de gate/parsing (levar o dado por env: e consumir com jq/parsing) precisa virar convenção de review.

Um pack de prompt para conter essa classe de bug

Reunimos tudo isso em um pacote de 5 arquivos: um harness de revisão de segurança para patches gerados por IA, que transforma GPT-4, Claude ou Gemini em um revisor conservador e evidência-driven — capaz de pegar injeção de input em run:, regressão safe→unsafe, gates degenerados e falsos "all clear" dos scanners, entregando um veredito JSON + ADR de decisão prontos para travar o merge no CI. Disponível no catálogo, na categoria Security.

Porque, neste trimestre, o adversário mais rápido não é humano — é outro agente. E o nosso safety layer precisa ser, no mínimo, igualmente rápido.

Radar Tech: o resumo rápido dos tópicos de tecnologia mais comentados nas últimas 24h.

Do conceito à execução

Ferramentas práticas para levar as decisões desta nota ao seu próximo projeto.

12 / selecionados
Cadeia de ataque do incidente Snowflake×Wiz: do PR gerado por IA ao roubo do token Jira via injeção em GitHub Actions.
Segurança
01 / 02

Revisor de Segurança de Patches Gerados por IA (injeção em CI/CD)

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Cadeia do ataque: evento não confiável interpolado em run: expõe segredo interno via gate 'sempre verdadeiro'.
Segurança
01 / 02

ADR de Hardening de GitHub Actions contra injeção de script

por João Gabriel

GPT-4oclaude-3-7-sonnetgemini-2.0-flash
—(0)
0 vendas
R$ 14,90
Modelo de ameaças: as 4 superfícies de ataque em agentes de codificação com IA, inspiradas pelo Cursor 0day e Memory Heist.
ADR
01 / 02

ADR de Adoção de Agentes de Código com Guardrails de Segurança

por João Gabriel

gpt-4claude-3.5-sonnetclaude-4+2
—(0)
0 vendas
R$ 19,90
O antipadrão: uma chave de plataforma única no gateway multi-tenant gera blast radius global.
Segurança
01 / 03

ADR de Segredos em Multi-Tenant: elimine chaves compartilhadas e reduza o blast radius

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 29,90
Quatro superfícies de criptografia legada (TLS na borda, PKI/mTLS, assinatura de código, CMS/chaves) com o que é risco hoje e o padrão-alvo em cada uma — convergindo para um ADR consolidado e um roteiro em 3 fases (inventário, nova CA/HSM+rotação, desligar legado).
Segurança
01 / 03

Kit Crypto-Agility: ADR e roteiro para aposentar criptografia legada

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Camadas de controle de um agente LLM conectado: o usuário instrui um orquestrador que, para qualquer efeito colateral, passa por um gateway de política zero-confiança antes de tocar sistemas OAuth/dados sensíveis (e-mail, cloud, repositórios).
Segurança
01 / 03

Agente LLM Conectado e Seguro: ADR, modelo de ameaças e gates de tool-call

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Fluxo do ataque de supply-chain via npm (incidente Keyv, ago/2026) e a superficie de governanca.
Segurança
01 / 02

ADR de Supply Chain: dependências zero-trust e runbook para pacote comprometido

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Cadeia de remediação em frota de borda: da exposição (boletim + inventário) à classificação de versão, à separação CLASSE A/CLASSE B e à prova da correção.
Segurança
01 / 02

Arquiteto de Correção de Frota: laudo de remediação para CVEs exploradas em appliances de borda

por João Gabriel

gpt-4gpt-5Claude+3
—(0)
0 vendas
R$ 29,90
Pipeline de Desenvolvimento Seguro na Era da IA: estágios planejamento→implementação→verificação→entrega com feedback loop e papéis IA/humano.
Segurança
01 / 02

SSDLC na Era da IA: decisões e gates de segurança para times com copilotos

por João Gabriel

gpt-4ClaudeGemini+1
—(0)
0 vendas
R$ 19,90
Arquitetura de agente MCP corporativo: cliente agêntico, servidor MCP HTTP-native, camada de identidade (DPoP/WIF) e catálogo de tools com descoberta progressiva.
Agentes
01 / 03

ADR de Adoção de MCP (Model Context Protocol) na empresa

por João Gabriel

gpt-4ClaudeGemini
—(0)
0 vendas
R$ 19,90
Fluxo da exploração de SSRF em uma tool de fetch de agente de IA: usuário/modelo controlam a URL, o fetcher sem validação alcança o metadata service interno.
Segurança
01 / 03

ADR de Segurança para Fetchers de Agentes de IA: mitigação de SSRF

por João Gabriel

gpt-4ClaudeGemini+1
—(0)
0 vendas
R$ 14,90
Funil de triagem wormability-first: intake → triagem por impacto×exposição → baldes P0–P2 → harness de verificação.
Segurança
01 / 02

ADR de Triagem de Patch em Escala: boletins com centenas de CVEs

por João Gabriel

gpt-4gpt-5Claude+1
—(0)
0 vendas
R$ 19,90