跳至内容

PyPI 博客

安全与安全工程师:第一年回顾

你好,读者!我是 Mike,自从我发布了关于加入 PSF担任 Python 包索引 (PyPI) 的安全与安全工程师的博文以来,已经过了一年多。

我想花点时间回顾一下过去的一年,并分享一些我一直在做的事情。

禁止 Outlook 邮件域名

为了应对持续的大规模机器人帐户注册,Outlook 域名 outlook.comhotmail.com 已被禁止与 PyPI 帐户建立新的关联。这包括新注册以及添加为其他地址。

扩展可信发布者支持

从今天开始,PyPI 包维护者可以通过可信发布从三个其他提供商发布

  • GitLab CI/CD
  • Google Cloud
  • ActiveState

这些提供商加入了现有的支持,即从 GitHub Actions 发布,无需长期使用的密码或 API 令牌,我们去年宣布,并将可信发布支持扩展到更多托管提供商。

恶意软件分发和域名滥用

一个名为 yocolor 的包被上传到 PyPI,旨在协助将恶意软件分发到目标。

该包已从 PyPI 中删除,从而减少了其对用户的潜在影响。

此事件与通常的恶意软件包删除不同,因为它涉及一个域名,该域名在攻击中被用于托管恶意软件分发的第二阶段。

Checkmarx 安全研究团队已在其博客中发表了关于特定行为的深入文章 - 阅读他们的报告以了解其工作原理。

由于 PyPI 只参与 Checkmarx 所称的攻击的“第一阶段”,因此我将重点介绍包删除和域名滥用后续处理。

事件报告:未经授权的用户帐户访问

2024 年 3 月 31 日星期日,PyPI 管理员收到了关于 PyPI 用户意外帐户活动的电子邮件。用户收到了 PyPI 发送的通知,告知他们已注册双重身份验证 (2FA)。这些用户声称他们自己没有这样做。

PyPI 管理员**尚未找到任何证据**表明存在现有软件包篡改或除未经授权的帐户访问和修改之外的其他恶意活动。

调查后采取的主要行动是

  • 受影响的帐户被冻结以进行进一步调查
  • 所有尚未启用 2FA 的帐户都需要重新验证电子邮件

继续阅读以了解发生了什么、我们如何应对以及下一步行动。

宣布 PyPI 支持专家

我们在 2003 年推出了 Python 包索引 (PyPI),在其大部分历史中,一个强大而敬业的志愿者社区一直保持着其运行。最终,我们将 PSF 的部分员工时间投入到索引的维护中,并且在 AWS 的支持下,我们在去年聘请了 Mike Fiedler全职负责 PyPI 的紧急安全需求。

恶意软件报告升级

我们很幸运能拥有一个积极的社区安全研究人员,他们帮助我们保持 Python 包索引 (PyPI) 的安全。

这些人帮助我们识别并从索引中删除恶意项目,我们感谢他们持续的支持。

过去,我们要求报告者根据PyPI 安全策略向我们发送电子邮件以报告恶意软件。

PyPI 现在提供了一种改进的方式来报告恶意软件,**通过 PyPI 本身**。

PyPI 要求启用双重身份验证

所有用户都需要启用双重身份验证

今天是 2024 年 1 月 1 日,PyPI 现在要求**所有用户**启用双重身份验证 (2FA)

这篇文章是对为实现这一目标而付出的辛勤工作的认可,并感谢所有已在其帐户上启用 2FA 的用户。

这也是对尚未启用 2FA 的用户的提醒,您需要在执行任何管理操作或将文件上传到 PyPI 之前启用 2FA。

启用 2FA 后,您可以执行管理操作,包括生成API 令牌或设置可信发布者(首选)以上传文件。