42 个 GitHub 仓库遭投毒!Claude、Cursor、Gemini 用户需警惕

· 2026-10-28 17:59 · 18 阅读

看雪学苑 2026-10-28 17:59 上海

恶意代码潜伏开发环境,窃取凭据并扩散攻击。

近日,JFrog 安全研究团队披露了一起供应链攻击事件:攻击者劫持了 42 个真实 GitHub 仓库,涉及 11 个合法仓库所有者,并植入恶意代码,针对 Claude、Gemini、Cursor 及 VS Code 等开发工具用户。

与常见的提示词注入不同,这次攻击不需要诱导 AI 模型执行恶意指令,而是利用开发工具的项目配置和自动执行机制,在开发者打开项目时触发恶意脚本。

一、恶意代码藏在项目配置中

研究人员发现,攻击者在相关仓库中植入了名为 .github/init.js 的恶意脚本,文件体积约为 12.9 MB 至 13.7 MB。

攻击者通过 Claude、Gemini、Cursor 和 VS Code 等工具的配置,设置了相应的脚本执行入口。部分项目还存在 package.json、composer.json 或 Makefile 等文件的异常改动。

由于恶意文件体积异常庞大,常规代码搜索未能完整发现相关载荷。JFrog 最初发现 26 个仓库,随后通过直接检查仓库文件树,将范围扩大至 42 个。

这意味着,代码搜索没有发现异常,并不代表仓库一定安全。

二、从 GitHub 到 npm,攻击试图形成传播闭环

此次事件与研究人员追踪的 npm 恶意软件活动有关,相关行动被称为 testmetest。

攻击者试图通过被盗账号和自动化发布流程,将恶意代码传播至更多软件包,进一步窃取凭据并扩大攻击范围。

研究人员还发现,部分恶意 npm 包包含编译后的原生扩展和加密载荷。恶意程序会根据运行环境采取不同策略,并检查 Wireshark、Fiddler、x64dbg 等分析工具,增加安全分析难度。

此外,攻击者还伪造部分提交记录,使恶意变更看起来像是较早发生的正常开发活动。

调查还发现,相关攻击活动涉及对 cPanel、WHM 系统的漏洞扫描。不过,目前没有证据证明相关扫描已经导致服务器成功失陷。

三、开发者应该如何防范?

针对这类攻击,开发者和安全团队可以重点做好以下工作:

  • 检查项目配置: 排查异常启动脚本、AI 工具配置、MCP 配置及工作区任务,重点关注 .github/init.js 等可疑文件。

  • 审查依赖与发布流程: 核对 npm 依赖版本、锁定文件及 GitHub Actions 工作流,防止恶意代码借助自动化流程继续传播。

  • 及时处置泄露凭据: 如果怀疑恶意代码已经运行,应在隔离和清除恶意程序后,撤销并轮换 GitHub、npm、云平台、SSH 等相关凭据,同时检查异常登录和发布记录。

  • 隔离不可信项目: 不要直接使用日常开发账号打开来源不明的仓库;应在隔离环境中检查,并限制开发工具未经审核的自动执行权限。

结语

此次事件提醒开发者:AI 编程工具带来的安全风险,不仅存在于模型本身,也可能隐藏在项目配置、自动执行钩子和软件依赖之中。

一个看似正常的代码仓库,也可能成为窃取开发者凭据、传播恶意软件的入口。

资讯来源:JFrog Security Research、The Register

球分享

球点赞

球在看

跳转微信打开

本文转载自微信公众号「看雪学院」,查看原文。版权归原作者所有,如有侵权请联系删除。