返回资讯中心
外部精选
软件工程
#开发者实时流

PyPI 项目页面改版上线,强化安全信号展示

来源标题:Blog: PyPI's redesigned project pages with clearer security signals are now live

PyPI 重新设计的项目页面已正式上线,重点改进安全信号的呈现方式。此次改版基于与 Python 社区用户共同开展的用户研究,并与 Kabu Creative 合作、参照 OpenSSF Attestations Style Guide 落实了更清晰的安全标识。PyPI 希望借此帮助用户更好理解和评估软件包的安全性与来源信息。

Hacker News 最新miketheman2026/11/6 · 今天16 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

今年7月,我们宣布了一系列对 PyPI 用户界面的更新计划。这些更新基于与 Python 社区成员共同开展的用户研究,旨在改进我们展示安全信号和包详情的方式。我们很高兴地告诉大家,这项工作现已完成并在 PyPI 上线。

随着 Python 生态的快速增长,PyPI 日益成为恶意行为者的目标。为此,PyPI 团队推出了许多安全功能,同时更积极地帮助 PyPI 用户评估和理解包的安全性。2024 年引入的数字认证(digital attestations)就是这方面的例子,它为发布文件的来源(provenance)提供了可验证的记录。然而,来源和认证对许多 PyPI 用户来说仍是陌生的概念,而 PyPI 的界面在传达它们的含义、重要性和局限性方面做得远远不够。

为解决这个问题,PyPI 与 Kabu Creative 合作,在 PyPI 界面上引入更清晰的安全信号,落实了 OpenSSF Attestations Style Guide 中提出的建议。下面来看看有哪些变化、对你意味着什么,以及你可以采取哪些行动。

新的安全标签页展示发布文件的来源状态,并显示每个文件的认证信息,为你提供一个专门的位置来验证发布文件的来源。PyPI 通过检查每个发布文件是否有认证来计算该发布版本的来源状态。通常,一个发布版本会处于以下两种状态之一:

这意味着 100% 的发布文件都有认证,携带以下一种或两种受支持的认证类型:PyPI Publish 认证确认文件由 PyPI Trusted Publisher 发布:SLSA Build Provenance 认证将文件关联回确切的源提交、构建平台和构建指令:你可以直接在界面中查看认证元数据,或点击透明度日志链接了解更多信息。

“无来源”仅表示该发布版本中没有任何文件带有认证。这在较旧的发布版本或尚未配置 Trusted Publishing 的项目中很常见。无来源并不一定意味着发布版本或发布文件是恶意的;它只表示文件来源无法通过密码学方式验证。当没有来源信息时,你应依赖周边的信任信号来评估安全性,例如维护者的历史记录、发布模式和仓库活动。如果你是包的维护者,考虑在下次发布时使用会生成认证的 Trusted Publishing 发布者。

来源警告旨在帮助你识别文件可能并非来自项目维护者的情况,例如攻击者接管了账户或发布工作流。当来源元数据看起来异常或与项目历史相冲突时,PyPI 会显示醒目的警告。许多警告都有合理的解释,但在安装之前每一个都值得核实。

这意味着部分文件带有认证,而另一些没有(例如 wheel 通过 Trusted Publishing 发布,但源码 tarball 是通过 API token 上传的)。如果看到此警告,请谨慎行事。在安装前查看发布说明了解构建问题,或在项目的 issue tracker 中询问。

此警告表明同一发布版本中的文件来自不同的构建系统或源仓库。请查看认证元数据,确认所有文件是否都来自维护者控制的源。

此警告告诉你,发布文件的来源仓库或工作流与之前的发布版本不同。虽然这通常是合理的(例如组织名称变更或仓库迁移),但也可能表明流水线被入侵或账户被接管。如果看到此警告,请查看项目发布说明或官方渠道,确认基础设施迁移是计划之中的。

这意味着之前带认证发布的项目已改为上传不带认证的发布文件。请检查维护者是否有意更改了发布流程,例如切换回 API token,或更改了发布配置使其不再生成认证。如果这出乎意料,请在核实之前对该发布版本保持怀疑。

要了解更多关于来源和认证(包括来源警告)的信息,请参阅我们的用户文档。为配合这些变化,项目详情页也进行了更新:

重新设计的发布文件标签页支持搜索和筛选长列表,帮助你找到正确的文件。你还可以在表格中查看每个文件的来源状态,并快速识别延迟文件——它们会标有橙色警告图标。当一个或多个文件在初始发布时间戳之后超过 14 天才上传时,会显示延迟文件警告。这些警告仅出现在 2026 年 7 月之前的发布版本上,此后引入了拒绝 14 天后新文件上传的策略。

发布历史标签页现在也提供每个发布版本的更多详情,展示文件数量、来源状态和发布状态(即隔离、撤回、归档或预发布)。

除了界面更新,PyPI 的用户文档也已扩展,帮助你更好地了解包安全。阅读我们的包安全指南,了解以下内容:

新的安全标签页为 PyPI 提供了一个专门展示未来认证类型和安全通知的位置。为帮助更广泛的开源生态从这项工作中受益,我们还在 OpenSSF Attestations Style Guide 中发布了一份案例研究,详细介绍了本项目期间开发的设计模式和错误模型。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →