近期,软件供应链攻击再度成为信息安全领域的焦点,针对CrowdStrike npm包的持续性供应链攻击已被安全研究团队Socket检测并详细披露。此次攻击延续了此前名为"Shai-Hulud"的恶意行动,影响规模惊人,波及近500个npm包,给开源生态和依赖安全敲响警钟。攻击者通过恶意篡改CrowdStrike旗下多个npm包的发布版本,引入恶意代码,从用户环境中自动搜集敏感凭证并将其泄露到攻击者掌控的远程服务器。此次事件暴露了供应链安全防护存在的缺陷,及时采取应对措施对开发团队和企业安全至关重要。 此次事件的恶意载荷核心是一段名为bundle.js的恶意脚本,其中包含了调用TruffleHog的功能模块。TruffleHog是一款合法的秘密扫描工具,在攻击中被用来搜索承载环境内的各种身份凭证和云服务密钥。
攻击流程通过扫描宿主系统环境变量,如GITHUB_TOKEN、NPM_TOKEN、AWS_ACCESS_KEY_ID及AWS_SECRET_ACCESS_KEY等,识别和验证有效令牌,随后恶意代码会自动向GitHub仓库植入未经授权的Actions工作流,以实现对持续集成流程的持久控制。一旦工作流写入成功,其会在未来任何CI运行时触发数据外泄操作,将敏感凭据信息发送到攻击者预设的Webhook端点。值得注意的是,攻击者在工作流文件命名中巧妙引用了"shai-hulud.yaml",呼应沙丘世界中的传奇沙虫,彰显攻击背后的意图与组织的精心策划。 从时间线上观察,首次检测到的攻击事件发生于2025年9月14日17:58 UTC。从当天的第一批恶意包开始,攻击保持持续爆发状态,多次大批量发布被篡改的包,涉及超过100个版本。9月15日多次凭证窃取及包篡改活动持续展开,攻击者反复利用不同版本的恶意脚本以提高传染效率。
同样值得关注的是,9月16日出现的最大攻击爆发波次中,单批次贡献近百个被污染包,规模空前。攻击者通过版本迭代持续优化攻击载荷,从最早带有调试信息的代码版本,逐步增强隐蔽性,减少异常日志产生,改进漏洞利用效率,并调整云服务目标,从Azure转向Google Cloud,大幅提升了攻击的隐匿性和持久性。 恶意软件呈现出极强的自我繁殖能力,感染系统后不仅会利用窃取的权限进一步篡改并重新发布新的被感染包,还会通过恶意植入的postinstall脚本确保每次npm安装过程中恶意代码自动执行。此类策略不仅极大地增加了传播压力,也使最终用户难以察觉其中风险,造成供应链下游大规模感染。同时,GitHub中的"Shai-Hulud Migration"相关仓库数量暴增,推测为攻击者搭建的持久化机制和自动化工具链的产物,进一步加剧了事件复杂性。 漏洞利用路径清晰:攻击者通过获取发布npm包的账户凭证,下载目标包的原始代码,注入恶意bundle.js,新增后续安装时自动触发的脚本,重新打包上传发布,形成恶意链条。
新版本还降低对GitHub仓库是否已存在的校验,防止因重复操作导致崩溃,提升了攻击效率。多轮版本迭代在避免异常抛出、减少日志噪声、加入跳过文件系统扫描开关等功能方面明显改进,以减少被检测风险。最终,攻击者成功实现对受感染代码库持续的植入控制与扩散,即使多次清理也难以根除。 综合风险来看,这波供应链攻击不仅涉及代码篡改,更严重的是凭证窃取和主动植入CI/CD流程中的隐秘持久化机制。攻击可能导致开发者、CI环境甚至上游云服务的访问密钥泄露,深层次影响企业安全边界。此次事件暴露了供应链整体安全防御的短板,显示出在自动化发布、身份验证及权限管理等环节存在的隐患,同时呼吁行业加强对npm及开源库的管控力度和动态威胁监测能力。
针对该攻击,安全专家建议企业与开发者立即采取多项措施以缓解风险。首先,应全面排查项目中引入的受影响npm包版本,必要时升级至供应商确认安全的版本或临时锁定可信版本。其次,彻底检查所有开发和持续集成环境,尤其是具备包发布权限的环境和凭证,确认是否存在异常使用或泄露迹象,并及时进行密钥重置。大量监控策略也需部署,包括对npm包发布历史及仓库操作日志的严格审核,及时发现异常发布行为。托管服务平台也应配合强化权限隔离和多因子认证,限制自动化流程中的潜在滥用风险。 此外,企业应加快构建多层次的供应链安全体系,关注代码仓库访问控制、依赖包动态行为检测以及持续集成中的安全策略落地。
强化开发者安全意识和防护培训,提升应对供应链攻击的综合防御能力。社区层面,推动npm官方及相关生态维护方加强包审核机制,提升恶意包自动检测和快速清理能力,尽可能阻断攻击链路的传播。 当前,事件相关恶意包已被npm官方尽快下架,相关安全团队也持续监控任何新出现的攻击样本和变种。受波及的npm包名单超过500个版本,涉及众多知名命名空间和项目,对业界影响广泛。由此可见,供应链安全挑战将随着开源生态的发展而日益凸显,开发者和组织必须高度重视这一领域的防护,构建更具韧性的安全架构。 总结而言,此次针对CrowdStrike npm包的供应链攻击事件表明,尽管开源软件极大地提升了开发效率和创新能力,却也带来了前所未有的安全复杂性。
攻击者利用自动化手段在包传播链中窃取凭证、植入持续执行的恶意脚本,制造难以察觉的隐蔽威胁。面对此类高强度攻击,业界需统一行动,加强安全检测工具研发,完善供应链安全流程管理,并强化权限和凭证的安全运营,从源头到使用端全方位筑起坚固防线,保障软件供应链安全稳定运行。未来,只有在安全意识、技术防护和社区协作不断进步的基础上,才能更有效地抵御此类复杂且持续升级的攻击风险。 。