近年来,随着开源软件的广泛应用,供应链安全问题逐渐成为软件生态系统中不可忽视的风险点。2025年9月,知名嵌入式分析数据库DuckDB的NPM账号duckdb_admin被黑客成功入侵,攻击者通过钓鱼邮件获取了维护者的账户访问权限,快速发布了带有极具破坏性的恶意软件版本。此次事件不仅再次暴露了开源软件生态中的巨大安全隐患,也提醒全球开发者必须时刻警惕供应链攻击的威胁。 DuckDB是以高性能数据分析和处理闻名的开源数据库项目,其在JavaScript和Node.js领域拥有广泛用户基础。该项目相关的NPM账号维护着多个关键软件包,如duckdb、@duckdb/duckdb-wasm、@duckdb/node-api和@duckdb/node-bindings,这些包的周下载量达到数十万次,涵盖全球众多开发和生产环境。2025年9月9日凌晨,这些包的多个版本相继发布了携带恶意代码的版本,立刻引起了安全专家的关注。
此次被植入的恶意代码是一种高度隐蔽的"钱包盗窃"恶意软件,属于持续供应链攻击活动的一部分。攻击者利用一个极其逼真的仿冒网站npmjs.help,诱导DuckDB的开发维护者登录并重置双因素认证。该仿冒网站不仅复制了npmjs官方网站的界面,甚至能够实时转发用户的登录操作到真实网站,使得开发者难以察觉异常。攻击者借此顺利获取了API访问令牌,并发布带有恶意代码的包版本,这些版本随后被发现含有篡改交易数据的功能,能够劫持包括以太坊、比特币、索拉纳、TRON等多个主流区块链钱包的交易流程,将资金导向攻击者控制的钱包地址。 从技术分析来看,这段恶意代码采用了复杂的字符串混淆和正则表达式,精准识别并替换多个区块链地址模式,具备强大的隐匿性和多链支持能力。代码内部定义了针对多条主流区块链地址格式的正则表达式集合,有效覆盖了以太坊、比特币传统版与Segwit地址、TRON、比特币现金、莱特币以及索拉纳多种地址样式。
通过拦截浏览器的fetch、XMLHttpRequest请求及钱包API调用,恶意代码可以在用户不知情的情况下篡改交易收款地址,导致资产被窃取。 幸运的是,尽管攻击范围广泛,安全研究数据显示攻击者通过此次事件实际获利金额有限,大约仅有600美元左右,具体包括以太坊、索拉纳及其他加密货币小额收入。目前被识别受影响的包版本已在npm仓库被废弃,账号安全问题亦获得部分修复,但该事件对开源软件供应链安全的警醒意义深远。 供应链攻击本质上是对软件开发和交付流程的攻击,攻击者通过入侵关键维护账户或篡改软件构建环境,将恶意代码植入流行的开源包中,借助其广泛的用户基础实现快速传播和感染。此次DuckDB事件继之前对Qix维护者账号的攻击之后,再次证明了攻击者在选择目标上的策略性和持续性,以及钓鱼邮件作为入侵手段的高成功率。 DuckDB维护团队已经对外发布详细事件说明,坦诚指出该攻击如同"经典钓鱼案例",邮件与仿冒网站极具迷惑性,让人难辨真伪。
他们强调在此次攻击中虽然启用了双因素认证,但依然未能有效抵御因维护者主动完成2FA重置而引发的安全隐患。该现象提醒广大开发者,无论采取多重认证措施,仍需对钓鱼、仿冒网站保持高度警觉,并建议通过额外途径确认邮件或网站真伪。 从开发者角度来看,面对这样高调而严峻的供应链攻击,首要是避免使用被标记为受影响的恶意版本,及时升级至经过验证的安全版本,如DuckDB的1.3.4及以后版本,但升级前仍应详细审查更新日志与安全公告动向。同样,组织和个人应加强对依赖包的安全审计,利用自动化工具检测潜在恶意代码,并定期监控软件包来源渠道的安全状态。 从整个开源生态系统视角,供应链的安全防护需多方协作。开源维护者应强化账户安全管理,实施强密码和多因素认证,尽量避免账号共享,同时关注通过安全事件通报快速响应。
平台方如npm,则需加大对异常登录行为的检测,采取更严格的身份验证手段,并提供官方审核和回滚机制。同时广泛开展针对维护者的安全培训,提高他们抵御钓鱼攻击的能力,减少人为失误导致的安全事件发生概率。 近年来,类似针对开源软件库及开发工具链的供应链攻击事件层出不穷,不仅影响技术开发进程,甚至威胁企业数据安全和用户资产完整性。DuckDB被攻事件中,多重区块链钱包地址被恶意篡改的攻击模式,展示了攻击者对复杂多链资产盗窃的策略性思考和技术准备,提醒数字资产安全同软件供应链安全同样重要。 全球安全专家不断强调,未来开源软件安全防护的不变主题是:人才、机制与技术三方面必须协同进步。只有当开发人员安全意识觉醒,平台安全措施得以完善,恶意代码检测和自动化审计技术持续革新,才能有效遏制供应链攻击趋势,保障庞大开源软件生态的持续健康发展。
此次DuckDB供应链攻击事件,尽管未造成灾难性财产损失,却再一次为开发者敲响警钟,昭示供应链安全威胁无处不在且持续演进。各方务必重视并完善权限管理和安全防护体系。与此同时,提高对钓鱼邮件、仿冒网站及网络社会工程攻击的识别能力,增强安全敏感度,方可在复杂多变的网络环境中,护航开源软件的安全未来。 。