Guia
O que é prompt injection em IA e por que filtrar o texto não resolve
Invisible Work8 min de leitura
Em uma frase
O que é prompt injection, sem jargão
Prompt injection é quando um texto que o modelo lê faz o modelo obedecer a uma instrução que não veio de quem o opera. A frase escondida num e-mail, numa página ou num PDF vira ordem, e o sistema age como se a empresa a tivesse dado.
O nome vem de 2022. Simon Willison o propôs depois que Riley Goodside mostrou que o GPT-3, ao traduzir um texto, obedecia a um trecho que mandava ignorar as instruções anteriores. A semelhança com a injeção de SQL era de propósito: nos dois casos, o programador monta a instrução juntando texto dele com texto de fora.
A OWASP separa duas formas. Na injeção direta, quem digita no sistema altera o comportamento dele. Na injeção indireta, o texto vem de uma fonte externa que o modelo consome, como um site ou um arquivo. A segunda é a que importa para empresa, porque o atacante não precisa de acesso ao sistema: basta escrever algo que o sistema vá ler. Foi o que Greshake e coautores mostraram em 2023, ao atacar o Bing Chat e aplicações montadas sobre o GPT-4.
Não é o mesmo que jailbreak. Willison reserva o primeiro nome para o ataque ao sistema que mistura texto confiável e não confiável, e chama de jailbreak o truque para fazer o modelo dizer o que o fornecedor proíbe. Para ele, quem confunde os dois ignora o problema porque não vê por que importaria se o modelo dá uma receita indevida. A OWASP trata o jailbreak como uma forma de prompt injection; o que interessa na empresa é a forma em que o modelo age.
Exemplo da Anthropic
Por que não tem conserto como a injeção de SQL teve
A injeção de SQL se resolveu na raiz: com consulta parametrizada, o banco nunca interpreta o dado como comando. O NCSC, o centro de segurança cibernética do Reino Unido, explica por que isso não se repete aqui. Dentro de um modelo de linguagem não existe distinção entre dado e instrução; só existe o próximo token. Por isso, escreve o centro, o problema pode nunca ser totalmente mitigado, e comparar os dois é perigoso porque leva a defesas que não fecham a brecha.
O que existe hoje reduz a chance, não a elimina. A Anthropic descreve três frentes: treinar o modelo por reforço para recusar instruções maliciosas, passar classificadores sobre todo conteúdo não confiável que entra e manter uma equipe humana tentando quebrar o agente. Com tudo isso, o relato é franco: um ataque que dá certo em 1% das tentativas ainda representa risco real, e nenhum agente de navegador é imune.
Lista de frases proibidas
Bloquear “ignore as instruções anteriores” não adianta, avisa o NCSC: há infinitas maneiras de reescrever o ataque, e o modelo as entende todas.
Produto que promete deter
Willison desconfia de quem anuncia pegar 95% dos ataques: em segurança de aplicação web, 95% é nota de reprovação. O NCSC pede cuidado com quem diz “parar”, e atenção a quem explica como reduz.
RAG e fine-tuning
A OWASP registra que as duas técnicas, que tornam a resposta mais relevante, não mitigam por completo a vulnerabilidade.
Willison lista dezenas de casos em produtos de fornecedores grandes, do Microsoft 365 Copilot ao Slack e ao ChatGPT Operator. Quase todos foram corrigidos fechando o canal por onde o dado saía, não impedindo o modelo de ler a instrução.
O ponto de vista da Invisible Work: suponha que o agente obedece
Desmontada a premissa, a pergunta de segurança muda. Se não dá para garantir que o modelo distingue o que a empresa mandou do que um estranho escreveu, a defesa que começa por “como mantemos o texto ruim fora?” parte de uma premissa que, segundo o NCSC, talvez nunca se cumpra por completo. A pergunta que sobra é outra: se o agente obedecer ao pior texto que vai ler, qual é o maior dano possível?
Essa conta tem uma forma curta, que o NCSC cita de uma conversa entre Willison e Baibhav Bista: quando o modelo processa a informação de uma parte, os privilégios dele caem ao nível dessa parte. Um agente que lê e-mails de desconhecidos não deve ter ferramentas de quem tem a senha do financeiro. O agente tem a permissão da fonte menos confiável que ele lê.
Willison nomeou o caso grave de tríade letal: o agente que reúne acesso a dados privados, exposição a conteúdo não confiável e um jeito de se comunicar para fora. Com as três juntas, um atacante consegue que ele pegue os dados e os envie. Dá para desfazer com uma pergunta por perna, e nenhuma delas é sobre o texto: o agente precisa mesmo ver esse dado? Precisa mesmo ler texto de terceiros? Precisa mesmo falar com o exterior? Tirar uma resolve; filtrar o texto não tira nenhuma.
Exemplo hipotético
Três perguntas antes de pôr um agente para ler o que vem de fora
Qual é o pior texto que ele pode ler?
Liste as fontes que um estranho consegue escrever: caixa de e-mail, formulário, página da web, currículo, anexo. A permissão do agente deve caber na menos confiável delas.
Qual é o pior verbo que ele pode executar?
Enviar, pagar, apagar e publicar valem mais que ler. O NCSC recomenda travas determinísticas, que não dependem do modelo, em vez de tentar impedir que o texto malicioso chegue a ele.
Quem saberia, e quando?
Registrar entradas, saídas e chamadas de ferramenta, e tratar chamada recusada como sinal, porque o atacante precisa afinar o ataque. Sem log, o primeiro aviso é o dano.
Isso aproxima o tema de quatro outros guias. O desenho de um agente define quanta permissão ele tem; os guardrails de menor privilégio são a defesa que se sustenta, e o filtro de texto, a que não; o MCP facilita juntar ferramentas de origens diferentes, o que, nas palavras de Willison, empurra o usuário para a tríade sem perceber; e a pessoa que aprova (human-in-the-loop) só protege se vir o efeito da ação, não o nome da ferramenta. A camada onde essas travas moram é o harness. O caso do limite que a velocidade humana impunha sozinha está no Insight sobre agentes sem alçada.
Perguntas antes de pôr um agente para ler texto de fora
- Quais fontes de texto qualquer estranho consegue escrever e o agente lê?
- O que o agente consegue enviar, pagar, apagar ou publicar depois de ler essas fontes?
- Há um agente que reúne dados privados, texto de terceiros e canal para fora? Qual das três pernas dá para tirar?
- A trava é uma regra no sistema de destino ou um pedido no prompt?
- Se alguém plantou uma instrução ontem, o que o registro mostraria hoje?
Limites
As defesas de treinamento e de classificação mudam rápido, e o número da Anthropic é de um agente de navegador medido pela própria empresa contra um atacante interno dela. A tríade é uma regra de Willison, não um padrão técnico; o desenho de menor privilégio, a leitura de que o agente herda a permissão da fonte menos confiável e as perguntas acima são da Invisible Work. O NCSC fala de risco residual: a conta certa não é zerar o risco, e sim ver se o negócio tolera o que sobra.