插件市场 SHA 钉扎被绕过,Claude Code 等 agent 工具曝零点击 RCE
docybo · reddit · 2026-09-20
作者把相隔几天落地的两件事放在一起,指出 AI agent 的「访问授权」存在结构性缺口:
Plugin4Shell(AIR Security,9 月 17 日披露)
- 影响 Claude Code、Codex、GitHub Copilot 和 Gemini CLI 的零点击 RCE
- 机制:插件市场把插件钉在已审计的 40 位 commit SHA 上,agent 执行 git checkout 后不再校验工作区真的落在该 commit 上;攻击者在插件仓库创建与该 SHA 同名的分支并设为默认,git 在「名字既是有效 ref 又是对象 ID」时优先取 ref,于是检出攻击者代码,而钉扎看起来仍然生效
- 修复很简单:checkout 后解析 HEAD,不匹配即中止。Anthropic 已在 Claude Code 2.1.179 修复,OpenAI 在 Codex 0.146.0 修复;GitHub Copilot 披露时无修复,Google 表示不为已弃用的 Gemini CLI 打补丁
- 本质是供应链完整性 bug,但爆炸半径在于恶意代码可在 agent 环境内拿到源码、云凭据、SSH 密钥、内部仓库甚至生产系统
NIST IR 8587(9 月 15 日定稿,与 CISA JCDC 合作)
- 指导保护身份与访问令牌防伪造、盗取与滥用:密钥管理、受众限制、更短令牌生命周期、密码学绑定、吊销、持续访问信号
- 但两个边界对 agent 系统很关键:API key 明确不在其令牌模型内;AI agent 所采取动作的授权并未被全面覆盖。NIST 另有 NCCoE 项目在研究 agent 身份与授权,但仍处概念阶段
核心论点:IDC 的 Yih Khai Wong 一语道破——「令牌加固假设令牌持有者是已知、有界的主体」,而 agentic 系统打破了这个假设。有效凭据能证明身份或准入,却不等于「这个动作、这个目标、当前策略下」被授权。作者追问:敏感动作执行前应可审计谁授权、授权了什么、覆盖哪个目标、是否仍有效、执行内容是否与授权一致;执行后还需独立系统重建放行原因而不信任 agent 自述。最后抛出开放问题:这究竟是 IAM/PDP/PEP 做对就能解决的部署失败,还是「agent 有访问权」与「agent 被授权行动」之间仍缺失一个执行原语?
所属事件:Plugin4Shell 零点击漏洞波及四大编码 Agent(2 条相关)→
「编程与Agent」频道最新
- 用户实测 Meta Muse 应用:3 小时订酒店砍账单卖闲置全代办 — armand_ruiz · 2026-09-20
- Lovable 设计 skill 落地页详览:示例项目展示 Linear 风 UI 效果 — damienghader · 2026-09-20
- 作者免费开放 Lovable 设计 skill 文件,一行接入提升应用设计水准 — damienghader · 2026-09-20
- LangChain 团队下周办线上研讨:用 Jev 打造更优 agent harness — hwchase17 · 2026-09-20
- Jev 多阶段分类搭配 XState 状态机,解锁真实世界 agent 进阶玩法 — DavidKPiano · 2026-09-20
- 开发者因 ComfyUI 在 Mac 上太慢,自建 Apple Silicon 本地模型启动器 — janishar · 2026-09-20