你让 AI 帮你克隆了一个项目,刚打开它还没说一句话,恶意代码就已经在跑了——这件事今天被安全研究彻底扒开了
你让 AI 帮你克隆了一个项目,刚打开它还没说一句话,恶意代码就已经在跑了——这件事今天被安全研究彻底扒开了
你让 AI 帮你克隆了一个项目,刚打开它还没说一句话,恶意代码就已经在跑了。
这不是假设。Datadog Security Labs 在 8 月 3 日发了一篇技术报告,名字就叫《Before the first prompt》,专门研究「在 coding agent 信任一个项目之后、模型看到第一个 prompt 之前」这段时间里,有什么代码可以自动运行。研究人员发现了两种真实攻击路径:Codex 的 MCP 配置和 Claude Code 的 PATH 劫持,而且都不需要模型回复或命令行批准。
这件事把 AI 编程工具的安全假设全打穿了。
你以为「信任项目」只是让 AI 能读文件
正常逻辑是这样的:你把项目文件夹交给 Claude Code 或 Codex,AI 能读取代码、帮你开发。但问题出在这里——当你点了「信任这个项目」的时候,系统里有一堆东西被同时放行了,不只是文件读取。
Datadog 的研究列出了六种在项目信任之后可以自动执行的路径:
MCP 配置:Codex 支持在 .codex/config.toml 里定义项目级别的 MCP 服务器。一旦你信任了项目,Codex 会自动启动这些服务器——如果配置里写的是本地可执行文件,攻击者可以直接在受害者机器上起一个进程。
Hooks:Claude Code 和 Codex 都支持钩子,在 agent 生命周期的特定节点自动执行动作。Claude Code SessionStart 钩子可以在项目重新打开时自动运行。研究人员发现三个恶意 npm 包(编号 MAL-2026-3648)就利用了这个机制,安装后会在每次打开项目时触发恶意逻辑。
编辑器任务:VS Code 的 task 机制。恶意项目可以配置一个 project task,用户打开项目时 VS Code 自动运行它。
环境变量:Claude Code 项目目录下的 .claude 文件可以设置环境变量,包括 PATH。如果项目写了一个 wrapper 脚本并把它加到 PATH 里,Claude Code 自己的 Git 探针在执行时就会调用这个被篡改的脚本。
运行时启动文件:.bashrc、.zshrc 这类文件在 shell 启动时自动执行,不依赖 AI 行为。
仓库可执行文件:git、node 这类命令的路径如果没有写绝对路径,系统会按 PATH 顺序查找。如果恶意仓库里放了一个同名文件并诱导用户加到 PATH 前边,就可能劫持调用。
六条路,每条都不需要用户说一句话。
真实案例:一个 npm 蠕虫影响了 868 个包
这件事不是实验室里的理论攻击。
今年 8 月,一个叫 Shai-Hulud 的 npm 蠕虫感染了 868 个热门包,月均安装量超过 20 亿次。研究人员在其中一个恶意包里发现了针对 Claude Code 的 SessionStart hook——只要你打开这个项目,hook 自动运行,攻击者就能拿到你的会话上下文。
微软在 3 月披露的 Contagious Interview 攻击更直接:攻击者伪装成招聘方,让开发者克隆一个「笔试题仓库」。开发者信任了这个文件夹,VS Code 自动运行了项目里预置的 task,恶意代码就此执行。整个过程开发者只需要「打开文件夹」这一动作。
工具链做了什么防护
Codex 在 0.122.0 到 0.131.0 之间连做了三版防护:先阻止非信任项目加载 hooks,再对 command hook 做 hash 校验,最后加了 startup review interstitial——用户必须手动审核每个 hook 的定义才能运行。这个力度已经不弱了。
但研究人员还是找到了 MCP 这条漏网之鱼,因为 MCP 配置的信任检查和 hook 的信任检查是两套逻辑。
Claude Code 这边的防护主要是靠用户自觉——它依赖你手动 review hooks 定义,没有像 Codex 那样在每次启动时强制弹出审核流程。
怎么防
研究人员的建议很直接:把项目信任当成运行代码来对待。具体三件事:
第一,用隔离环境打开陌生项目。GitHub Codespaces 或虚拟机都行,别让陌生项目碰到你真实的开发环境凭证。
第二,信任之前先扫一遍项目根目录的可疑文件。重点查 .claude/、.codex/、package.json 里的 scripts 和 hooks、.vscode/tasks.json,以及 PATH 里可能出现的 wrapper 脚本。
第三,给每个 coding agent 配置独立的凭证。不要让 AI agent 拿着你日常开发的账号跑,给它一个限定了权限的 token,能限制攻击成功后的损失。
AI 编程工具越强大,它能触达的边界就越宽——攻击者也在盯着这个边界。
- 研究来源:Datadog Security Labs《Before the first prompt: Code execution paths in trusted coding-agent projects》(2026-08-03)、CyberPress《Shai-Hulud npm Worm Compromises 868 Packages》(2026-08-04)、Microsoft Security Blog《Contagious Interview campaign》(2026-03-11)*
评论区
登录后可评论。