Hacker News 中文摘要

RSS订阅

GitLab发现大规模NPM供应链攻击 -- GitLab discovers widespread NPM supply chain attack

文章摘要

GitLab发现npm生态系统正遭受大规模供应链攻击,恶意软件"Shai-Hulud"通过受感染包传播,具有蠕虫式自动扩散能力,并包含"死亡开关"机制威胁用户数据安全。GitLab确认自身未使用这些恶意包,并公开研究结果以协助安全社区应对。

文章总结

GitLab发现npm生态大规模供应链攻击事件

GitLab漏洞研究团队近日发现一起活跃的大规模供应链攻击事件,一种破坏性恶意软件变种正在通过npm生态系统传播。内部监测系统已发现多个受感染软件包,其中包含经过升级的"Shai-Hulud"恶意软件。

攻击特征分析: - 具备蠕虫式传播特性,可自动感染受影响开发者维护的其他软件包 - 包含"死亡开关"机制,当传播和数据外泄通道被切断时将威胁销毁用户数据 - 已确认GitLab未使用任何受感染软件包

技术细节: 1. 初始感染载体: - 通过修改package.json中的preinstall脚本指向setup_bun.js - 该加载器脚本伪装成安装Bun JavaScript运行环境,实际用于建立恶意执行环境

  1. 凭证窃取:
  • 收集GitHub、npm、AWS、GCP和Azure凭证
  • 使用Trufflehog工具扫描文件系统获取敏感信息
  1. 数据外泄网络:
  • 利用被盗GitHub令牌创建标记为"Sha1-Hulud: The Second Coming"的公开仓库
  • 构建弹性网络,使受感染系统共享访问令牌
  1. 供应链传播:
  • 使用被盗npm令牌感染受害者维护的所有软件包
  • 注入恶意脚本并重新发布受感染软件包

死亡开关机制: 当同时失去GitHub和npm访问权限时,将触发数据销毁程序: - Windows系统:删除所有用户文件并覆盖磁盘扇区 - Unix系统:使用shred命令覆盖文件后删除

检测与防护建议: 1. 使用GitLab Ultimate的依赖项扫描功能 2. 启用GitLab Duo Chat的安全分析代理 3. 重点关注以下IoC指标: - bun_environment.js文件 - .truffler-cache/目录 - 可疑的Bun安装命令

当前进展: GitLab正持续监控新感染情况,并与社区合作制定安全修复策略。此次攻击标志着供应链攻击的升级演变,其威胁机制使攻击者基础设施具备更强的防御能力。

(注:原文中的代码片段、图片引用及重复内容已作精简处理,保留核心技术细节和关键防护建议)

评论总结

评论总结:

  1. 关于NPM安全漏洞的普遍性
  • 观点:NPM成为主要攻击目标可能因其普及度高
  • 引用:"Does anyone know why NPM seems to be the only attractive target?"(wiradikusuma)
  • 引用:"Not all the npm packages, but always an npm package"(TZubiri)
  1. 安全威胁的严重性
  • 观点:凭证窃取是最令人担忧的问题
  • 引用:"The credential harvesting aspect is what concerns me most"(thepasswordapp)
  • 观点:这相当于经济战
  • 引用:"is this not effectively (economic) warfare?"(Incipient)
  1. 解决方案建议
  • 观点:开发者应定期更换凭证
  • 引用:"This is why periodic credential rotation matters"(thepasswordapp)
  • 观点:应建立开发者身份验证机制
  • 引用:"enable developers to optionally identify themselves"(yupyupyups)
  1. 其他观点
  • 观点:C语言编程相对安全
  • 引用:"Lucky for us C programmers"(dmitrygr)
  • 观点:对商业化推广持保留态度
  • 引用:"until they used it to try and sell me on Gitlab's security features"(Aeolun)