«

讲一下最近很火的 AI 提示词漏洞注入攻击事件 ----《Cline 供应链攻击事件》

时间:2026-3-14 22:06     作者:独元殇     分类: 开发相关


欢迎关注我的公众号,名叫「串串狗小刊」

上个月(2026-2-17)发生的一个著名的 github 标题提示词注入事件很刺激!在外网很轰动。

叫做《Cline 供应链攻击事件》。(目前已经修复)

cline是一款流行的开源自主编码代理 CLI 工具,支持 AI 辅助的软件开发任务——包括文件创建与编辑、终端命令执行及浏览器交互。它兼容 Anthropic、OpenAI、Google Gemini 等众多 AI 服务提供商。鉴于其深度集成于开发者工作流和 CI/CD 环境,该工具成为供应链攻击者极具价值的目标。

官方披露的地址是:

https://www.stepsecurity.io/blog/cline-supply-chain-attack-detected-cline-2-3-0-silently-installs-openclaw

一行提示词,还只是「自然语言」,直接导致 4000 台机器被入侵!

img

现在给大家介绍一下事情的经过,引以为戒!这个很值得我们看。

这个麻烦,还是由一个让人 胆战心惊 的 npm 注毒。一个坏蛋,在 2026 年的 2 月 17 日,在某个包里加了一行:

"postinstall": "npm install -g openclaw@latest"

这是什么意思呢?

就是安装 龙虾 !

昔日有木马屠城,今有引龙虾入市。然后接下来有 4000 台机器下载并安装了龙虾 openclaw!

龙虾 openclaw 是什么,是一个完整系统访问权限的工具。

那么,为什么能获取 npm 这个令牌呢?

就是在 github 的 issue 上,注入了一个提示。

事情的开始是这样的。

第一步:在 github 上,Cline 部署到了一个工作流。里面有个配置是: allowed_non_write_users: "*" 意思就是任何一个人,都可以创建一个 issue ,然后触发它。接着就会原封不动的进入 claude 提示里。

然后坏人,就创建了一个 issue ,编号是 8904 ,表面上是一个 性能报告,实际上是一个指令: 从特定的 github 仓库去安装 xxx 包。

第二步:我们的 claude 没在意,以为是个正常的操作,就执行了这个 npm install 命令,安装了这个看起来很容易花眼的山寨版仓库(glthub-actions/cline),注意, 中间的是 "l" 而不是 "i",而这个仓库里的 package.json 配置文件,配置了一个可恶的 Cacheract 攻击脚本。

Cacheract 攻击脚本 是一个GitHub Actions 缓存投毒工具。

于是,工作流会执行这个远程 shell 脚本安装,把Cacheract 攻击脚本安装了。

首先有一个知识点,github 对每个仓库,都有 10GB 的缓存配额,超过了就会执行【LRU 淘汰机制】,坏人在第二步,就拿到了执行权了,因为我们可以直接在 cli 命令行里使用 shell 命令对机器为所欲为(但当前还只是在 github 的临时沙箱里)!

第三步:坏人,现在有了临时沙箱的执行权限,于是生成了 10GB 的无意义的垃圾,上传,然后 github 就把项目原来合法的 node_modules 给删掉了。然后坏人搞了一个带毒的缓存留着备用,里面有和官方一模一样的 Cache Key。

第四步:晚上,高权限的 cline 工作流,没在意这个带毒的缓存(因为坏人伪造了一个一模一样的提取码 Cache Key),执行工作流时,就把带毒的包放进官方的 node_modules 里了。于是,这个脚本激活,翻遍了 服务器 的环境变量,把发布包所需的 NPM_TOKEN 给找到了,然后发回了坏人的 服务器 。

第五步:坏人,现在高兴死了,因为他有发布御用公章,NPM_TOKEN 了,于是「正大光明」以「官方」名义,发布了 cline@2.3.0 !其中就包含了安装龙虾 openclaw 的脚本。

之后有 4000 名开发者进行升级,之后都不知不觉安装了龙虾,然后开发者的电脑就完全透明的展现在这个坏人面前。

原因很简单,就是开头的那个 allowed_non_write_users: "*" 让仓库大开门。

这是一个典型的“间接提示注入”。只要你写的足够隐晦,AI 就意识不到这是恶意指令,然后就把坏人引进来了。

哈哈,有意思吧,AI 安装 AI 。以后千万不要给自己的工作流引入 AI ,或者让它操控高权限的危险事情。

标签: 原创 AI 提示词 漏洞