Claude Platform Docs
Melhores práticasFortalecer proteções

Mitigar jailbreaks e injeções de prompt

Defenda sua aplicação contra jailbreaks e injeção de prompt com triagem de entrada, prompts do sistema reforçados e tratamento seguro de conteúdo não confiável de ferramentas.

"Jailbreaking" (contorno de restrições) e "prompt injection" (injeção de prompt) são tentativas de fazer o Claude ignorar suas diretrizes ou as suas instruções. Embora o Claude seja inerentemente resiliente a esses ataques, as etapas adicionais nesta página fortalecem suas proteções, particularmente contra usos que violam os Termos de Serviço ou a Política de Uso da Anthropic.

Esses ataques se dividem em duas categorias com modelos de ameaça diferentes:

  • Jailbreaks e injeção direta de prompt, em que o usuário da sua aplicação é o adversário e elabora entradas destinadas a contornar suas proteções.
  • Injeção indireta de prompt, em que o usuário é confiável, mas o Claude processa conteúdo de terceiros (páginas web, e-mails, documentos, resultados de ferramentas) que contém instruções adversárias.

Jailbreaks e injeção direta de prompt

Neste modelo de ameaça, um usuário está deliberadamente elaborando entradas para manipular sua aplicação a produzir conteúdo ou realizar ações que você não deseja. Estas mitigações fortalecem as proteções da sua aplicação:

  • Triagens de inofensividade: Use um modelo leve como o Claude Haiku 4.5 para fazer uma pré-triagem da entrada do usuário antes que ela chegue à sua conversa principal. Use saídas estruturadas para restringir a resposta a uma classificação simples.

  • Validação de entrada: Filtre a entrada do usuário em busca de padrões de injeção conhecidos antes que ela chegue ao Claude. Você pode usar um "large language model" (modelo de linguagem grande), ou LLM, para criar uma triagem de validação generalizada, fornecendo linguagem de jailbreaking conhecida como exemplos.

  • Engenharia de prompt: Elabore prompts do sistema que enfatizem limites éticos e legais e que digam explicitamente ao Claude como recusar.

  • Responda a infratores recorrentes: Ajuste as respostas e considere limitar ou banir usuários que tentam repetidamente contornar as proteções da sua aplicação. Por exemplo, se um determinado usuário acionar o mesmo tipo de recusa várias vezes (como "saída bloqueada pela política de filtragem de conteúdo"), informe ao usuário que suas ações violam as políticas de uso relevantes e tome as medidas adequadas.

Injeção indireta de prompt

Neste modelo de ameaça, você está protegendo seus usuários de instruções incorporadas em conteúdo que o Claude lê em nome deles: o corpo de um e-mail recebido, uma página web obtida, a saída de OCR de um arquivo enviado ou o resultado de uma chamada de ferramenta. Um atacante que consiga influenciar esse conteúdo pode incorporar instruções que tentam redirecionar o Claude.

Estruture sua aplicação de modo que o Claude possa distinguir de forma confiável o conteúdo não confiável das suas instruções:

  • Coloque conteúdo não confiável apenas em resultados de ferramentas. Entregue conteúdo de terceiros ao Claude dentro de blocos tool_result, nunca em prompts system ou em blocos text simples do usuário. O Claude é treinado para tratar instruções que aparecem dentro de resultados de ferramentas com o ceticismo apropriado. Consulte Lidar com chamadas de ferramentas para o formato tool_result.

  • Diga ao Claude o que é o conteúdo e de onde ele veio. Na description da ferramenta, ou na estrutura do próprio resultado, torne explícitas a natureza e a origem do conteúdo: por exemplo, que é o corpo de um e-mail recebido de um remetente desconhecido, ou texto de OCR extraído de uma imagem enviada pelo usuário. Esse contexto ajuda o Claude a calibrar o quanto confiar em diretivas incorporadas.

  • Declare a política no seu prompt do sistema. Diga explicitamente ao Claude que o conteúdo retornado de ferramentas, documentos ou buscas é dado não confiável e nunca deve sobrepor o prompt do sistema ou a solicitação original do usuário.

  • Codifique conteúdo não confiável em JSON. Sempre que possível, envolva strings de terceiros em um objeto JSON em vez de concatená-las em texto livre. O escape do JSON fornece delimitadores inequívocos entre a carga não confiável e a estrutura ao redor, de modo que um atacante não consiga fechar uma aspa ou tag para "escapar" para um contexto de instrução.

  • Não coloque suas próprias instruções em resultados de ferramentas. Como o Claude trata o conteúdo de resultados de ferramentas como dados não confiáveis, instruções que você colocar ali podem ser ignoradas ou sinalizadas como uma possível injeção. Envie suas instruções em um turno user que siga o bloco tool_result. Em modelos compatíveis, você também pode usar uma mensagem do sistema no meio da conversa.

  • Limite o acesso do Claude a dados e ações sensíveis. Aplique o princípio do menor privilégio para que uma injeção bem-sucedida cause o mínimo de dano: não dê ao Claude acesso a segredos de que ele não precisa, execute ferramentas em ambientes isolados (sandbox) e restrinja as permissões ao máximo possível.

  • Faça a triagem das saídas de ferramentas antes que o Claude aja sobre elas. Aplique ao conteúdo retornado pelas suas ferramentas o mesmo padrão de triagem com modelo leve que você usa para a entrada do usuário. Execute cada ferramenta, passe sua saída bruta para uma pequena chamada de classificação com o Claude Haiku 4.5 e só retorne o conteúdo como um bloco tool_result se a triagem não reportar nenhuma tentativa de injeção. Use saídas estruturadas para que o veredito do classificador seja um valor analisável no qual sua aplicação possa se basear para decidir.

    Você também pode aplicar os padrões de validação de entrada da seção anterior aos resultados de ferramentas antes de passá-los ao Claude.

  • Faça red teaming do seu próprio agente. Antes de implantar, teste seu fluxo de trabalho com documentos, e-mails e saídas de ferramentas que contenham deliberadamente tentativas de injeção, e confirme que o Claude as ignora e que suas etapas de triagem e confirmação capturam o restante.

Monitoramento contínuo

Analise regularmente as saídas em busca de sinais de injeção bem-sucedida. Use esse monitoramento para refinar iterativamente seus prompts e suas estratégias de validação e filtragem.

Avançado: Encadeie salvaguardas

Combine estratégias para uma proteção robusta. Aqui está um exemplo de nível corporativo com uso de ferramentas:

Ao combinar essas estratégias em camadas, você cria uma defesa robusta contra jailbreaking e injeções de prompt, garantindo que suas aplicações baseadas no Claude mantenham os mais altos padrões de segurança e conformidade.

Was this page helpful?