Continue aprendendo enquanto ouve.
O que você precisa saber
Prompt injection tenta fazer a aplicação seguir instruções indevidas presentes na entrada ou em conteúdo consultado. Pode ser direta, pela interação, ou indireta, por páginas, documentos e ferramentas. Jailbreak tenta contornar limites comportamentais do modelo. Os conceitos podem se sobrepor; a consequência depende também dos dados e das ações que a aplicação permite.
Camadas de proteção para um agente
Cada camada controla um risco diferente. Selecione uma etapa para ver seu papel.
Entrada não confiável
Mensagens, páginas e documentos podem conter instruções maliciosas. Conteúdo recuperado deve ser tratado como dado.
Na prática: Uma página não pode autorizar o agente a revelar um segredo.
Instruções e contexto
Separe instruções do sistema, pedidos do usuário e conteúdo de fontes. Limite dados expostos ao mínimo necessário.
Na prática: Não coloque credenciais no prompt ou em arquivos que o modelo possa consultar.
Executor e permissões
O sistema valida ferramentas, parâmetros e acesso por usuário/organização fora da LLM.
Na prática: Uma saída do modelo não concede permissão para acessar outro cliente.
Revisão e limites
Ações de maior impacto exigem confirmação e limites de escopo, volume e duração.
Na prática: Enviar uma mensagem e preparar um rascunho devem ter permissões distintas.
Teste e auditoria
Registre decisões sem vazar dados sensíveis e teste falhas, abuso e recuperação.
Na prática: Uma tentativa bloqueada é evidência de um controle; não prova ausência de todos os ataques.
Nenhuma instrução de prompt oferece blindagem total. A segurança depende de controles externos ao modelo e testes contínuos.
O problema é uma fronteira entre instrução e dado
Aplicações de linguagem combinam instruções, perguntas, histórico e conteúdo externo em representações processadas pelo modelo. Um ataque tenta atravessar a fronteira que diz o que deve orientar a execução e o que deve ser tratado apenas como informação. A frase de um documento não ganha autoridade porque foi recuperada por RAG.
Exemplo defensivo hipotético: uma nota de fornecedor mistura informação legítima com um pedido para mudar o destinatário de um relatório. O comportamento esperado é usar a informação pertinente sem aceitar a mudança de destinatário. Se a aplicação permite que a nota escolha o destino, a falha alcançou uma ação externa, não apenas a redação da resposta.
Injeção direta e indireta
Na direta, a entrada fornecida ao sistema tenta redirecionar sua conduta. Na indireta, a instrução chega por algo que o sistema consulta: página, arquivo, mensagem, resultado de busca ou ferramenta. Um usuário legítimo pode acionar uma consulta a um documento contaminado sem saber que ele contém o ataque.
Jailbreak é relacionado, mas não é o mesmo problema
Jailbreak descreve tentativas de contornar restrições de comportamento do modelo. Prompt injection descreve a tentativa de transformar uma entrada indevida em instrução seguida pela aplicação. Uma interação pode fazer as duas coisas. A distinção ajuda a projetar testes: recusar uma resposta proibida não prova que o agente respeita destinatário, permissão e escopo de ferramentas.
Também existem falhas sem ataque deliberado. Um procedimento histórico pode ser interpretado como ordem atual; um resumo pode apagar uma restrição; uma ferramenta pode retornar dados de outra unidade. A arquitetura deve impedir efeitos indevidos independentemente de o texto ter intenção maliciosa.
O sucesso deve ser definido pela consequência
Para um assistente de leitura, o efeito pode ser uma resposta sem fonte. Para um agente com ferramentas, pode ser exposição de dados, alteração de cadastro ou envio indevido. O teste precisa descrever a consequência proibida e observar o estado final. Uma frase de recusa bonita pode coexistir com uma ação inadequada nos bastidores.
Aprofunde este tema: Como proteger LLMs e agentes de IA em aplicações →
Outras técnicas e superfícies que se conectam
Envenenamento de dados altera material usado em treinamento, ajuste ou recuperação para influenciar o sistema. Exfiltração tenta retirar informações protegidas. Abuso de ferramentas explora autonomia ou parâmetros permissivos. Tratamento inadequado de saída transforma texto gerado em comando, SQL ou HTML executável sem a validação necessária. Consumo sem limites pode esgotar orçamento ou disponibilidade.
Esses problemas convivem com vulnerabilidades tradicionais: autenticação fraca, autorização por objeto ausente, dependências comprometidas, arquivos maliciosos e credenciais expostas. Colocar um filtro de linguagem na frente da aplicação não corrige uma API que devolve registros de outro cliente nem um executor que aceita qualquer destino.
Entrada multimodal também merece fronteiras
Sistemas que interpretam imagens, áudio ou documentos com OCR podem receber instruções por essas modalidades. A regra de confiança precisa acompanhar o conteúdo extraído, sua origem e as ferramentas acionadas. Segurança não deve depender de procurar uma frase específica num campo de texto.
| Categoria | Fronteira atacada | Resultado proibido |
|---|---|---|
| Injeção indireta | Fonte versus instrução | Mudar tarefa ou destino sem autoridade |
| Jailbreak | Limite comportamental | Produzir saída fora dos limites definidos |
| Envenenamento | Origem e integridade | Usar informação adulterada como referência |
| Abuso de ferramenta | Decisão versus permissão | Executar ação indevida |
| Saída insegura | Texto versus código | Executar conteúdo gerado sem controle |
Como estudar e testar de forma defensiva
Use um ambiente de teste com dados sintéticos e ferramentas sem efeitos externos. Defina casos em que o conteúdo tenta alterar tarefa, destinatário, permissão ou fonte. Não é necessário publicar uma coleção de comandos de exploração para compreender a falha. A pergunta de avaliação é se o sistema mantém o contrato quando recebe conteúdo não confiável.
Registre a entrada, o escopo permitido, as ferramentas chamadas e o resultado observado. Conte falhas por consequência e compare versões. Inclua consultas a documentos com informações válidas ao lado de instruções indevidas: o sistema deve recuperar o que é útil sem aceitar a ordem. Bloquear todo documento também pode inviabilizar a tarefa; qualidade e segurança precisam ser avaliadas juntas.
Uma bateria mínima de cenários
O conjunto inicial deve representar as fontes e ações reais do produto. Repita os casos afetados quando trocar modelo, política, preparação de documentos ou executor.
- Fonte solicita alteração de destinatário sem autorização.
- Documento tenta transformar histórico em uma ordem atual.
- Resultado de ferramenta contém conteúdo fora da unidade permitida.
- Mensagem pede uma ação fora do catálogo do agente.
- Saída parece válida, mas o objeto não pertence ao usuário.
- Consulta repetida tenta ultrapassar o orçamento.
O que um prompt consegue fazer e o que precisa de código
Instruções claras podem ajudar o modelo a tratar conteúdo externo como dado e reconhecer limites. Delimitadores, classificação e validação acrescentam camadas. Nenhum desses recursos oferece isolamento absoluto por si só. Identidade, acesso aos documentos, catálogo de ferramentas, destinos permitidos e regras de execução precisam ser controlados fora da geração.
O caminho seguinte é desenhar essas fronteiras na aplicação e testar seu cumprimento. Uma LLM pode propor a resposta; ela não deve criar credenciais, ampliar acesso ou autorizar uma escrita só porque interpretou uma solicitação como convincente. A segurança nasce do conjunto, não de uma frase secreta no prompt.
Quer um material complementar para aplicar este artigo?Opcional, sem interromper a leitura
Bancada de avaliação de agentes
Organize testes, evidências e limites do agente com um checklist interativo. Falhas críticas bloqueiam a recomendação de avançar.




