AI 编程与智能体工程 · 第 14 期

Agent 的攻击面·注入/逃逸/误操作

agent attack surface

Agent 读个网页就被指令注入——prompt 里"忽略以上指令"不是玩笑。Agent 有工具、能联网、能写文件,攻击面比普通应用大一个数量级。把 Agent 当普通聊天机器人防,等于裸奔上战场。
⏱ 约 10 分钟 🎯 Agent 要联网、调工具、跑代码的工程师 📦 源:agent-harness §11

01三类攻击,三种入口

Agent 的攻击面不在模型本身,在它"能动手"。三类攻击对应三个入口:

Agent 的攻击面不在模型,
在它能动手。
灏天文库 · AI 编程与智能体工程 P.42

02攻击面自测:10 个场景

下面 10 个场景,每个判断你的 Agent 在这个场景下"安全 / 有风险 / 已被打穿"。答完看你的攻击面得分。

🛡️ Agent 攻击面自测(10 场景)
每个场景选一个状态,答完看总评。
攻击面得分 —/30 ← 答完 10 题查看

03三层防御:输入/工具/执行

知道攻击面后,防御按"入口 → 工具 → 执行"三层布防,每层都不能漏:

记住一个原则:信任按来源分级,不按"看起来像不像指令"分级。用户 prompt 是可信的,工具返回的数据是不可信的——哪怕它长得像指令。

信任按来源分级,
不按"看起来像不像"分级。
灏天文库 · AI 编程与智能体工程 P.43

04带走这套清单

✅ Agent 攻击面 6 条可执行规则

  1. 把所有非用户输入(网页、文件、工具返回)标记为不可信数据,与指令结构化分隔。
  2. 每个工具配 allowlist + 范围限制 + 高危操作人工确认,别给 Agent 全权。
  3. 沙箱跑不可信代码,独立内核隔离,单任务单 VM 用完即焚。
  4. 写操作(删文件、发邮件、改 prod)一律要人工确认,默认拒绝而非默认允许。
  5. 所有工具调用记全量日志,可审计可回放,出事能溯源。
  6. 定期跑红队演练:模拟注入、诱导误操作、工具逃逸,别等真被打穿才发现墙是画的。
把 Agent 当聊天机器人防,
等于裸奔上战场。
灏天文库 · AI 编程与智能体工程 P.44