在生产环境阻止提示注入

在生产环境阻止提示注入

通过规则顺序、语义评分和 fail-closed 检查,在模型提供方收到请求前检测并阻止提示注入和越狱。

提示注入无法通过屏蔽词列表解决。攻击者会改写、编码、拆分 payload 或把指令藏在检索文档中。必须在请求离开网络前作出判定并记录结果。

简要结论

  • 检查两个方向:转发提示前和返回响应前都要检查。
  • 结合文本规则(已知模式)和语义评分(含义);单独使用任一方法都会漏掉攻击。
  • 固定顺序评估,并让拒绝优先于接受。
  • 故障时拒绝:无法评分时拒绝请求,不转发未经检查的流量。

在 AI-FW 中实施#

  1. 启用内置 guardrails。越狱和提示注入检测默认在请求路径中运行。
  2. 为组织特有模式添加规则。关键词和 regex 可匹配项目代号、system prompt 片段或内部短语。规则可执行 block、mask、accept 或 log,拒绝始终优先。
  3. 为意图添加语义规则。用自然语言描述策略,例如检测试图提取 system prompt 的请求。改写后的请求也可能获得高分。内容不得离网时,可选择 embeddings、chat classifier 或离线引擎。
  4. 执行前测试。使用 Prompt Analyzer 对启用的 inbound 规则进行测试,不会发送 upstream。可查看匹配项、语义分数和判定,不调用模型也不写日志。
  5. 生产环境保持 fail-closed,并记录每个 fail-open 例外。

验证

  • 发送已知恶意测试提示,确认请求到达提供方前被拒绝。
  • 查看 Audit Logs:身份、模型、判定和规则,不应包含原始内容。
  • 在仪表板观察阻止率;突然变化可能代表误报。
  • 修改规则顺序后,用测试集重新运行 Prompt Analyzer。

相关内容

常见问题

只用关键词规则能阻止提示注入吗? 不能。文本规则检测已知模式,语义评分识别改写。应同时使用并让拒绝优先。

检查失败时会怎样? fail-closed 会拒绝请求,不会未经扫描就转发;scanner 故障不会绕过策略。

在自己的环境中验证

申请 Technical Plan:部署前用自己的提示进行概念验证,测量检测率和误报。

后续阅读

后续阅读