打开网易新闻 查看精彩图片

2025年1月至今,开源软件仓库里混进了1700多个"特洛伊木马"。它们不叫病毒,叫debug-fmt、logkitx、apachelicense——名字听起来比你写的注释还正经。Socket安全团队最新报告显示,朝鲜背景的黑客组织"Contagious Interview"已经把战场从npm扩展到PyPI、Go、Rust、PHP五大生态,专门盯着开发者的机器下手。

这帮人把恶意代码藏进了你最常用的调试工具

这帮人把恶意代码藏进了你最常用的调试工具

传统的供应链攻击喜欢在安装环节搞事情——你敲下npm install,后台就开始偷数据。但这次不一样。恶意代码被嵌在看似正常的函数里,比如logtrace包中的Logger::trace(i32)方法,一个程序员每天都会调用的日志追踪接口。

你以为是调试日志,它却在后台下载远程控制木马。

Socket研究员Kirill Boychenko在报告中打了个比方:这些包"冒充合法开发者工具,同时悄悄充当恶意软件加载器"。换句话说,它们把Contagious Interview的老剧本升级成了跨生态系统的协同作战。

已识别的恶意包名单读起来像一份"最佳实践工具集":dev-log-core、logger-base、fluxhttp、license-utils-kit……全是开发流程里的高频词汇。Go生态里的github.com/golangorg/formstash甚至伪造了golang.org的官方域名,只差一个字母的拼写陷阱。

Windows用户中了"完整版",其他平台拿"精简版"

Windows用户中了"完整版",其他平台拿"精简版"

这些加载器的第二阶段载荷会根据平台变化。Linux和macOS版本主要是信息窃取器——浏览器数据、密码管理器、加密货币钱包,标准配置。

但Windows版本通过license-utils-kit投递的,是Boychenko口中的"完整入侵后植入体":执行shell命令、键盘记录、浏览器数据窃取、文件上传、终止浏览器进程、部署AnyDesk远程桌面、创建加密压缩包、下载额外模块——一个不少。

跨生态系统的广度,加上至少部分载荷的深度,让这轮攻击格外值得关注。

这种分层设计暴露了攻击者的算计:用轻量级载荷覆盖更多平台,对高价值目标(Windows企业开发机)才舍得下血本。毕竟,朝鲜黑客的背景决定了他们既要情报也要钱——加密货币钱包是硬通货,企业内网数据是谈判筹码。

这不是孤例,是系统性的"开源投毒"

这不是孤例,是系统性的"开源投毒"

Contagious Interview的扩张只是朝鲜黑客供应链攻击的冰山一角。同一时期,他们还通过社会工程控制了Axios npm包的维护者账号,向这个每周下载量1700万次的流行库植入WAVESHAPER.V2后门。攻击者UNC1069与BlueNoroff存在重叠,后者以瞄准金融机构著称。

从手法上看,这些行动共享同一套逻辑:先成为开源社区的"可信贡献者",再伺机发动攻击。伪造的调试工具、盗用的维护者账号、量身定制的社交工程话术——都是为了让恶意代码在"合法"的掩护下流通。

开源软件的信任模型建立在"代码可见"的假设上,但可见不等于被审查。1700个恶意包在五大生态系统中存活数月,依赖的正是开发者"名字看起来没问题就直接用"的习惯。

Socket的数据是2025年1月至今的统计。考虑到开源包的累积下载机制,实际暴露的开发者数量可能远超想象。一个被污染的日志工具被某个热门项目依赖,影响范围就会指数级扩散。

目前这些恶意包已被下架,但攻击者的基础设施仍在运转。Boychenko没有透露第二阶段载荷的C2服务器位置,只强调"这是一场资源充足、持续存在的供应链威胁"。

当你下次复制粘贴一个npm install命令时,会不会多看一眼那个包的维护者是谁?