Claude Platform Docs
最佳实践加强防护

缓解越狱和提示注入

通过输入筛查、加固的系统提示以及对不受信任工具内容的安全处理,保护您的应用程序免受越狱和提示注入攻击。

"Jailbreaking"(越狱)和"prompt injection"(提示注入)是试图让 Claude 忽略其准则或您的指令的行为。虽然 Claude 本身对此类攻击具有较强的抵御能力,但本页介绍的额外措施可以进一步加强您的防护机制,尤其是针对违反 Anthropic 服务条款或使用政策的使用行为。

这些攻击分为两类,具有不同的威胁模型:

  • 越狱和直接提示注入,即您应用程序的用户是攻击者,他们精心构造输入以绕过您的防护机制。
  • 间接提示注入,即用户是可信的,但 Claude 处理的第三方内容(网页、电子邮件、文档、工具结果)中包含对抗性指令。

越狱和直接提示注入

在此威胁模型中,用户故意构造输入,以操纵您的应用程序生成您不希望生成的内容或执行您不希望执行的操作。以下缓解措施可加强您应用程序的防护机制:

  • 无害性筛查: 使用 Claude Haiku 4.5 等轻量级模型,在用户输入进入主对话之前对其进行预筛查。使用结构化输出将响应限制为简单的分类结果。

  • 输入验证: 在用户输入到达 Claude 之前,过滤其中已知的注入模式。您可以通过提供已知的越狱语言作为示例,使用 LLM 创建一个通用的验证筛查。

  • 提示工程: 编写强调道德和法律边界的系统提示,并明确告诉 Claude 如何拒绝。

  • 应对屡次违规者: 调整响应方式,并考虑对反复试图绕过您应用程序防护机制的用户进行限流或封禁。例如,如果某个用户多次触发同一类拒绝(例如"输出被内容过滤策略阻止"),请告知该用户其行为违反了相关使用政策,并采取相应措施。

间接提示注入

在此威胁模型中,您要保护您的用户免受 Claude 代其读取的内容中所嵌入指令的影响:入站电子邮件的正文、抓取的网页、上传文件的 OCR 输出,或工具调用的结果。能够影响这些内容的攻击者可能会嵌入试图改变 Claude 行为方向的指令。

请合理构建您的应用程序,使 Claude 能够可靠地区分不受信任的内容与您的指令:

  • 仅将不受信任的内容放在工具结果中。 将第三方内容放在 tool_result 块中传递给 Claude,切勿放在 system 提示或普通的用户 text 块中。Claude 经过训练,会对出现在工具结果中的指令保持适当的怀疑态度。有关 tool_result 格式,请参阅处理工具调用。

  • 告诉 Claude 内容是什么以及来自哪里。 在工具的 description 中,或在结果本身的结构中,明确说明内容的性质和来源:例如,它是来自未知发件人的入站电子邮件正文,或是从用户上传的图像中提取的 OCR 文本。这些上下文有助于 Claude 判断应在多大程度上信任嵌入的指令。

  • 在系统提示中声明策略。 明确告诉 Claude,从工具、文档或搜索返回的内容是不受信任的数据,绝不能覆盖系统提示或用户的原始请求。

  • 对不受信任的内容进行 JSON 编码。 在可能的情况下,将第三方字符串包装在 JSON 对象中,而不是将其拼接到自由格式的文本中。JSON 转义在不受信任的载荷与周围结构之间提供了明确的分隔符,因此攻击者无法通过闭合引号或标签来"逃逸"到指令上下文中。

  • 不要将您自己的指令放在工具结果中。 由于 Claude 将工具结果内容视为不受信任的数据,您放在其中的指令可能会被忽略或被标记为潜在的注入。请在 tool_result 块之后的 user 轮次中发送您的指令。在支持的模型上,您还可以使用对话中途系统消息。

  • 限制 Claude 对敏感数据和操作的访问。 应用最小权限原则,使成功的注入只能造成最小的损害:不要让 Claude 访问它不需要的机密信息,在沙盒环境中运行工具,并尽可能缩小权限范围。

  • 在 Claude 对工具输出采取行动之前对其进行筛查。 将您用于用户输入的轻量级模型筛查模式同样应用于工具返回的内容。运行每个工具,将其原始输出传递给使用 Claude Haiku 4.5 的小型分类器调用,只有在筛查报告未发现注入尝试时,才将内容作为 tool_result 块返回。使用结构化输出,使分类器的判定结果成为您的应用程序可以据此分支处理的可解析值。

    您还可以在将工具结果传递给 Claude 之前,对其应用上一节中的输入验证模式。

  • 对您自己的智能体进行红队测试。 在部署之前,使用故意包含注入尝试的文档、电子邮件和工具输出测试您的工作流程,确认 Claude 会忽略它们,并确认您的筛查和确认步骤能够捕获其余部分。

持续监控

定期分析输出,查找注入成功的迹象。利用这种监控来迭代改进您的提示、验证和过滤策略。

进阶:链式防护

组合多种策略以实现稳健的保护。以下是一个包含工具使用的企业级示例:

通过分层运用这些策略,您可以构建针对越狱和提示注入的稳健防御,确保您基于 Claude 的应用程序保持最高的安全性和合规性标准。

Was this page helpful?