Bedrock Converse 框架不检查工具结果,间接注入可绕过护栏
rahulladumor · reddit · 2026-11-03
作者查阅 Bedrock Guardrails 文档后发现一个关键盲区:在 Converse API 的工具调用模式下,guardrailConfig 中的护栏只评估用户输入提示词和模型的文本响应,而三个关键字段完全不做任何护栏过滤(包括 prompt attack 检测):代码返回的工具结果(toolResult)、工具定义(toolSpec 的 description/inputSchema)、以及模型生成的工具调用参数(toolUse.input)。文档原文明确写着「prompt attack 过滤器不评估工具结果」。
对照 MITRE ATLAS:间接提示注入(AML.T0051.001)正是通过文档、邮件、数据库等数据通道进入 agent——在 Converse 工具循环里,这个通道就是工具结果;而攻击的出口(AML.T0086,通过工具参数写入数据,如发邮件)恰好是 toolUse.input。进和出都落在护栏读不到的字段里。
作者给出的防御建议:
- 把每个工具结果当作陌生人的文本对待
- 在模型之外设控制:工具执行前对参数做确定性规则检查(收件人白名单、记录归属校验、金额上限),引用 OWASP excessive agency 和 AgentCore Policy 文档的观点——护栏是非确定性的,策略才是
- 减少可写操作的工具数量,关键写入先经人工确认
- 也可尝试用 ApplyGuardrail 手动扫描每个工具结果,但效果未经验证,应视为实验而非控制
局限:规则需要结构化参数,自由文本邮件正文无法用白名单/上限检查,只能退回减少工具+人工确认,代价是牺牲自主性。结论是缩小单次注入的破坏面,而非指望彻底解决。
「编程与Agent」频道最新
- 开发者用 iPhone 激光雷达把房间扫成 3D 世界 — thisguyknowsai · 2026-11-03
- SteerCamp 上线:云端 Agent 小队替运营/客服/财务团队干活 — pramodk73 · 2026-11-03
- 新用户装 Omarchy 30 分钟就折服:旧游戏 PC 变 AI Agent 中枢 — mark_k · 2026-11-03
- LetterBox 推出细粒度 API key 权限,Agent 可经 MCP 创建草稿 — rchardkovacs · 2026-11-03
- 单张照片转 3D 模型:8GB 显存可跑的免费 ComfyUI 工作流 — TheLocalLab · 2026-11-03
- 清华实证研究:编码 agent 跨任务持续自演化会严重灾难性遗忘,旧数据集性能骤降 — Shangziqi Zhao · 2026-11-03