第三方开源于周五Python项目官方储存库Python包索引(PyPI)发布计划对“关键”项目维护人员强制要求多种身份认证。
虽然很多社区成员夸赞这一对策,但这是一个受欢迎的Python项目开发者决定从PyPI删掉它的代码并再次公布,便于分配给他的项目“关键”状况无效。
PyPI前1%的项目公布2FA
昨日,PyPI注册表管理员公布,他们被视作被视为“关键”项目引进双因素身份验证(2FA)要求。
任何占以往六个月下载量前1%得人PyPI项目以及PyPI每一个依靠项目都被特定为关键项目。
“为了提高Python生态体系的总体安全,PyPI已开始对关键项目开展多种身份认证(2)FA)该要求将未来几个月内起效,”管理员在原创文章中发布。
此外,在Python软件基金会(PSF)的赞助商Google在开源安全团队的支持下,关键项目的维护人员将得到免费的硬件安全密钥。
该计划继最近存有npm和PyPI合法软件库在生态系统中数次遭劫持。
上年,大量运用npm库“ua-parser-js”,“coa”和“rc”恶意软件变动后,维护人账户被入侵。npm的总公司GitHub从2021年12月开始,采取措施提升开发者的登陆体会(2FA选项),并于今年5月发布了进一步的安全更新。
随着PyPI项目“ctx”遭劫持的最新动向如同BleepingComputer第一次汇报,案子后被证明是一个“道德”黑客检测有问题,PyPI跟随GitHub领导还为管理者账户实施了2FA。
“保证最广泛使用的项目有这些保证措施来防止账户接管,换句话说,我们正向着每一个方位前行PyPI顾客提高Python生态体系的总体安全性是更广泛的一步,”PyPI管理员解释说,他们还分享了超出3818个显示屏PyPI其中8、218个项目的仪表板被认定为“关键”并且可能会被要求挑选2FA的PyPI顾客账户。
即使如此,还是有2.8万多个PyPI顾客账户(包含这些和“关键”项目无关账户)自愿开启2FA。
开发者回绝强制执行2FA
尽管大部分[1、2、3]都很好地体现了这一对策,并欢迎它PyPI但有的人没有提升软件供应链总体安全的对策。
“atomicwrites”PyPI项目开发者MarkusUnterwaditzer在收到“恭喜”决定从登记表中删掉它的代码。PyPI电子邮箱,通知开发者它的项目被认为是关键,现在必须开展多种身份认证。
请注意,据报道,Unterwaditzer的atomicwrites每月下载量超出600万次。
有人将这一行为与2016年相关left-pad事儿进行了较为,涉及另一个开发者npm在注册表中撤销它的关键JavaScript项目几乎破坏了互联网。
虽然在这种情况下,Unterwaditzer只是又发布了“atomicwrites”重新设置他们项目的下载计数(以及原因)PyPI分配的“关键”项目情况),而非永久撤消代码。比较之下,“left-pad”涉及商标争议的状况各不相同。
“我准备停用这个包。尽管很遗憾删除了这个包,最终打开了2FA,但我感觉PyPI忽然改变挪动和删掉包的怪异行为不值得我花时间来维护Python像软件这种流行水平是免费的。我宁愿只是为了好玩而编写代码,只有在我真正获得酬劳时,我才会担忧供应链的安全,”Unterwaditzer提到。
BleepingComputer观查到Unterwaditzer确实,在过去24小时删除了他们项目的所有版本后不久,他们又发布了:
PyPI项目atomicwrites再次发布
PyPI项目“atomicwrites”版本今日再次发布(BleepingComputer)
其他社区成员也对此事提出了提议:
ArminRonacher,基于Python的微型Web框架的创办人。Flask争论道:
...在我创建开源软件时,我没有选择创建一个关键包。随着时间的推移,它会变为那样,”Ronacher提到。
“如今,做为关键软件包的后果十分温和:您只需开启2FA。可是现在已经划分了一界限,我不确定为何要进一步限定它[PyPI]不符合[PyPI]最好权益到位。”
“如今我们不是把压力放到包的顾客身上,而是把物件堆在早已投入劳动和时间的开发者身上。从指数的视角来看,不强制执行标准对每个人都有益处,由于有些规范可能使索引的运用变得复杂,但只把压力放到关键包装上不会影响挑选,”开发者进一步写到。