## 软件供应链安全:信任侵蚀与新兴防御
现代软件依赖于内在的信任——下载的代码是真实的,来自预期的来源,并且功能如预期。然而,这种信任正日益被攻击者利用,这从PyPI和npm等注册表中删除的数千个恶意软件包、项目中注入的恶意软件以及XZ Utils事件等几乎成功的后门中可见一斑。传统的依赖项扫描只能识别*已知*漏洞,无法保护免受拼写错误、维护者被入侵或构建管道中毒的影响。
攻击者采用欺骗性软件包命名(拼写错误和依赖混淆)和凭证盗窃等策略来入侵发布者并注入恶意代码。他们越来越多地将目标锁定在构建过程本身,如SolarWinds和Ultralytics攻击所示。即使是受信任的维护者也存在风险,以XZ Utils持续入侵事件为例。
防御正在演变。像**TypoGard/Typomania**这样的工具对抗拼写错误,**Zizmor**分析GitHub Actions中的漏洞,而**PyPI的Trusted Publishing & attestations**(使用Sigstore)验证构建来源。**Homebrew**现在为瓶子构建使用证明,**Capslock**则用于分析Go包的能力。
最终,确保软件供应链安全需要从隐式信任转向*明确、可验证的保证*。积极措施、整个生态系统的改进以及关注验证代码*能做什么*,而不仅仅是*来自哪里*,对于建立弹性至关重要。