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 profissionais de segurança de aplicações, pessoas que desenvolvem aplicações de IA, equipes de teste ofensivo e qualidade criando verificações antes da publicação.
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
Guarde e repita
Preserve um identificador do caso sem dados sensíveis e execute-o novamente depois de mudanças no modelo, nas instruções, na recuperação de contexto ou nas proteções.
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
Exemplo resolvido: diferencie bloqueio seguro de sistema indisponível
Um assistente de documentos pode resumir uma pasta aprovada, mas não pode obedecer a instruções escondidas nos arquivos recuperados. Primeiro, confirme o funcionamento normal com um documento permitido. Depois, use um documento de teste sem dados reais, contendo uma instrução não confiável, e observe se algum dado protegido é exposto ou se alguma ferramenta é acionada.
Um bloqueio de política acompanhado de registro de auditoria significa “bloqueado”. Um tempo limite antes da busca é erro de infraestrutura. Essa distinção importa porque uma indisponibilidade não pode ser contada como defesa. Uma resposta normal que ignora a instrução escondida é evidência útil para esse caminho, mas não prova proteção contra toda redação ou forma de entrega.
O que este guia pode ou não concluir
- Validar caminhos registrados em um sistema 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 um serviço indisponível como defesa aprovada
Pratique em um ambiente próprio e isolado
Use um sistema deliberadamente vulnerável sob seu controle antes de testar em produção. A demonstração pública do DoesItDefend usa infraestrutura própria e mostra evidência sem dados identificáveis 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 injeção de instruções, tentativas de contornar proteções e técnicas relacionadas.