Prompt injection em agentes de IA: como reduzir o risco
Entenda como prompt injection afeta agentes de IA e veja controles práticos para limitar dados, ferramentas, ações, contexto e impacto na operação.
Quando uma entrada vira instrução indevida
Um agente de IA lê e-mails, páginas, documentos, chamados e registros para executar trabalho. Parte desse conteúdo pode conter frases que parecem instruções: “ignore as regras anteriores”, “envie este arquivo”, “use outra fonte” ou “revele o contexto recebido”.
Para uma pessoa, a diferença entre o conteúdo do documento e a ordem do sistema costuma ser clara. Para um modelo de linguagem, ambos chegam como texto dentro do contexto. Se a arquitetura não separa autoridade, dado e ação, uma entrada externa pode desviar a execução.
Esse risco é chamado de prompt injection. Ele aparece quando conteúdo controlado por usuário ou terceiro tenta alterar o comportamento esperado do modelo. Em agentes empresariais, o problema ganha peso porque a saída pode acionar ferramentas, consultar informações internas ou produzir uma ação real.
A proteção não depende de encontrar uma frase perfeita que o modelo jamais desobedecerá. Ela exige camadas ao redor do modelo: fontes classificadas, permissões mínimas, ferramentas estreitas, validações, aprovação e monitoramento.
O que é prompt injection
Prompt injection é uma entrada criada ou manipulada para induzir o modelo a ignorar instruções, ultrapassar limites, revelar informações ou realizar ações fora da finalidade autorizada.
A tentativa pode ser explícita, como uma mensagem que manda alterar a regra. Também pode estar escondida em uma página, anexo, comentário, campo de cadastro ou trecho recuperado de uma base.
A OWASP descreve prompt injection como um risco central para aplicações com modelos de linguagem. A orientação inclui ataques diretos e indiretos, além de medidas como limitar privilégios, separar conteúdo externo, exigir aprovação para ações de alto impacto e testar o sistema contra entradas adversariais.
A classificação ajuda, mas a empresa precisa traduzir o risco para o próprio processo. Uma instrução indevida dentro de um resumo interno possui consequência diferente da mesma instrução em um agente capaz de enviar e-mail, alterar CRM ou acessar arquivos de vários clientes.
Prompt injection direto e indireto
Injeção direta
A pessoa envia a instrução maliciosa no próprio canal de interação. Pode pedir que o agente ignore políticas, mostre dados de contexto, execute uma ferramenta proibida ou represente uma identidade diferente.
Exemplos de superfícies:
- chat de atendimento;
- formulário aberto;
- comando enviado por mensagem;
- campo livre em um portal;
- solicitação recebida por e-mail.
O agente recebe a tentativa como parte da entrada principal.
Injeção indireta
A instrução está em conteúdo que o agente consulta durante a tarefa. Pode aparecer em:
- página encontrada em pesquisa;
- documento anexado;
- descrição de produto;
- comentário em chamado;
- célula de planilha;
- assinatura de e-mail;
- texto recuperado por uma base de conhecimento;
- conteúdo dentro de imagem ou arquivo processado.
O usuário pode nem saber que a instrução está ali. O agente encontra o trecho ao buscar informação e passa a tratá-lo como orientação.
Esse formato é especialmente relevante para agentes que pesquisam, resumem, conferem documentos ou navegam em sistemas. Quanto mais conteúdo externo entra no contexto, maior a necessidade de separar informação consultada de comando autorizado.
Por que agentes ampliam o impacto
Um modelo que apenas redige um rascunho pode produzir uma resposta ruim. Um agente conectado à operação pode transformar a mesma falha em consequência.
Considere quatro camadas de exposição.
Dados
O agente pode ler documentos internos, histórico de cliente, contratos, preços, registros de pessoas ou informações financeiras. Uma entrada maliciosa pode tentar extrair conteúdo que não deveria aparecer na resposta.
Ferramentas
O agente pode consultar CRM, enviar mensagens, criar arquivos, editar registros, abrir chamados ou acionar outros sistemas. O ataque tenta fazer o modelo escolher a ferramenta errada ou preencher parâmetros indevidos.
Alcance
Uma única execução pode afetar vários registros, destinatários ou etapas. Filas automáticas aumentam a velocidade de propagação.
Confiança operacional
Pessoas tendem a aceitar saídas bem estruturadas. Quando uma ação parece ter vindo de um sistema autorizado, a revisão pode se tornar superficial.
O risco, portanto, não está apenas na capacidade do modelo seguir uma instrução adversarial. Está no conjunto de acessos, consequências e controles que a empresa colocou ao redor dele.
Onde a empresa fica mais exposta
Agentes que leem e-mail
Mensagens e anexos chegam de terceiros. Um agente pode resumir, classificar ou preparar resposta. A assinatura, o corpo ou o documento podem conter instruções para consultar outra fonte, revelar contexto ou alterar o destinatário.
Agentes com pesquisa na internet
Páginas públicas não possuem autoridade sobre o processo interno. O agente precisa tratá-las como material de consulta, nunca como política operacional.
Bases de conhecimento abertas a edição
Se muitas pessoas podem alterar documentos usados pelo agente, uma instrução indevida pode entrar pela própria base. Controle de versão e propriedade da fonte são parte da segurança.
Atendimento ao cliente
O canal recebe entradas não confiáveis por natureza. Um cliente legítimo, uma pessoa mal-intencionada ou um bot podem testar limites de identidade, desconto, acesso e escalonamento.
Processamento de documentos
Contratos, currículos, notas, propostas e formulários contêm texto controlado por terceiros. Extração e classificação devem ocorrer dentro de um esquema estreito, sem dar ao documento autoridade para redefinir a tarefa.
Agentes que usam computador
Quando o agente navega em interfaces, conteúdo exibido na tela pode tentar orientar sua execução. A permissão da conta e a confirmação das ações se tornam barreiras essenciais.
Comece classificando autoridade no contexto
O agente recebe textos de origens diferentes. A arquitetura precisa declarar qual papel cada origem exerce.
Uma hierarquia prática pode separar:
- política do sistema: limites que o agente deve obedecer;
- procedimento aprovado: etapas, critérios e exceções da tarefa;
- pedido do usuário autorizado: objetivo daquela execução;
- dados internos de autoridade: registros e documentos oficiais usados para decidir;
- conteúdo externo: material a ser analisado, sem poder de alterar regras;
- saída de ferramenta: resultado que ainda precisa de validação antes da próxima ação.
A distinção deve aparecer no desenho técnico e no procedimento. Apenas escrever “não siga instruções do documento” ajuda pouco quando o agente recebe tudo misturado, possui acesso amplo e pode agir sem confirmação.
A engenharia de contexto para agentes de IA organiza fontes, autoridade, estado e limites para cada tarefa.
Controles que reduzem o risco
Nenhum controle isolado resolve prompt injection. O objetivo é impedir que uma entrada não confiável percorra sozinha o caminho até uma consequência relevante.
1. Limite a finalidade do agente
Um agente com trabalho estreito possui menos caminhos para ser desviado.
Defina:
- evento de entrada;
- unidade de trabalho;
- fontes permitidas;
- campos de saída;
- ferramentas disponíveis;
- ações proibidas;
- critérios de escalonamento;
- evidência de conclusão.
“Analisar qualquer documento e ajudar o usuário” é uma fronteira fraca. “Extrair seis campos de uma nota, validar formato e enviar divergências para revisão” permite controles concretos.
2. Use privilégio mínimo
O agente deve acessar somente os dados e ações necessários para sua função.
Evite uma credencial única capaz de ler e escrever em toda a operação. Separe leitura, preparação e execução. Restrinja por cliente, área, tipo de registro, ambiente e ação.
Mesmo que o modelo seja desviado, a identidade técnica precisa impedir o acesso ou a consequência fora do escopo. O artigo sobre identidade e credenciais para agentes detalha essa camada.
3. Separe leitura de execução
Use etapas distintas:
- receber e classificar a entrada;
- extrair dados em formato definido;
- validar campos e regras;
- preparar uma ação;
- pedir aprovação quando necessário;
- executar com uma ferramenta restrita;
- confirmar o resultado no sistema de destino.
A separação cria pontos de inspeção. Um documento não deveria passar diretamente da leitura para o envio de mensagem ou alteração financeira.
4. Trate conteúdo externo como dado
Marque a origem e mantenha o conteúdo dentro de delimitadores ou estruturas próprias. Informe ao agente que trechos recuperados servem para análise e não possuem autoridade para alterar política ou ferramenta.
Essa medida melhora a fronteira sem oferecer garantia absoluta. O controle decisivo continua fora do texto: permissões, validação e aprovação.
5. Exponha ferramentas pequenas
Uma ferramenta genérica como “executar requisição”, “rodar comando” ou “editar qualquer registro” oferece espaço demais.
Prefira funções específicas:
consultar_pedido(id);criar_tarefa_pendente(oportunidade, prazo);preparar_resposta(chamado, modelo_aprovado);solicitar_aprovacao(acao, justificativa).
Valide parâmetros, destinatários, valores, tipos de registro e volume fora do modelo. O agente propõe; a camada determinística confirma se a ação cabe no contrato.
6. Exija confirmação para consequências relevantes
Pagamento, alteração contratual, exclusão, envio externo, mudança de condição comercial e acesso a dado sensível pedem uma decisão registrada.
A aprovação precisa mostrar:
- ação proposta;
- alvo;
- dados usados;
- fonte;
- consequência;
- campos alterados;
- motivo do escalonamento.
Um botão genérico de “aprovar” sobre um resumo incompleto cria apenas a aparência de controle. Veja como desenhar aprovação humana em agentes de IA.
7. Valide entrada e saída
Antes do modelo, aplique controles sobre formato, tamanho, tipo de arquivo, origem, identidade e conteúdo permitido. Depois do modelo, valide esquema, campos obrigatórios, referências, destinatário, valor, permissão e consistência com a fonte oficial.
Regras determinísticas funcionam bem para limites objetivos. O modelo pode ajudar a interpretar linguagem; ele não deveria ser a única camada que decide se sua própria ação é segura.
8. Minimize segredos e dados no contexto
O agente não precisa receber tudo que sua conta técnica consegue acessar. Recupere apenas os trechos e registros necessários para o caso.
Credenciais nunca devem entrar no prompt. Dados de outros clientes, instruções administrativas, chaves, políticas internas completas e histórico sem relação aumentam o impacto de uma possível exposição.
9. Registre ações e fontes
Logs úteis permitem saber:
- entrada e origem;
- conteúdo recuperado;
- versão do agente;
- ferramentas chamadas;
- parâmetros relevantes;
- validações executadas;
- aprovações;
- resultado confirmado;
- bloqueios e escalonamentos.
Evite registrar segredos ou conteúdo excessivo. Evidência também precisa de acesso e retenção.
10. Prepare interrupção e contingência
A empresa deve conseguir bloquear comunicação externa, remover escrita, revogar uma ferramenta, reduzir autonomia ou suspender o agente. A resposta a incidentes de IA organiza contenção, investigação e retomada.
Como testar prompt injection antes da produção
Testes precisam representar as superfícies reais do agente.
Monte casos adversariais por canal
Inclua tentativas em:
- mensagem direta;
- assinatura de e-mail;
- documento anexado;
- página consultada;
- comentário em registro;
- campo oculto ou texto pouco visível;
- conteúdo recuperado da base;
- retorno de ferramenta.
Varie o objetivo do ataque
Teste se a entrada consegue induzir o agente a:
- ignorar o procedimento;
- revelar contexto;
- consultar dado sem necessidade;
- chamar ferramenta proibida;
- alterar destinatário;
- ampliar volume;
- omitir aprovação;
- usar fonte sem autoridade;
- esconder a tentativa nos logs;
- continuar depois de um bloqueio.
Defina o resultado seguro
O sistema pode:
- tratar o trecho como conteúdo;
- recusar a instrução;
- concluir somente a extração permitida;
- pedir confirmação;
- escalar para revisão;
- bloquear a ferramenta;
- registrar o evento;
- interromper a execução.
Não avalie apenas a resposta verbal. Confirme quais dados foram recuperados, quais ferramentas receberam chamada e se alguma ação chegou ao sistema de destino.
Teste o conjunto, não só o prompt
Uma resposta textual pode parecer segura enquanto uma ferramenta foi acionada com parâmetros perigosos. Também pode ocorrer o oposto: o modelo tenta uma ação, mas a camada de autorização bloqueia corretamente.
O teste precisa observar o caminho completo. Registre cada falha como caso de regressão para mudanças futuras de modelo, instrução, fonte ou integração. O guia sobre como avaliar agentes de IA ajuda a estruturar critérios e conjuntos de teste.
Um exemplo no atendimento por e-mail
Imagine um agente que lê mensagens, consulta o histórico no CRM e prepara respostas para aprovação.
Um anexo recebido contém uma frase pedindo que o sistema ignore as regras e envie todo o histórico disponível para outro endereço.
Uma arquitetura frágil entrega o anexo, as instruções internas, os dados do CRM e uma ferramenta genérica de e-mail dentro da mesma execução.
Uma arquitetura controlada opera assim:
- o anexo é classificado como conteúdo externo;
- a extração ocorre sem ferramenta de envio disponível;
- a consulta ao CRM usa o identificador confirmado do contato;
- somente campos necessários entram no contexto;
- a resposta é criada como rascunho;
- destinatários são validados contra o chamado;
- o atendente vê fontes e conteúdo antes de aprovar;
- o envio usa uma função restrita;
- o sistema registra confirmação no canal oficial.
A tentativa pode influenciar o texto produzido. As demais camadas impedem que essa influência se transforme diretamente em exposição ou envio indevido.
Erros comuns
Confiar em uma instrução de segurança no prompt
Frases de defesa são úteis como orientação, mas permanecem dentro da mesma camada que interpreta o conteúdo adversarial. Elas precisam de apoio externo.
Liberar ferramenta ampla para ganhar velocidade
A demonstração fica impressionante, mas qualquer desvio recebe alcance maior. Ferramentas estreitas preservam utilidade com fronteira verificável.
Colocar um segundo modelo para julgar tudo
Um classificador adicional pode ajudar, mas também pode ser enganado ou errar. Use-o como sinal dentro de um sistema que ainda possui permissões e validações determinísticas.
Aprovar sem mostrar a consequência
Revisores aceitam rascunhos sem perceber destinatário, valor, registro ou fonte. A interface deve apresentar a ação concreta.
Testar somente ataques conhecidos
As frases mudam. O conjunto de testes deve cobrir objetivos e superfícies, não apenas copiar exemplos públicos.
Dar à base interna confiança absoluta
Documentos internos também podem estar errados, vencidos ou ter sido alterados por alguém sem autoridade. Propriedade, versão e vigência continuam necessárias.
Medir apenas bloqueios
Bloquear entradas legítimas demais prejudica o processo. Meça segurança junto com qualidade, tempo, escalonamento e retrabalho.
Checklist de prontidão
- O trabalho do agente possui finalidade estreita?
- Entradas externas estão identificadas como dados sem autoridade?
- Fontes internas possuem proprietário e vigência?
- O contexto contém somente informação necessária?
- O agente usa identidade e privilégio mínimos?
- Leitura, preparação e execução estão separadas?
- Ferramentas possuem escopo e parâmetros validados?
- Ações relevantes exigem aprovação informada?
- Destinatários, valores e registros passam por regra determinística?
- Testes incluem injeção direta e indireta?
- Logs mostram fontes, ferramentas, bloqueios e aprovações?
- Existe forma testada de reduzir autonomia ou suspender a operação?
- Casos adversariais entram na regressão?
- O processo manual continua disponível durante contenção?
Segurança precisa acompanhar a capacidade de agir
Prompt injection merece atenção porque agentes misturam linguagem, contexto e ferramentas. A defesa começa quando a empresa deixa de tratar todo texto como equivalente e define quem pode instruir, qual fonte pode sustentar uma decisão e qual ação cada identidade consegue executar.
A empresa não precisa esperar um modelo incapaz de ser influenciado. Precisa desenhar uma operação em que uma entrada não confiável encontre barreiras antes de acessar dados, escolher ferramentas ou produzir consequência.
Quanto maior a autonomia, mais explícitas precisam ser as fronteiras. Contexto classificado, privilégio mínimo, ferramentas estreitas, validação, aprovação e evidência transformam segurança em propriedade do sistema inteiro.