# 事件概述
近日,安全研究人员披露了一起针对微软旗下数十款开源AI工具的大规模供应链攻击。攻击者通过入侵项目依赖库或篡改代码仓库,向受影响的工具中植入恶意组件,导致大量开发者的凭据(包括GitHub个人访问令牌、云服务密钥等)被窃取。据初步统计,涉及的工具涵盖 **Azure AI SDK、ONNX Runtime、Cognitive Toolkit** 等多个核心项目,受影响用户数以万计。
# 攻击手法分析
本次攻击属于典型的 **“依赖混淆”与“恶意代码注入”组合攻击**。攻击者首先通过社会工程或漏洞利用,获得了部分微软开源项目维护者的权限。随后,他们向多个工具的构建依赖文件中添加了伪装成合法补丁的恶意包(例如在npm或PyPI上发布同名但更高版本的包,或直接修改CI/CD流水线)。当开发者运行日常的`npm install`或`pip install`时,恶意代码自动执行,将内存中缓存的凭据、环境变量甚至SSH密钥发送至攻击者控制的C2服务器。
值得注意的是,攻击者选择了 **AI工具链**作为目标,因为这些工具通常被部署在开发者的本地环境或云构建机上,且拥有较高的API权限,能够接触到大量敏感资源。
# 影响与后果
– **凭据大规模泄露**:被窃取的凭据包括GitHub账号(可用于篡改其他仓库)、Azure订阅密钥、以及连接企业内部系统的Token。安全团队已检测到至少有 **上千个有效凭据** 在黑市上流通。
– **二次供应链污染风险**:攻击者可以利用窃取的凭据,向更多下游项目提交恶意代码,形成连锁反应。目前已发现有多个第三方AI库出现了异常提交记录。
– **信任危机**:微软作为开源生态的重要贡献者,其官方工具被攻击,动摇了开发者对“上游信任链”的依赖。许多团队紧急暂停了所有自动更新,并全面审查依赖清单。
# 微软的应对措施
微软安全响应中心(MSRC)已发布官方通告,确认漏洞存在并提供了 **受影响工具列表** 及 **校验哈希**。具体措施包括:
– 从官方源下架所有被篡改的包版本,并发布修复版本(如`1.2.3-patched`)。
– 强制所有开发者轮换在受影响环境下使用过的GitHub Token、SSH密钥。
– 在Azure DevOps中新增 **依赖完整性检查** 功能,自动拦截不符合预期的包。
# 行业教训与建议
1. **供应链安全优先**:即使是大型科技公司的开源项目,也需引入 **软件材料清单(SBOM)** 和 **门禁签名机制**(如sigstore)。建议开发者不要盲目信任“官方源”,应使用`–verify`参数或工具(如npm audit、Trivy)预先扫描依赖。
2. **最小权限原则**:CI/CD流水线中使用的凭据应严格限制作用域,例如使用 **短期访问令牌**,并避免将生产环境密钥存储在项目中。
3. **主动监控异常**:部署行为基线检测系统(如GitHub的Secret Scanning),一旦发现私钥被公开,立即撤销并告警。
此次攻击再次证明,开源生态的供应链防线需要 **多方协同**——从平台方(GitHub、PyPI)到项目维护者,再到每一位终端开发者,缺一不可。