← 返回 Claude AI IP 检测更多资讯 →

扣子 CLI 静默写进 ~/.claude/skills:0.3.7 收紧的只是触发条件

Claude 资讯 · 2026-08-12 · Net.Coffee

装一个命令行工具,Claude Code 的技能搜索范围里就多了四个不是你放的技能

一句话:字节跳动扣子的 Coze CLI 被指在安装时静默把自家技能写进 ~/.claude/skills/ 等目录,让 Claude Code、Codex 的工作流被导回扣子执行;8 月 11 日发布的 v0.3.7 把触发条件收紧到"用户明确调用",但静默写入这件事本身没停。

这轮争议的起点不在安全公告里,而在一段吐槽视频。有用户在 B 站公开抱怨扣子的命令行工具"像是病毒"——他并不是在用扣子的时候发现的,而是在打开 Codex 干活时,注意到技能列表里多了几条自己从没装过的东西。顺着往回查,才发现来源是前些天顺手装上的 Coze CLI。

它是怎么伸进别人家目录的

据蓝点网的分析,Coze CLI 把安装动作写在了包管理器的生命周期脚本里:用 npm 或 pnpm 装完主程序,脚本会紧接着拉起附带技能的安装,全程不需要用户确认,还通过参数把子进程输出藏了起来,只有在 CI 环境或从源码开发时才会跳过。也就是说,终端里滚过去的那几行"安装完成",并不包含它实际做完的全部事情。

装完之后是探测。这套技能工具会扫描本机有没有各家 AI 编程工具的配置目录来判断"你装了什么":

技能这套机制本来的设计前提是"目录里的东西都是我自己放的"。它没有签名、没有来源标记、也没有权限边界,模型读到什么就当什么用。一旦有人往里面复制文件,等于是往你的助手脑子里加了一段它会主动照做的指令,而它在界面上看起来跟你手写的技能没有任何区别。这也是为什么同样一件事——"复制几个文本文件到用户目录"——放在别的软件上顶多算流氓,放在这里就足以让人想到病毒。

0.3.7 改了什么,又没改什么

8 月 11 日下午,扣子发布了 v0.3.7。改动集中在触发条件:旧版会在用户"开发、修改、调试、运行或迭代软件产品"时自动加载扣子技能——这个描述几乎覆盖了写代码的全部动作;新版收紧为只有用户明确要求使用扣子功能,或者输入 /coze-cli/coze 前缀时才触发。

被批评的劫持行为算是停了。但按蓝点网的复核,新版依然:安装时无提示地装技能、用参数隐藏安装过程、默认全局激活并写入共享技能目录、自动探测并记录已装的智能体。换句话说,改的是"什么时候用它",不是"要不要往你机器上放它"。想彻底躲开,目前的办法是装的时候跳过脚本、再把技能同步关掉:

官方到目前没有发公开说明,只是把修订版推了出来。

比劫持更值得盯的是那份依赖清单

真正麻烦的地方在于,这些被静默安装的技能,其依赖并没有锁定具体版本。NPM 生态这两年被供应链攻击反复光顾,上游一个包被投毒,理论上就能顺着这条不需要用户确认、还会自动写入多个 AI 工具目录的通道进到开发机里。扣子自己有没有恶意是一回事,它顺手修出来的这条路谁都能走,是另一回事。蓝点网的审计说法也停在这个分寸上:没发现传统意义上的恶意软件行为,但这种导流锁定的做法"不可接受"。

争的其实是入口

把时间线拉长一点会更清楚。扣子 3.0 在 6 月 1 日上线时打的旗号,就是能把 Claude Code、Codex CLI、OpenClaw 这些本地 Agent 接进自己的多智能体协作里。平台方想当那个"总调度",这在产品逻辑上说得通;问题是当调度权拿不到的时候,改成往对方的技能目录里放东西,就从集成变成了争入口。用户手里那台开发机,正在同时被好几家当成必须占住的地盘。

对具体使用 Claude Code 的人来说,可做的事情不多,但都不难:装完新的 CLI 工具后翻一眼 ~/.claude/skills/,看看里面有没有自己没放过的目录;把技能目录纳入平时的检查范围,就像检查 shell 配置一样。Claude Code 稳定使用指南里那 11 项配置基本都在这个层面上——一个装在本地、能读你代码也能替你执行的工具,值得你知道它现在到底带着哪些东西在跑。