嘶吼RoarTalk 08-21
面对域名过期漏洞,PyPI阻断了账户劫持与攻击风险
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

最新消息,Python 包索引 ( PyPI ) 目前已引入了新的保护措施,以防止通过密码重置劫持账户的域名复活攻击。

PyPI 是 Python 开源包的官方仓库,为软件开发人员、产品维护者以及使用 Python 库、工具和框架的企业所广泛使用。

项目维护者在 PyPI 上发布软件的账户与电子邮件地址相关联。对于部分项目而言,其关联的电子邮箱地址还与特定域名绑定。若该域名过期,攻击者便可注册此域名,随后通过搭建邮件服务器并发起账户密码重置请求,进而掌控 PyPI 上的对应项目。

此类攻击的风险在于可能引发供应链攻击:遭劫持的项目会推送恶意版本的热门 Python 包,而在多数情况下,这些恶意包会通过 pip 自动安装。2022 年 5 月 "ctx" 包遭入侵便是典型案例——攻击者在该包中植入代码,专门针对亚马逊 AWS 密钥及账户凭证。

为解决这一问题,PyPI 如今会对平台上已验证电子邮箱地址所对应的域名进行检查,若发现域名已过期或即将进入过期阶段,便会将相关邮箱地址标记为未验证状态。 

从技术层面来看,PyPI 借助 Domainr 的 Status API 确定域名的生命周期阶段(活跃、宽限期、赎回期、待删除),以此判断是否需要对相应账户采取措施。

域生命周期

一旦电子邮箱地址对应的域名进入上述状态,该邮箱便无法用于密码重置或其他账户恢复操作,即便攻击者注册了该域名,也难以找到可乘之机。

实际上,这些新措施的开发工作于 4 月启动,当时已通过初步扫描对相关情况进行评估。最终,新措施于 2025 年 6 月正式推出,且平台会每日进行扫描。自实施以来,在新系统下已有超过 1800 个电子邮箱地址被标记为未验证。

尽管新措施并非无懈可击,也无法应对所有攻击场景,但它显著降低了攻击者通过利用过期域名劫持 PyPI 账户的风险。PyPI 建议用户在账户中添加一个来自非自定义域名的备用邮箱,以避免服务中断;同时,应开启 PyPI 账户的双因素认证,从而增强账户抵御劫持的保护能力。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

python 亚马逊 供应链 开源 aws
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论