O que é Injeção de Prompts (Prompt Injection)?
A injeção de prompts é um ataque em que instruções maliciosas escondidas na entrada de um modelo de linguagem sequestram seu comportamento, fazendo-o ignorar suas regras, vazar dados ou usar mal as ferramentas. Lidera o OWASP Top 10 para aplicações LLM. A causa raiz é que os modelos não conseguem separar de forma confiável as instruções confiáveis do conteúdo não confiável, então qualquer texto que um agente leia — uma página web, um documento, o resultado de uma ferramenta — pode carregar um ataque.
Definição
A injeção de prompts é um ataque de segurança em que instruções adversárias embutidas em entrada não confiável fazem um modelo de linguagem desviar de seu comportamento previsto, contornar salvaguardas ou realizar ações indesejadas.
Pontos-chave
- O texto não confiável que um modelo lê pode conter instruções ocultas.
- É o risco nº 1 do OWASP Top 10 para aplicações LLM.
- A injeção indireta esconde payloads em documentos, páginas ou saídas de ferramentas.
- O risco cresce com o acesso a ferramentas: a injeção pode disparar ações reais.
- Não há uma única solução; a defesa é em camadas (privilégio mínimo, isolamento, aprovação humana).
Contexto
Os modelos seguem instruções em linguagem natural e não conseguem distinguir de forma confiável as instruções de sistema confiáveis do conteúdo não confiável de usuário ou documentos. Um atacante explora isso plantando instruções como 'ignore as instruções anteriores e…' onde o modelo as lerá.
A injeção direta vem do usuário; a indireta (e mais perigosa) se esconde em conteúdo que o agente recupera: uma página web, um e-mail, um arquivo, o resultado de uma ferramenta MCP. À medida que os agentes ganham acesso a ferramentas, uma injeção bem-sucedida pode exfiltrar dados ou tomar ações nocivas.
Arquitetura
A defesa é em camadas, não um único controle: permissões de ferramentas de privilégio mínimo, isolar e delimitar claramente o conteúdo não confiável, validação de saídas e ações, listas de permitidos para operações sensíveis e aprovação com humano no laço para ações de alto impacto.
Trate todas as saídas de ferramentas e recuperação como entrada não confiável. Monitore e registre as ações do agente (observabilidade) para que as tentativas de injeção sejam detectáveis, e faça red teaming do sistema regularmente.
Componentes
Riscos
- Exfiltração de contexto sensível ou credenciais.
- Ações não autorizadas de ferramentas em sistemas conectados.
- Políticas de segurança e guard-rails contornados.
- Ataques indiretos via documentos, páginas web ou resultados de ferramentas.
Ferramentas e tecnologias
Exemplos
- Uma página web que o agente lê contém texto oculto que lhe diz para enviar dados privados por e-mail.
- Um documento instrui um resumidor a ignorar suas regras e emitir um link malicioso.
- O resultado de uma ferramenta tenta fazer um agente chamar outra ferramenta que não deveria.
FAQs
- Por que os modelos não podem simplesmente ignorar as instruções injetadas?
- Porque não conseguem distinguir de forma confiável as instruções confiáveis do conteúdo não confiável: ambas chegam como texto. Essa ambiguidade é a vulnerabilidade central.
- O que é injeção de prompts indireta?
- Quando as instruções maliciosas se escondem em conteúdo externo que o modelo recupera — uma página, arquivo, e-mail ou saída de ferramenta — em vez de digitadas pelo usuário. Costuma ser mais perigosa.
- A injeção de prompts pode ser totalmente prevenida?
- Hoje não com uma única medida. Você reduz o risco com defesas em camadas: privilégio mínimo, isolamento de conteúdo, validação, monitoramento e aprovação humana para ações sensíveis.
- Como o uso de ferramentas eleva a aposta?
- Sem ferramentas, a injeção produz sobretudo texto ruim. Com ferramentas, uma instrução injetada pode tomar ações reais — enviar dados, fazer mudanças —, então permissões e aprovação importam mais.