当前位置:
AIGC文章详情

Coze CLI 静默注入技能风波:官方已修复两次,但你机器上的旧残留不会自动消失

源自20位全网作者

14:11

8月19日,扣子(Coze)桌面端正式上线,Agent 从网页走进了用户的电脑。授权后,Agent 可以读取和处理本地文件、调用电脑上的工具;云盘还能和本地持续同步,电脑上改完的文件可以继续交给 Agent 使用。小红书

Coze CLI 静默注入技能风波:官方已修复两次,但你机器上的旧残留不会自动消失

功能听着诱人,但如果你正在犹豫要不要装,我建议先补一补两周前的课——同一家公司的 Coze CLI,刚因为往 Codex、Claude Code 这些 AI 编程工具里"塞东西"不询问用户,在社区里掀起过一轮不小的风波。这件事会直接影响你该用什么心态看待"Agent 进入你的电脑"。

装过 Coze CLI,你的 Claude Code 可能被自动加了"技能"

8月11日,知乎上一篇技术报告把问题摆上了台面:@coze/cli 利用 npm 生命周期钩子 postinstall,在用户执行 npm install @coze/cli 时自动将两份 Coze 技能文件(SKILL.md / MODULE.md)写入用户本机的 AI agent 配置目录(Codex / Claude Code / Trae / Comate 等),使这些 agent 在特定对话场景下加载并执行 Coze CLI 的使用指令。此举未经用户明确同意。知乎

Coze CLI 静默注入技能风波:官方已修复两次,但你机器上的旧残留不会自动消失

翻译成人话:只要你装过 @coze/cli——哪怕它只是被某个项目依赖顺带装进来的——安装脚本就会把 6 份预置"技能"文档拷进 ~/.agents/skills 这个跨 Agent 工具共享的目录,再软链接进 Codex、Claude Code 等工具的配置里。整个过程几乎是隐形的:npm 7 及以上版本默认在后台执行安装脚本、丢弃输出,终端里连一行提示都看不到。

真正让开发者炸锅的,是旧版本技能的触发范围。v0.3.6 及更早版本的技能描述写的是"满足任一即触发,无需用户显式点名 coze":想做网页、开发或迭代项目、上线部署,全都算。在此版本下,用户说一句"帮我写个登录页面",skill 即被加载并将工作流路由到 Coze CLI——用户既未安装 coze 二进制文件,也未登录 Coze 账号,也未被告知发生了什么。知乎

也就是说,你可能只是想在 Codex 里写个前端页面,需求就被悄悄导流去了扣子编程。需要说明的是,报告核查后确认技能文件本身没有恶意代码,不含混淆、不外传数据、不偷凭据,问题出在未经同意的静默写入和工作流劫持上。有用户的手动修改还被直接覆盖过:今天干活的时候没注意coze自己更新了,把我之前改掉的description重新恢复回去了。你改掉的配置,它下次更新又悄悄改回来,这才是这轮舆情的核心怒火。

官方修了两次,第二次才算修干净

事件发酵后,扣子的反应不算慢。字节跳动旗下扣子因 Coze CLI 静默安装技能并劫持 Codex、Claude Code 等工作流被批「像病毒」,8 月 11 日发布 v0.3.7 版紧急更新,将触发条件从自动检测收紧为仅响应用户明确调用的扣子命令。但新版仍静默写入技能到共享目录。微博

换句话说,第一次修复只走了一半:不再随便劫持你的对话了,但往你电脑里写文件这件事,依然不问你。

真正的转折在 8 月 15 日的 v0.3.10。我们直接解开了 npm 上最新发布的 0.3.10 安装包验证:postinstall 脚本已经不再执行任何技能安装,只在安装结束后打印一句提示,告诉你捆绑技能没有自动安装、如需分发给 AI 工具请手动执行 coze self skill install;代码注释也写明"不自动执行 skill 安装,也不探测或改写任何 AI agent 的目录"。技能文档里的触发条件同步改成"用户明确要求使用 Coze CLI / 扣子编程时才加载",并明确"本地工程开发默认走常规本地开发链路"。就新安装而言,这个问题算是彻底解决了。

但旧文件不会自动消失,这才是要自查的部分

