A quote from Seth Larson2 months agohttps://simonwillison.net/2026/Jul/23/seth-larson/#atom-everythingPyPI 现已阻止向超过14天的旧版本上传新文件。这一限制措施可防止因令牌或工作流遭到入侵而对旧版稳定版本进行恶意篡改。目前尚未发现滥用案例,但在没有该措施的情况下,技术上存在被利用的可能性。该变更由Seth Larson于2026年7月23日在PyPI博客上宣布。
PyPI now rejects new files after 14 days2 months agohttps://lwn.net/Articles/1084218/PyPI现在拒绝将新文件上传到超过14天的旧版本,以防止在发布令牌或工作流被泄露时对旧版本进行投毒。政策讨论始于2024年1月的PEP 740(数字认证),并在2026年3月LiteLLM和Telnyx包因Trivy GitHub Action中的可变引用被攻破后重新启动。一些项目依赖于能够为已发布的版本添加对新Python版本的支持,但PyPI数据库查询显示,在前15000个包中,只有56个包在发布超过14天后发布了兼容3.14的wheel。
PyPI Blog: Releases now reject new files after 14 days2 months agohttps://blog.pypi.org/posts/2026-07-22-releases-now-reject-new-files-after-14-da...PyPI现在拒绝向超过14天的版本上传新文件,以防止在令牌或工作流被泄露时对旧版本进行投毒。该限制尚未被滥用,但之前并没有技术障碍阻止它。用户不应依赖此行为作为“已关闭”版本的语义,且API尚未定义;它们将在PEP 694(Upload 2.0 API和阶段预览)下标准化。讨论始于2024年1月的PEP 740期间,并在2026年3月因LiteLLM和Telnyx因Trivy GitHub Action中的可变引用被攻陷后重新开始。为了评估影响,PyPI数据库查询显示,在前15,000个包中,只有56个在发布超过14天后发布了Python 3.14的wheel包。PyCon US 2026上的打包峰会达成了大致共识,即要求用户为新的Python支持升级版本是可接受的,导致了一个于2026年7月8日合并的补丁。这一变化保护了用户,减少了PyPI管理员清理工作,并防止版本处于只有部分文件被攻陷的不确定状态。Seth Larson和Mike Fiedler的工作得到了Alpha-Omega的支持。
Planned Updates to the PyPI User Interface2 months agohttps://blog.pypi.org/posts/2026-07-22-ui-updates/PyPI 正在引入一个新的“安全”标签页,用于集中显示来源和认证元数据,并带有指示缺失或更改来源的标识。导航将从侧边栏移至水平标签页,将侧边栏保留用于元数据。元数据侧边栏将移至右侧,将软件包描述/自述文件对齐到左侧,以提高可读性。信任级别将被明确标注,以帮助用户评估数据源的可靠性。侧边栏元数据将按实用性重新排序,优先显示链接和时效性信号。更清晰的状态标签使用更醒目的颜色,以区分隔离、撤回、归档和预发布状态。更新仅涉及视觉方面,维护者无需采取任何操作;现有的认证将自动映射。此更新分为四个阶段:项目详情(已在 TestPyPI 上线)、文件和发布历史、安全标签页以及文档更新。欢迎通过 GitHub issues 提供社区反馈,提交详细的错误报告时请包含浏览器和设备信息。这些更新基于用户研究和 OpenSSF 认证风格指南,并得益于用户访谈和对 777 人的调查。
How to publish to PyPI using GitHub Actions securely2 months agohttps://snarky.ca/how-to-publish-to-pypi-using-github-actions-securely/实施 Zizmor 以通过修复不安全默认设置并集成到持续集成流程中,分析和保护 GitHub Actions 工作流的安全性。利用 PyPI 的可信发布功能,避免管理 API 令牌,并借助 GitHub 的安全机制增强防护。通过 GitHub 环境要求对发布工作流进行审批,防止意外或恶意发布。
You shouldn't trust Trusted Publishing2 months agohttps://blog.yossarian.net/2026/07/07/You-shouldnt-trust-trusted-publishing可信发布是一种用于机器间信任的认证方案,而非人类对于软件包安全性的信任。它使用OIDC将CI/CD机器身份与软件包索引链接,颁发短期、限域范围的发布凭据。PyPI避免显著展示可信发布状态,以防止其被滥用作软件包质量的信任信号。可信发布减少了长期有效的凭据,但如果CI/CD工作流程受到攻击,仍可能被攻破。该方案是可选的,并不保证软件包的安全性;任何人都可以使用它,包括用于恶意上传。PyPI上的证明与可信发布是分开的,未经独立验证也不能暗示终端用户的信任。