安全五层防御:一条恶意工具调用的纵深之旅
Agent 本质 = 能编程的 root 用户。拦截链走在执行环境之前(《10》:拦截链在循环之前):L1 身份认证 → L3 权限控制 → L4 Prompt 防御,任一闸门 DENY 命令就到不了 L2 执行环境(非 root·只读根·默认断网),L5 Skill 审计与 correlation_id 把决策链串到底。左边工具调用卡 + 审计日志链实时看每一环怎么裁决。
1x2x
待播放
拦截链(先于执行):L1 身份认证 → L3 权限控制 → L4 Prompt防御 → 全部放行才进 → L2 执行环境约束(非root·只读根·默认断网)→ L5 Skill审计 · 审计日志
光点 = 当前拦截点 · 没有一层信任上一层(零信任)· L4 漏检 → 回落到 L3 权限兜底(不是 L5):注入改变的是行为,行为最终体现为"调哪个工具、用多大权限",只有权限层兜得住
审计日志决策链 · correlation_id: req_8f3a每层独立裁决,串成一条链
就绪点 ▶ 播放,看一条恶意工具调用怎么被五层拦下。安全
⚡ 运行时动作:正在发生什么💡 知识讲解:为什么这么设计
知识点一句话总结:Agent 是能编程的 root 用户,安全必须纵深防御五层(L1 身份认证 / L3 权限控制 / L4 Prompt 防御这些"拦截裁决"都走在 L2 执行环境约束(非 root·只读根·默认断网)之前——拦截链在循环之前,跑完了才鉴权等于没鉴权;L5 Skill 审计守供应链),没有一个框架做全五层(Codex 到 L2、Agent 运行时 到 L5、Claude Code 只做 L1+L3、OpenHands 主攻 L4、AgentScope L3+L5)——组合各家补空白是架构师的机会;层间零信任(不信任上一层结果,L4 漏检回落 L3 权限兜底,TOCTOU 靠执行时重验路径)+ correlation_id 贯穿审计(出问题先查决策链);确定性正则规则集挡已知威胁、LLM 分类器挡未知威胁,但注入要变成损失必须借"有权限的动作 + 出得来网络",所以还要凭证 audience 限定的短期令牌 + 出站默认拒绝;Allow-and-log 超阈值自动升级(10 次/小时→Ask、50 次/小时→Deny,正文设计值需按业务基线校准)、权限缓存按参数指纹分片防绕过。