Prompt × Context × Harness · 提示 × 上下文 × 运行护栏·生产事故·15 分钟

Prompt Injection 攻击

一份外部知识页面要求 Agent 访问客户数据,而这些工具确实存在并且当前可用。你需要在保留正常知识检索能力的同时,阻止不可信内容获得指令权力。

01

体验

先处理问题,再阅读解释。

事故 003 · 安全事件

危险指令,是以“数据”的身份进入系统的。

你负责 Agent 的 Trust Boundary 与 Capability Boundary。

客服 Agent 会读取外部知识来回答退款问题。其中一篇检索文档要求它读取完整 CRM Profile,并通过现有 Tool Path 发送账户标识。第二个攻击更加隐蔽;同时,还有一篇正常安全文章本身就包含看起来很像攻击的关键词。

目标

阻止恶意指令进入敏感 Tool Path,同时保留正常外部知识能力,并控制 False Positive、人工审核与延迟。

风险

一段文字可以长得像 Instruction,但它依然可能只是 Untrusted Data。

一句话理解

模型不能成为唯一的安全边界:Trust、Capability 与敏感操作必须由模型外部的 Runtime 强制执行。

正在加载 Mission Engine…
02

反思

把结果整理成可以复用的判断。

工程复盘

Prompt Injection 本质上是 Trust Boundary 失效,而不只是 Prompt 写得不好。

模型不能成为唯一安全边界。Trust、Capability 与敏感操作必须由 Harness / Runtime 强制执行。

Agent 在同一个工作 Context 中同时看到 System Policy、Developer Workflow 与外部内容。如果没有 Provenance-aware Trust 和 Capability Enforcement,不可信数据就可能影响真实 CRM Tool。把所有外部内容都拒绝确实能消灭攻击,却也会摧毁正常任务并制造大量 False Positive。Defense in Depth 的目标,是允许数据被读取,同时限制它能够造成什么后果。

  • 数据中可以出现看起来像 Instruction 的文字,但它不会因此自动获得 Instruction Authority。
  • Least Privilege 能在模型行为出错时限制 Blast Radius。
  • 敏感操作需要 Runtime Gate,不能依赖模型自己同意安全规则。
  • 安全评测必须包含正常但长得像攻击的 Benign Lookalike。

关键要点

Trust 有来源

System Policy、Developer Intent、User Request 与 Retrieved Data 的权威级别并不相同。

Capability 是 Runtime 决策

模型请求调用 Tool,不等于它获得了导出客户数据的权限。

Overblocking 也是失败

如果策略靠拒绝所有外部内容来保持安全,那只是让产品失去作用。

03

深入理解

把这次体验连接到概念、参考与迁移。

LEARNING CONTEXT

学习连接

一段文字长得像 Instruction,并不会因此获得系统 Authority;Capability Policy 必须由 Runtime Boundary 执行。

未看过

Mental Model

  • S00-M04Runtime Enforcement vs 模型劝说
  • S01-M01Instruction Authority 与 Provenance
  • S04-M03Capability Boundary 与 Least Privilege
  • S04-M05在高风险边界设置 Human Approval
  • S06-M05不可信 Context 的 Trust Boundary 与 Defense in Depth
  • S07-M01把 Traceability 作为因果执行历史
  • S07-M04Outcome Evaluation vs Trajectory Evaluation

建议补充前置

进入这起事故前,没有必须完成的已发布前置内容。

迁移这个模型

同一条恶意指令不再来自检索文档,而是来自 Tool Result。哪些防线仍然有效?

查看完整学习路径
04

下一步

把这个判断带到另一个问题或构建中。

Final Boss 预览:Ship the Production Support Agent

Retrieval、Tool Reliability 与 Security 将在同一个发布决策里发生冲突。

进入 Integrated Build