修复只对"新装"生效,之前已经写进你电脑的技能文件,不会跟着 CLI 升级自动删除,原因有三:

  • 技能写入的 ~/.agents/skills 是跨 Agent 共享的"中心池",不归 Coze CLI 管。这意味着即使卸载 Coze CLI,skill 文件仍可能残留在共享池中,继续被 Codex / Claude Code 等 agent 加载。知乎

  • 同步逻辑默认不覆盖"被用户改过"的技能;反过来,旧版宽触发技能也不会被新版本自动替换——CLI 升级到 0.3.7 之后,机器上跑的可能仍是更早版本写入的宽触发技能。

  • 如果 @coze/cli 被写进某个项目的依赖并锁定了版本,那么每次 npm install,都会重新执行那个旧版本的安装脚本。

自查清单,三分钟:

  1. 看用户目录下的 ~/.agents/skills/ 是否存在,里面有没有 using-coze-cli、coze-agent-collaboration 这类目录或软链接;

  2. 如果有,打开其中 SKILL.md 的 description 字段:写着"满足任一即触发,无需用户显式点名 coze"的是旧版宽触发,写着"用户明确要求使用 Coze CLI 时才加载"的是新版;

  3. 用 npm ls -g @coze/cli 查全局安装,再在项目里搜一下 package.json 是否把它锁成了依赖;

  4. 确认不需要的话,删除对应技能目录和软链接(删前先备份),再把 @coze/cli 升级到 0.3.10 或直接卸载;以后安装不太确定的 npm 工具,可以加 --ignore-scripts 跳过安装脚本;

  5. 如果你从没装过 @coze/cli,也不用慌,这条链路和你无关。

再看扣子桌面端:这次走的是正门

补完背景再看桌面端,就清楚多了。扣子今年的路线非常连贯:6月上线的扣子3.0全新版本支持多人多Agent协作、金融、自媒体、医疗、法律、科研等行业技能包,以及一键加载、多端同步等。同时,Claude Code、Codex CLI、Openclaw等可一键接入。微博 接着是 CLI,再到桌面端,方向始终是同一个:让 Agent 进入你的本地环境。

Coze CLI 静默注入技能风波:官方已修复两次,但你机器上的旧残留不会自动消失

区别在于,桌面端这次走的是正门。官方口径是"授权后"才能读取和处理本地文件,云盘是一个看得见、可以随时停掉的双向同步盘,而不是静默写进你看不见的配置目录。它还做了一件和 CLI 事件高度呼应的动作:也能自动识别本地 Codex CLI、Claude Code 接入为 Agent,多 Agent 协作史诗级增强。知乎 同样是接入你的编程工具链,一个是明示授权,一个是静默写入,性质完全不同。

Coze CLI 静默注入技能风波:官方已修复两次,但你机器上的旧残留不会自动消失

从社区反馈看,桌面端的深度截图、云盘同步、内置 PPT 和播客技能口碑尚可,但有两点提醒。

一是福利别当真。首次下载登录送 5000 积分的活动已于 8 月 21 日 24:00 结束,而公告评论区里,相当集中的反馈是下载了却没收到积分。小红书 评论区点赞最高的声音,则是质疑 5000 积分不够一次重度使用、积分消耗太快。现在装它纯属功能需求,别带福利预期。

二是权限给窄一点。如果你同时是 Claude Code / Codex 重度用户,桌面端装好后,建议只把真正需要协作的目录交给它。桌面端的权限模型还没经过社区大规模检验,而 CLI 事件已经演示过一次,这家公司的本地化策略可以有多激进。

给三类人的结论

  • 只在网页版搭智能体、跑工作流的扣子用户:桌面端是可选升级,不是必需。它最大的价值在本地文件和云盘协作,经常处理资料、表格、PPT 的人值得试,否则网页版照旧。

  • Claude Code / Codex 等 AI 编程工具用户:CLI 现在可以放心装,0.3.10 起技能分发完全手动;但建议先按上面的清单,自查一遍机器上的旧残留。

  • 从没碰过 Coze 的用户:这篇文章对你只有一件事——看一眼 ~/.agents/skills 是否存在,没有就放心划走。

最后说句公道话:扣子事后的响应速度,和第二次修复的彻底程度,值得肯定。但信任这东西,建立要十次正确动作,消耗只需要一次静默写入。扣子桌面端后续会不会引入新的本地写入机制,值得继续盯。查过自己机器的,评论区报个结果。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章