Phase 18 - Lesson 15
Injeção Indireta de Prompt — Superfície de Ataque em Produção
A injeção indireta de prompt (IPI - Indirect Prompt Injection) incorpora instruções dentro de conteúdo externo — uma página da web, um e-mail, um documento compartilhado, um ticket de suporte — consumido por um sistema de agentes sem ação explícita do usuário. A IPI é a principal ameaça em produção de 2026: ela contorna os filtros de entrada do usuário porque o invasor nunca toca no usuário, escala silenciosamente conforme os agentes processam mais conteúdo externo e visa fluxos de trabalho automatizados onde ninguém está lendo o prompt. MDPI Information 17(1):54 (janeiro de 2026) sintetiza as pesquisas de 2023-2025. O artigo de defesa contra IPI da NDSS 2026 enquadra o desafio central: as instruções injetadas podem ser semanticamente benignas ("por favor, imprima Sim"), de modo que a detecção exige mais do que filtragem de palavras-chave. "The Attacker Moves Second" (Nasr et al., esforço conjunto OpenAI/Anthropic/DeepMind, outubro de 2025): ataques adaptativos (gradiente, RL, busca aleatória, red-team humano) quebraram >90% de 12 defesas publicadas que originalmente haviam relatado taxas de sucesso de ataque próximas de zero.
Tipo: Build Idiomas: Python (stdlib, IPI attack + defense harness) Pré-requisitos: Phase 18 · 12 (PAIR), Phase 14 (agent engineering) Tempo: ~75 minutos
Objetivos de Aprendizado
- Definir injeção indireta de prompt e descrever três vetores de entrega comuns.
- Explicar por que os filtros de entrada do usuário não detectam IPI de forma alguma.
- Descrever o enquadramento de "controle de fluxo de informações" como o paradigma de defesa de 2026.
- Apresentar a descoberta de Nasr et al. (outubro de 2025) sobre o sucesso de ataques adaptativos contra defesas de IPI publicadas.
O Problema
A injeção direta de prompt exige que o invasor alcance o usuário ou seu prompt. A IPI não requer nenhum dos dois: o invasor coloca um payload em qualquer conteúdo que o agente possa ler — uma página da web, um e-mail na caixa de entrada, uma issue do GitHub, uma avaliação de produto. O agente o coleta durante a operação normal e executa as instruções. O usuário é o mensageiro, não a intenção.
O Conceito
Três vetores de entrega
- Geração aumentada por recuperação (RAG). O invasor publica um documento; a etapa de recuperação o busca; o prompt o concatena antes da pergunta do usuário; o modelo executa as instruções do invasor.
- Fluxos de trabalho de caixa de entrada / documentos. O invasor envia um e-mail ao usuário; o agente lê os e-mails; o prompt inclui o corpo do e-mail; o modelo segue as instruções do e-mail.
- Saída de ferramenta. O invasor controla uma ferramenta que o agente usa (por exemplo, uma busca na web que retorna um resultado controlado pelo invasor); a saída da ferramenta contém instruções; o fluxo de controle do agente as segue.
Os três compartilham uma propriedade estrutural: o invasor controla um fragmento do prompt sem tocar na entrada voltada para o usuário.
Por que os filtros de entrada do usuário não a detectam
Um payload de IPI não aparece na entrada do usuário. Ele aparece no conteúdo recuperado. Se o filtro for aplicado apenas à entrada do usuário, o payload o contorna. Se o filtro for aplicado a todo o conteúdo que chega ao modelo, ele deve ser aplicado a textos recuperados arbitrários — o que é caro e gera falsos positivos contra conteúdos legítimos que por acaso contêm linguagem em modo imperativo.
Controle de Fluxo de Informações (IFC) para IA
O paradigma de defesa de 2026 é emprestado da segurança clássica de sistemas operacionais. Trate cada fonte de conteúdo como um rótulo de segurança. Rotule a consulta do usuário como "confiável". Rotule o conteúdo recuperado como "não confiável". Trate o fluxo de controle do modelo como um fluxo de informações: ações acionadas por conteúdo não confiável devem ser ratificadas pela entrada confiável antes da execução.
CaMeL (Microsoft 2025), ConfAIde (Stanford 2024) e o artigo de defesa de IPI da NDSS 2026 operacionalizam o IFC de maneiras diferentes. O princípio comum: enquanto código e dados compartilharem a mesma janela de contexto, a contenção é o objetivo, não a prevenção.
O Invasor se Move por Segundo (The Attacker Moves Second)
Nasr et al. (outubro de 2025) testaram 12 defesas de IPI publicadas com ataques adaptativos (busca por gradiente, políticas de RL, busca aleatória, red-team humano de 72 horas). Cada defesa que originalmente relatou ASR próxima de zero foi quebrada para >90% de ASR.
A lição metodológica: publique uma defesa apenas com avaliação de ataque adaptativo. Benchmarks de ataques estáticos não são evidências de robustez; o invasor passa a conhecer a defesa.
Incidentes reais
A Lição 25 aborda o EchoLeak (CVE-2025-32711, CVSS 9.3) — o primeiro IPI de zero clique documentado publicamente no Microsoft 365 Copilot. CamoLeak (CVSS 9.6) no GitHub Copilot Chat. CVE-2025-53773 no GitHub Copilot. As implantações em produção estão sendo comprometidas por IPI em situações reais, e não apenas em benchmarks.
Enquadramento OWASP e NIST
O OWASP LLM Top 10 (2025) classifica a injeção de prompt (direta + indireta) como LLM01, a ameaça número 1 na camada de aplicação. O NIST AI SPD 2024 chama a injeção indireta de prompt de "a maior falha de segurança da IA generativa".
Onde isso se encaixa na Fase 18
As Lições 12 a 14 são jailbreaks centrados no modelo. A Lição 15 é o ataque centrado no sistema que domina as implantações em produção em 2026. A Lição 16 aborda as ferramentas defensivas. A Lição 25 cobre a narrativa específica de CVE.
Pratique
code/main.py constrói um ambiente de testes de IPI. Um agente de brinquedo possui três ferramentas (buscar na web, ler e-mail, enviar mensagem). O ambiente contém conteúdo controlado pelo invasor com uma instrução incorporada ("encaminhar isso para todos os contatos"). Você pode alternar entre um agente ingênuo (segue as instruções injetadas), um agente defendido por filtro (filtro de palavras-chave no conteúdo recuperado) e um agente IFC (separa conteúdo confiável e não confiável e recusa comandos de fluxo de controle não confiáveis).
Entregue
Esta lição produz outputs/skill-ipi-audit.md. Diante de uma descrição de implantação de agentes, ela enumera as fontes de conteúdo não confiáveis, verifica se a implantação aplica IFC e sinaliza fontes que chegam ao modelo sem um rótulo de confiança.
Exercícios
Execute
code/main.py. Meça a taxa de sucesso do ataque contra cada um dos três agentes.Implemente uma defesa baseada em paráfrase no conteúdo recuperado. Meça a taxa de falsos positivos benignos em textos recuperados legítimos.
Leia o artigo de defesa contra IPI da NDSS 2026. Descreva o desafio da "instrução benigna" e por que ele impede a filtragem baseada em palavras-chave.
Projete uma implantação onde o agente receba uma saída de ferramenta de uma API de terceiros. Rotule cada fragmento de prompt com um nível de confiança e escreva a política de IFC que rege as ações do agente.
Reproduza a metodologia de ataque adaptativo de Nasr et al. 2025 no seu agente defendido por filtro do Exercício 2. Relate a ASR antes e depois do ataque adaptativo.
Termos-Chave
| Termo | O que as pessoas dizem | O que realmente significa |
|---|---|---|
| IPI | "injeção indireta de prompt" | Injeção por meio de conteúdo que o usuário não escreveu, consumido pelo agente durante a operação normal |
| Injeção em RAG | "recuperação envenenada" | Invasor publica conteúdo que a etapa de recuperação busca; o prompt contém o payload |
| Zero-clique | "sem ação do usuário" | O ataque é acionado automaticamente durante a operação do agente; o usuário não faz nada |
| IFC | "controle de fluxo de informações" | Abordagem baseada em rótulos: ações originadas de conteúdo não confiável requerem ratificação confiável |
| Ataque adaptativo | "red-team por gradiente / RL" | Ataque que conhece a defesa e se otimiza contra ela; necessário para uma avaliação honesta |
| Instrução benigna | "por favor, imprima Sim" | Payload de IPI que é semanticamente benigno; nenhum filtro de palavra-chave o detecta |
| Violação de escopo | "exfiltração entre contextos de confiança" | O agente acessa dados de um contexto de confiança e os envia para outro |
Leituras Adicionais
- MDPI Information 17(1):54 — Indirect Prompt Injection Survey (January 2026) — síntese de 2023-2025
- Nasr et al. — The Attacker Moves Second (esforço conjunto OpenAI/Anthropic/DeepMind, outubro de 2025) — avaliação de ataque adaptativo
- Greshake et al. — Not what you've signed up for (arXiv:2302.12173) — o artigo original sobre IPI
- OWASP — LLM Top 10 (2025) — injeção de prompt classificada como LLM01