一种新型蠕虫病毒正在GitHub上传播,它不攻击包管理器,而是直接注入AI编程工具的配置文件。73个微软GitHub仓库已中招。
什么是Miasma蠕虫?
Miasma是一个自我复制的供应链攻击工具,由SafeDep安全团队发现并报告。它的攻击目标不是传统的npm、pip等包管理器,而是AI编程Agent的配置文件。
攻击者在GitHub仓库中植入恶意配置文件(payload约4.3MB),当开发者克隆仓库并用AI编程工具打开时,恶意代码会自动执行。不需要运行npm install,不需要手动执行任何命令——只要打开项目就会中招。
五种触发方式
Miasma使用了五种不同的配置注入机制,覆盖了主流的AI编程工具:
1. Claude Code和Gemini CLI:利用SessionStart钩子,在Agent会话启动时自动执行Shell命令。
2. Cursor:通过MDC Rules文件注入系统提示词(System Prompt Injection),劫持AI Agent的行为。
3. VS Code:利用tasks.json的”打开文件夹时自动执行任务”功能,在项目打开时运行恶意命令。
4. package.json:劫持test脚本,当运行npm test时执行恶意代码。
窃取什么?
一旦触发,Miasma会窃取以下凭据:
- AWS、GCP、Azure云服务凭据
- HashiCorp Vault令牌
- SSH私钥
- .env文件中的敏感信息
- CI/CD流水线密钥
- npm令牌
更危险的是,Miasma是自我复制的——它会将自己注入到被感染开发者有权限访问的其他仓库中,通过维护者之间的信任关系横向传播。
影响范围
- 73个微软GitHub仓库被感染,涉及Azure等多个组织
- Red Hat的npm包也受到波及(30+个@redhat-cloud-services包)
- 多个维护者的账号被攻陷
如何防范?
1. 审查配置文件:在打开任何不熟悉的仓库之前,检查以下文件:
- .claude/ 目录下的SessionStart钩子配置
- .cursor/ 目录下的MDC Rules文件
- .vscode/tasks.json
- package.json中的test、postinstall脚本
2. 禁用自动执行:在AI编程工具中关闭或限制自动执行功能。特别是SessionStart钩子和文件夹打开时的自动任务。
3. 沙箱环境:打开不信任的仓库时,使用容器或虚拟机等隔离环境。
4. 检查Git提交来源:查看是否有来自陌生来源的意外提交。
5. 轮换凭据:如果你曾经克隆过可疑仓库并用AI工具打开过,立即轮换所有云服务凭据和SSH密钥。
6. 使用供应链安全工具:SafeDep等工具可以检测AI编程工作流中的恶意配置注入。
对站长的警示
这个事件说明,AI编程工具在带来效率的同时,也引入了新的攻击面。以前我们担心npm包里有恶意代码,现在连仓库里的配置文件都可能成为武器。
对于使用Claude Code、Cursor、VS Code等AI编程工具的站长和开发者来说,养成”先审查配置文件,再打开项目”的习惯,比以往任何时候都更重要。
本文参考来源:SafeDep – Miasma Worm Targets AI Coding Agents via GitHub Repos















暂无评论内容