千star开源项目存在恶意代码
近期,LLM-Red-Team关联的开源仓库及多个GitHub项目遭遇针对性供应链攻击,引发了开发者社区对代码安全的集中警惕。图1
事件最初由开发者社区用户披露——在LLM-Red-Team旗下的1k star 的qwen-free-api,同帐号下的接近5k star的kimi-free-api等几个工程,仓库中,存在一段高度隐蔽的恶意代码:图2
这段代码被藏在chat.ts文件的最后一行,前置了大量空白字符以降低被察觉的概率,且即便删除该代码,项目仍能正常运行。图5图6
针对此情况,该仓库的主要维护者表示:其本地代码、IDE历史记录,以及同步至Gitee平台的代码版本中均无此恶意代码,目前正调查GitHub仓库提交记录被篡改的具体原因,初步认为是rand-user-agent导致,和下文参考链接提及的手法有一致性,用过相关账号下的所有工程的一定要自查电脑。图3图4
随着调查推进,安全研究者发现此次攻击并非个例——同一威胁者已攻陷至少19个GitHub仓库,目前已公开的9个仓库信息 图9
经安全团队溯源,此次攻击的威胁者,与此前向rand-user-agent等npm包投毒的是同一团伙。其攻击路径为:图7
借助已被投毒的依赖包作为“跳板”,通过篡改仓库提交历史的方式,将远程访问木马(RAT)等恶意代码隐蔽植入仓库分支——比如qwen-free-api中藏在文件末尾的代码,正是这种“伪装合法提交”手法的体现。
由于恶意代码被伪装成正常的仓库提交记录,克隆、使用这些受影响仓库的用户,会在不知情的情况下同步安装恶意程序,最终导致设备被远程控制、个人敏感信息或系统数据被窃取。
为降低安全风险,开发者社区及相关用户需采取以下行动:
1. 立即停止使用上述受影响仓库的代码与服务,直接删除本地、服务器上的相关仓库文件;
2. 核对自身使用的仓库提交记录,若包含对应恶意哈希,需彻底清理相关代码、依赖包及本地包管理缓存;
3. 后续避免使用长期未维护的开源仓库,并开启GitHub仓库的“提交签名验证”功能,防范提交记录被篡改;
4. 定期扫描本地系统进程与文件,清理已知恶意路径。
参考链接:图8
https://thenimblenerd.com/article/npm-supply-chain-attack-gluestack-packages-infected-with-sneaky-rat-malware/
#供应链攻击