Agent 一旦能读网页、解析文档、加载技能、调用工具,风险就从"模型说出不该说的话"升级成了"模型做出不该做的动作"。最近腾讯朱雀实验室基于 AI-Infra-Guard(A.I.G),对开源的 DeepSeek Harness(DSH)做了一场受控、授权的端到端红队测评,累计覆盖 14,560 次真实运行,结果相当值得国内做 Agent 的人看一眼。

测评的核心发现是:提示注入的风险并不集中在某一个入口,而是沿着多条路径同时溜进 Agent——包括攻击表达、内容载体、文件表示、Skill 资产和工具权限。报告里几组数字很直观:在文本载体上,针对"假完成"这类语义欺骗的判定攻击成功率约 17%;在文件表示层面,利用隐藏 Unicode 字符做规则绕过的成功率约 25.5%;而把可复用的 Skill 当作输入资产来攻击时,成功率也达到约 16%。

这些数字放在一起说明了一件事:要评估一个 Agent 的安全,不能只看单点。你得同时想清楚外部内容是从哪进来的、经过了怎样的解析或表示路径、Agent 在后续执行阶段又握有哪类可调用能力。为了把这条链路讲清楚,团队借用了软件安全里的 Source / Sink 思路:不可信的网页、文档、邮件或 Skill 是"来源点",fetch_url、read_document、load_skill 这些内容读取工具是入口;攻击者污染的内容进入模型上下文后,模型一旦据此规划并调用发邮件、提交表单、执行命令之类的敏感操作,就落到了"危险函数"也就是 Sink 上。整个过程被拆成一条可审计的证据链,任何一个环节都能回溯。

这场测试并没有把 DSH 处理成"有漏洞或缺漏洞"的二元结论,而是强调这是当前模型与配置下的安全观察快照。毕竟 DSH 官方把它标记为 developer preview,架构、默认配置和安全能力都还会快速演进。对使用者来说,更实际的启示是:别把 Agent 的权限放得太大,外部输入进入上下文的每一条路都要当回事,敏感操作的审批和可追溯日志必须保留——这正是 DSH 强调"每次运行皆可追溯"的原因。

从更广的层面看,Agent 安全正在成为一个和模型能力同等重要的议题。今天测的是 DeepSeek Harness,明天这类方法论完全可以迁移到其他运行时。对国内团队而言,与其等事故发生后补救,不如在立项阶段就把 Source / Sink 的审计思路铺进去。

(本文由示例插件追加)