网络安全

NuGet 将 API 密钥有效期缩短至 30 天,以增强软件供应链安全

NuGet.org 将于 2026 年 8 月 17 日开始将新 API 密钥的有效期限制为 30 天,而所有在此日期之前创建的密钥将于 11 月 1 日失效。Microsoft 建议软件包发布者迁移到基于 OIDC 的 Trusted Publishing。

2026-08-03
2 分钟阅读
8 浏览量
فريق تحرير certi.news
NuGet 将 API 密钥有效期缩短至 30 天,以增强软件供应链安全

NuGet.org 计划自 2026 年 8 月 17 日起,将新 API 密钥的有效期缩短至 30 天。Microsoft 表示,此举旨在降低凭据被盗风险,并增强软件包供应链安全。该平台还将取消创建有效期为 365 天的新密钥的选项,而所有在 8 月 17 日之前创建的密钥将于 2026 年 11 月 1 日失效。

Microsoft 要求所有在 NuGet.org 上发布软件包的用户在变更开始实施前检查现有的发布机制,尤其是因为 API 密钥实际上相当于允许发布软件包的密码。如果长期密钥被保存为存储库中的机密信息、在多个系统之间复制,或被写入构建配置,那么一旦泄露,攻击者就可能获得较长时间来发布未经授权的版本。

密钥有效期缩短计划

该计划分为两个明确阶段:

  • 2026 年 8 月 17 日:将新密钥的最长有效期限制为 30 天,并取消 365 天有效期选项。
  • 2026 年 11 月 1 日:所有在 2026 年 8 月 17 日之前创建的密钥失效。

Microsoft 解释称,缩短有效期本身并不会使 API 密钥变得安全,但会缩短丢失或泄露的密钥可以被使用的时间。该公司引用了使用被盗凭据入侵 NX console 软件包的事件;当时发布了恶意的 NX Console 软件包,据 NX 团队称,该软件包在被移除前的 36 分钟内被激活了 6000 次。

建议迁移到 Trusted Publishing

Microsoft 建议使用 Trusted Publishing。这是一种于 2025 年 9 月推出的发布机制,允许 CI/CD 工作流通过 OpenID Connect(OIDC)向 NuGet.org 进行身份验证。工作流会提供一个签名且短期有效的身份令牌,NuGet.org 根据软件包所有者定义的策略验证该令牌,然后仅为本次发布操作签发临时 API 密钥。

与从机密存储中提取长期密钥不同,该机制不要求在存储库或 CI/CD 系统中保存长期发布机密,同时会创建短期凭据并自动使其失效。该策略包括验证与存储库和工作流相关的工作负载身份,并可选择添加环境。它也不需要用户管理的机密或手动轮换机密,并能限制凭据泄露的影响范围。

软件包发布者需要采取的措施

发布者应盘点所有面向 NuGet.org 的发布操作,确定在 2026 年 8 月 17 日之前创建的密钥,并更新自动化流程,以安全地处理和轮换有效期更短的密钥。相关指南还包括使用软件包和权限所需的最小范围,不要将 API 密钥放入代码存储库或日志中,立即删除任何丢失或泄露的密钥,并确保失效通知能够发送到有人监控的账户。

Microsoft 呼吁 GitHub Actions 和 GitLab 用户开始迁移到 Trusted Publishing,而其他发布环境的用户则应确认其工作流能够使用有效期为 30 天的密钥,并为旧密钥在 11 月 1 日失效做好准备。对于手动场景,通过 NuGet.org 界面发布仍然可用。该公司还表示,在为其他 CI/CD 环境增加支持时,将与社区分享更新,并指出 API 密钥的有效期未来可能会进一步缩短。

新闻来源
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