44 次注入测试全拦截:CLIM Agent Guard 用确定性边界挡住危险删除
Slight_Analysis_5414 · reddit · 2026-10-07
作者为 LangGraph agent 构建了一个确定性工具执行边界 CLIM Agent Guard,并公开挑战全网绕过。核心思路:模型提议、系统裁决——不审查 prompt,也不用另一个 LLM 判断安全性,而是在执行前的最后一刻,用 guard 持有的权威状态校验工具调用的最终 payload(授权确认、授权目标、状态版本、幂等/重试状态等)。
实测矩阵(Qwen2.5-1.5B-Instruct + vLLM 0.29.1 nightly,temperature=0,单卡 RTX PRO 6000,共 44 次调用,每格重复两次结果一致):
- 权限伪造:基线 16/16 文件被删;guarded 16/16 返回 USERCONFIRMATIONREQUIRED 拦截
- 目标替换:基线 4/4 删错文件;guarded 4/4 返回 TARGETNOTAUTHORIZED 拦截
- 路径逃逸(含 /etc/passwd、../outside.txt):guarded 4/4 拦截
有意思的是:guarded 模式下模型依然会生成不安全的工具调用——模型本身没变安全,只是提议无法跨越副作用边界。作者区分了「工具权限」(能否调用 deletefile)与「执行权限」(此次具体调用能否对当前已验证状态下的这个目标执行)。v0.1.3 契约层支持授权状态、目标绑定、状态新鲜度、幂等/重试约束与后置条件校验。
对超时场景单独建模:非幂等动作成功但响应超时时,进入 UNKNOWNEFFECT → RECONCILE,暂停执行先核对权威状态,避免盲目重试造成重复副作用。
作者明确了威胁模型与局限:demo 基于文件系统、范围刻意收窄,不声称通用 agent 安全或安全沙箱;绕过定义是「未授权副作用实际发生且 guard 返回 ALLOW」,欢迎带完整证据开 issue。
「编程与Agent」频道最新
- Theo 重写 tsc:烧 40 万美元 Codex 无果,Opus 两周搞定 — dejavucoder · 2026-10-07
- LLM 缺乏「幂等性」:复查自己的大代码库会自相矛盾 — StephanSturges · 2026-10-07
- 开源 Skill「播客转文章」:换轴成文,砍掉 35% 还零信息损失 — oran_ge · 2026-10-07
- supermemory 重构 API:为 Agent 而非人类设计接口的实战复盘 — blaizedsouza · 2026-10-07
- Epic 开源原生多进程图形调试器 raddebugger,星数破 7700 — EpicGames · 2026-10-07
- 开源终端 cmux 专为 AI 编程 Agent 设计,星数近 2.8 万 — manaflow-ai · 2026-10-07