Como testar prompt injection sem confundir lista de prompts com cobertura
Testar prompt injection é testar uma fronteira: instruções não confiáveis conseguem mudar comportamento protegido, revelar dados ou disparar ações?
Parta de um resultado proibido, crie um controle limpo, varie o caminho de entrega do ataque e observe tanto a saída quanto os efeitos subsequentes. O teste é inconclusivo quando o alvo não processou a entrada ou nenhuma defesa esperada pôde ser observada.
Para quem é: Para AppSec, desenvolvimento de aplicações de IA, red teams e QA criando verificações antes do release.
Plano seguro de teste de prompt injection
- 01
Escolha um resultado proibido
Por exemplo: expor instrução protegida, recuperar contexto de outro usuário ou invocar ferramenta fora da autorização.
- 02
Estabeleça um controle benigno
Confirme rota, processamento da resposta, identidade e caminho da ferramenta antes de interpretar respostas adversariais.
- 03
Exercite classes de entrega
Cubra entrada direta, conteúdo recuperado, contexto de múltiplos turnos, texto transformado e saída de ferramentas quando existirem.
- 04
Meça efeitos, não palavras-chave
Verifique dados, ações, autorização e sinais de detecção. Uma resposta sem frase de recusa ainda pode ser segura.
- 05
Separe estados do resultado
Use passou, falhou, bloqueado por controle, inconclusivo e erro de infraestrutura para que indisponibilidade nunca pareça defesa.
- 06
Congele e repita
Preserve o identificador sanitizado e execute depois de mudanças em modelo, prompt, recuperação de contexto ou guardrail.
Por que variar faz parte do teste
O comportamento de LLM varia com redação e contexto. Testar apenas uma instrução óbvia cria uma visão frágil do risco e incentiva filtros de palavra-chave que não aplicam autorização.
A variação deve continuar limitada e reproduzível: altere uma dimensão por vez, preserve o resultado protegido e registre qual controle determinou o resultado.
- Paráfrase e idioma
- Instruções diretas versus recuperadas
- Turno único versus pressão gradual
- Codificação ou formatação
- Saída de ferramenta e memória do agente
O que o playbook pode ou não concluir
- Validar caminhos registrados contra alvo próprio
- Revelar regressões ao repetir os mesmos casos
- Distinguir controles da aplicação de recusas do modelo
- Autorizar testes contra sistemas de terceiros
- Publicar instruções operacionais de ataque ou prompts protegidos
- Provar imunidade a técnicas desconhecidas
- Tratar endpoint indisponível como defesa aprovada
Pratique em um sandbox próprio
Use um alvo deliberadamente vulnerável sob seu controle antes de testar em produção. A demonstração pública do DoesItDefend usa infraestrutura própria e expõe evidência sanitizada, nunca dados de clientes.
Fontes primárias
- OWASP Top 10 for LLM Applications 2025
OWASP GenAI Security Project
Define prompt injection como risco central e descreve formas diretas e indiretas.
- Ignore Previous Prompt: Attack Techniques For Language Models
Perez & Ribeiro, NeurIPS ML Safety Workshop
Pesquisa inicial sobre desvio de objetivo e vazamento de prompts.
- MITRE ATLAS — Adversarial Threat Landscape for Artificial-Intelligence Systems
MITRE
Mapeia prompt injection, jailbreak e técnicas relacionadas.