当 agent 通过 tool-use 查询结构化知识图(oracle)时,污染图中少量节点即可在「推理步骤正确」的前提下导出错误结论;防护上应优先只读访问控制,并区分数据路径投毒与 prompt 注入。
Claim
当 agent 通过 tool-use 查询结构化知识图(oracle)时,污染图中少量节点即可在「推理步骤正确」的前提下导出错误结论;防护上应优先只读访问控制,并区分数据路径投毒与 prompt 注入。
Why it matters
Agent 编排把 KG/图索引/企业知识库当可信事实源;这是与 RAG 文本投毒、prompt 注入正交的攻击面,直接威胁 tool 选择、合规结论与安全判断。
Summary
arXiv:2605.09822 定义 Oracle Poisoning:对手篡改 agent 运行时经 tool-use 查询的结构化知识图,使模型用正确推理链出错误结论。作者在约 4200 万节点的生产级代码知识图上演示 6 类场景;主评估用 9 模型真实 SDK tool-use(每模型 N=30)。在中等攻击者熟练度(L2)下,定向查询时几乎所有模型 100% 信任毒化数据(270 次有效试验中 269 次接受伪造安全主张);开放式提示信任降至 3–55%。交付模式是一阶混淆因素:inline 评估可出现假阴性(如 GPT-5.1 inline 0% vs agentic tool-use 100%)。五类防御中,只读访问控制消除直接突变向量,其余部分有效且依赖模型。
Actions
- (none)
Evidence
- (none)
Caveats
- (none)
Research queries
- (none)
Body
背景
现代 agent 不只读 prompt,还通过 tool 查代码图、企业 KG、配置图等「oracle」。安全讨论长期聚焦 prompt 注入与训练/RAG 投毒,但 数据路径 上的结构化库污染会使模型在逻辑自洽的情况下输出攻击者想要的结论——审计日志看起来像「模型正常推理」。
机制
- Agent 调用 graph/query 类工具获取三元组或子图。
- 对手预先污染少量节点/边(作者强调攻击者熟练度梯度:过某阈值后信任从 0% 跳到 100%)。
- 模型对工具返回默认高信任;定向问题下几乎全员接受伪造安全主张。
- 评测陷阱:把毒化结果 inline 进 prompt 可能低估风险;真实 agentic tool-use 下信任显著更高。
与 prompt injection 的区别:指令通道 vs 证据通道。与经典 RAG 文本投毒的区别:结构化 oracle + 多跳推理 + tool 选择闭环。
取舍
| 控制 | 效果 | 成本 |
|------|------|------|
| 图只读 + 变更审批 | 消除直接写入向量 | 运维摩擦 |
| 多 oracle 交叉验证 | 降低单点污染 | 延迟与复杂度 |
| 模型侧「怀疑工具输出」提示 | 开放式场景部分有效 | 定向攻击下弱 |
| 完整 provenance / 签名边 | 强审计 | 工程重 |
动作
- 架构评审:列出 agent 运行时查询的所有结构化 store,标记是否可被低权限写。
- 评测规范:安全红队必须走真实 tool-use SDK,禁止仅 inline。
- 高敏查询(CVE、权限边界、合规)强制第二源。
- 将 Oracle Poisoning 纳入威胁模型,对照 MITRE 类比条目做控制映射。