Fundamentos
O que é injeção de prompt?
Um modelo de linguagem não consegue distinguir de forma confiável suas instruções das instruções escondidas no conteúdo que ele lê — uma página web, um documento, o resultado de uma ferramenta. O que é injeção de prompt de fato, por que um modelo mais inteligente não a resolve por completo, e o que limita o dano quando ela acontece.
Todos os guias · Última revisão:
Duas formas: direta e indireta
Injeção direta é alguém digitando instruções direto no chat tentando anular o comportamento pretendido do sistema — pedindo ao modelo para ignorar suas instruções, revelar configuração oculta, ou agir fora do escopo pretendido. Injeção indireta é a forma com mais consequências: instruções plantadas em conteúdo que o modelo lê em seu nome — uma página web, um e-mail, um arquivo, a resposta de uma API — que nunca deveriam ser tratadas como comandos pelo modelo, mas que ele não tem forma confiável de distinguir delas.
Por que um modelo mais inteligente não resolve isso sozinho
O problema não é que os modelos não são inteligentes o suficiente — é arquitetural. Tudo que um modelo vê, seja sua solicitação ou texto obtido de uma fonte não confiável, se torna o mesmo tipo de sequência de tokens ao entrar na janela de contexto. Não existe um canal separado e à prova de manipulação para "instruções confiáveis" versus "conteúdo para ler". Um modelo mais capaz pode ficar melhor em reconhecer formulações comuns de injeção, mas uma instrução suficientemente disfarçada — espalhada pelo texto, formulada indiretamente, escondida na formatação — ainda pode passar, porque a arquitetura subjacente não tem um limite rígido para impor.
O risco cresce muito assim que um modelo pode chamar ferramentas
Um chatbot que só produz texto limita a injeção a uma saída ruim ou enganosa — irritante, mas contida. Assim que um modelo pode chamar ferramentas (veja como funciona a chamada de ferramentas) — enviar um e-mail, executar um comando, modificar um arquivo — uma injeção bem-sucedida pode virar uma ação real indesejada, não só uma frase ruim. É por isso que sistemas que combinam navegação web ou leitura de documentos com acesso a ferramentas carregam um risco de injeção bem maior que um chatbot simples.
Filtragem e escopo reduzem o risco; nenhum dos dois o elimina
Escanear o conteúdo obtido em busca de padrões de injeção conhecidos captura algumas tentativas, mas qualquer lista fixa de padrões pode ser burlada formulando a instrução de outro jeito — isso é um filtro, não uma garantia. O que reduz o dano real de forma mais confiável é limitar o que um modelo tem permissão de fazer independentemente do que foi dito a ele: restringir estreitamente o acesso a ferramentas, exigir aprovação antes de uma ação destrutiva ou voltada para fora, e nunca conceder a um modelo permissões permanentes mais amplas que a tarefa específica à sua frente.
O conteúdo que um modelo lê é entrada não confiável, não uma fonte neutra de fatos
Qualquer sistema que deixa um modelo ler conteúdo externo — um resultado de busca, uma página raspada, um documento enviado por um usuário — o expõe a instruções que ninguém pediu. A implicação prática é tratar esse conteúdo como você trataria entrada de usuário não validada em qualquer outro software: assumir que pode conter algo adversarial, e projetar o sistema ao redor para que uma injeção bem-sucedida tenha alcance limitado, em vez de assumir que a injeção não vai acontecer.
Perguntas frequentes
- A injeção de prompt pode ser totalmente evitada?
- Não, não com as arquiteturas de modelo atuais. Não existe uma separação embutida e à prova de manipulação entre as instruções de um usuário e o texto que um modelo lê de outro lugar, então filtragem e escopo reduzem o risco e limitam o dano, mas não garantem a prevenção.
- Injeção de prompt é a mesma coisa que jailbreak?
- Elas se sobrepõem mas não são idênticas. Jailbreak geralmente significa um usuário tentando diretamente fazer um modelo contornar suas próprias diretrizes. Injeção de prompt se refere mais a instruções escondidas em conteúdo que o modelo lê em nome do usuário, sem o conhecimento dele.
- A injeção de prompt importa para um chatbot que não pode usar ferramentas?
- O risco é menor — uma injeção bem-sucedida pode produzir uma resposta enganosa ou manipulada, mas não pode realizar uma ação além de gerar texto. O risco cresce substancialmente assim que um modelo pode chamar ferramentas que fazem algo fora da conversa.
- Escanear conteúdo em busca de padrões de injeção é proteção suficiente?
- Captura tentativas conhecidas e reconhecíveis, mas qualquer lista fixa de padrões pode ser burlada reformulando. A proteção real também vem de limitar o que um modelo tem permissão de fazer — escopo estreito de ferramentas e aprovação exigida para ações com consequências — não só da detecção.
Experimente em vez de ler sobre isso
O serviço de pesquisa do ClawAI escaneia o conteúdo web obtido em busca de padrões de injeção de prompt conhecidos e redige tokens com aparência de segredo antes que esse conteúdo chegue a um modelo — registrando o que detecta em vez de bloquear silenciosamente, já que nenhuma lista fixa de padrões consegue capturar toda tentativa. Essa camada de detecção é apenas uma parte de uma defesa que também depende de restringir quais ferramentas um modelo pode chamar em primeiro lugar.