NuGet新增可信发布支持,提升软件供应链安全

微软宣布NuGet包管理器现已支持可信发布功能,通过OpenID Connect标准实现密钥认证,替代传统长期API令牌。该功能可降低凭证泄露风险,简化CI/CD流程,并已获PyPI和npm等包管理器采用以应对供应链攻击威胁。

微软宣布NuGet现已支持通过GitHub Actions进行可信发布(Trusted Publishing)来发布软件包。

可信发布是一种利用OpenID Connect(OIDC)标准的认证方法。与发布软件包时使用长期有效的API令牌不同,OIDC身份令牌可以交换为短期有效的API令牌。

该功能已被多种其他包管理器采用,包括PyPI,以及最近在一系列供应链攻击之后,npm也加入了这一行列。

据微软介绍,使用可信发布功能时,当CI/CD系统(此处为GitHub Actions)运行工作流时,会生成一个短期令牌并发送到nuget.org。NuGet验证该令牌后,返回一个有效期一小时的临时API密钥,工作流可以使用该密钥发布包。

“这通过降低凭证泄露风险使您的发布过程更安全。同时,由于无需轮换或存储密钥,自动化也变得更容易。这种方法是行业向安全、无密钥发布广泛转变的一部分,”微软在一篇博客文章中写道。

要从长期API密钥迁移到可信发布,开发人员需要在nuget.org上创建可信发布策略,从代码库或CI密钥中移除所有存储的NuGet API密钥,并在工作流中添加NuGet/login@v1,然后使用dotnet nuget push命令使用输出的密钥。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计