11 月 16 日消息,Python 软件包存储库 PyPI 现已上线数字认证(Digital Attestations)功能,这项功能允许软件包维护者在发布包时附加经过身份验证的数字签章,以便于验明正身。
长期以来,PyPI 一直受到虚假软件包困扰,大量黑客寻找已下架的合法 PyPI 包,重新注册相同名称并上传带有恶意木马的新包,或直接新建名称类似知名 PyPI 包的山寨版本。
而如今 PyPI 引入这套“数字认证”功能正是为了强化软件供应链安全性,目前开发者可以在 PyPI 网站中找到入口,以便于验证包文件数字认证信息。
在技术层面上,这套“数字认证”技术基于 OIDC(OpenID Connect)身份认证技术,能够明确关联 PyPI 上的文件与其上游源代码库、工作流以及生成文件的提交记录。每个发布的包都可被验证来源,确保用户和企业不会下载到黑客制造的虚假包文件。同时也不再依赖传统的公私钥对,从而根本上避免了密钥丢失或被盗的风险。
PyPI 提到,符合条件的项目无需额外配置即可自动生成数字认证,例如软件包维护者通过 GitHub Actions 发布项目,其生成的包便会自带数字认证,无需额外配置。未来,PyPI 计划将这一功能推广至其他可信发布环境。