Python包索引(PyPI)作为全球最大的Python软件包库,承担着连接开发者与开源生态的重要职责。然而,随着平台影响力的日益增长,PyPI也面临着越来越多的安全挑战。近期,一场针对PyPI的垃圾邮件攻击激发了平台管理层采取新的防御措施,其中最显著的是禁止inbox.ru邮箱域名进行账户注册和附加邮箱绑定。此举标志着PyPI在保护用户安全和维护生态健康方面迈出了关键一步。 这次禁令起因于一场针对PyPI的规模庞大且持续的垃圾邮件攻击。攻击者利用inbox.ru域下的电子邮箱注册大量账户,短短数周内就创建了超过250个用户账户,并发布了超过1500个新项目。
尽管发布的项目大多没有实质代码,但其存在引发了严重的用户混淆和资源滥用问题。此外,这些垃圾项目借助项目入口点,可能误导用户安装虚假包,给安全埋下隐患。此类攻击不仅影响平台的正常运营,也威胁到广大Python开发者的安全及信任。 在事件发生后,PyPI团队迅速响应,采取了包括删除垃圾项目和禁用相关账户等多项措施,然而攻击的规模和频率仍然造成了严重影响。通过对攻击模式的分析,PyPI发现攻击者利用了inbox.ru邮箱域名的特点,大量注册账户并通过API令牌上传项目。攻击持续数日,项目上传数量达到顶峰时一天甚至超过700个项目,显示了其高度的组织性和自动化程度。
PyPI一直允许使用任何有效邮箱地址注册新用户,但同时也依赖邮箱提供商来维护账户安全。为减少滥用,PyPI早已有针对一次性邮件服务的黑名单,并且维护自己的内部阻止名单,通过快速反应维护平台健康。此次决定将inbox.ru邮箱纳入禁止名单,是基于垃圾邮件行为的直接证据,是一次针对当前安全形势的防御性调整。 这场攻击的最初迹象出现在2025年6月9日,当时首个inbox.ru账户创建完成并完成两步验证与API令牌设置。随后几天内,数百个类似账户迅速出现,集中在短时间内完成批量注册。项目上传从6月底开始激增,持续冲击PyPI系统。
该行动在7月初引起用户和管理员的警觉,尤其有用户反馈使用大型语言模型(如Sonnet 4)推荐安装不存在的包,引发了“劫名攻击”(slopsquatting)的关注。这种攻击通过发布与知名包极为相似但非法的项目名,引诱用户误装,潜在带来安全隐患。 PyPI的应对措施得到了社区的积极支持,许多开发者自发监测异常行为并及时向管理团队报告。管理员也鼓励开发者在使用AI或第三方推荐时,提高对包名的核实意识,避免盲目安装未经验证的包。安全团队承诺将持续加强账户与项目审核,完善黑名单和检测机制,以抵御未来攻击。 禁止inbox.ru邮箱域注册虽然可能对一些合法用户带来不便,但整体上是为了保障整个PyPI生态的安全与稳定。
PyPI管理团队表示,在未来会根据邮箱提供商的安全能力表现,考虑重新评估解除禁令的可能性。与此同时,PyPI欢迎邮箱服务商主动联系合作,提升平台安全防护能力,实现共赢。 此次事件也为广大开源平台敲响警钟,提醒业界对账户注册及验证机制保持高度警惕。随着自动化脚本和AI技术的普及,机器人注册和恶意项目发布将越来越难以避免,平台必须采用多维度的安全防护措施,包括邮箱审核、访问频率限制、多因素认证和人工审核结合等手段。 对于普通Python开发者而言,选择可信赖的包源和严格核验包名成为日常安全实践的重要环节。社区内加强安全意识教育,推动开发者和平台之间的协同监控,将是未来构筑安全生态的基石。
总结来说,PyPI禁止inbox.ru邮箱注册是对近期大规模垃圾邮件攻击的直接响应,体现了平台面对安全挑战时的果断和责任担当。随着技术持续发展和安全形势不断演进,PyPI及整个开源社区需持续联手,共同保障软件供应链的安全,维护开放生态的健康繁荣。