事件经过
GhostAction——一个利用被盗GitHub凭证的供应链攻击行动——于2026年10月14日至15日(GitHub阻断其第一阶段工作流注入一周后)演进了第二阶段。第一阶段已劫持约1,900个GitHub账户和30,000多个仓库,运行窃取凭证的Actions工作流,从CI中提取密钥(npm、PyPI、DockerHub、AI提供商密钥)。第二阶段将伪造的Font Awesome“字体”文件(实际上是38行Node.js代码)植入66个所有者名下的94个仓库中,通过.vscode/tasks.json中标记为“eslint-check”的任务在开发者于VS Code中打开项目时自动执行。它收集用户名/主机名/环境变量,递归搜索主目录中的AWS密钥、GitHub/npm/PyPI令牌及Anthropic API密钥,安装cron作业,并携带一条针对Cursor编码代理的嵌入指令——一种提示注入式指令,告诉代理运行该文件。
影响分析
这是对AI开发者工具链的直接攻击:仅通过克隆并在AI集成IDE中打开仓库即可触发载荷,且它专门针对AI编码代理和代理管道所依赖的凭证存储(CLI/云/SSH以及AI提供商API密钥)。克隆一个看似合法的仓库即可在开发者工作站和其CI中运行攻击者代码,暴露代理所持有的模型提供商和云凭证。Cursor指令意味着代理可能被诱骗按攻击者植入的指令行事。
攻击途径
在VS Code/Cursor中克隆并打开被污染的仓库会触发.vscode/tasks.json自动启动任务;隐藏的提示指令强化了Cursor代理的执行;第一阶段劫持的Actions工作流窃取CI密钥。
受影响系统
VS Code / Cursor编码代理和携带虚假.vscode/tasks.json“eslint-check”任务的仓库;引用第一阶段注入操作的GitHub Actions工作流
缓解措施
审查自10月8日起克隆的仓库中的.vscode/tasks.json和.github/workflows;先在干净设备(而非感染机器)上撤销GitHub令牌,然后轮换AWS密钥、npm/PyPI令牌和AI提供商密钥;要求工作流审批并将Actions固定到提交SHA。