7月11日、PyPI(Python公式のサードパーティソフトウェアリポジトリ)は重要だと思われるプロジェクトに対して2要素認証 (2FA) 条件を課すようになりました。
さらに、これまでPyPiで2FAを有効にしていなかった重要なプロジェクトの開発者には、Google のオープンソース・セキュリティチームから無料のハードウェアセキュリティキーが提供されます。
Python Software Foundation が運営する PyPI には 35 万を超えるプロジェクトがあり、そのうち 3,500 プロジェクトには「重要」を表す "critical" というタグが付いています。このタグは、過去6ヶ月間にダウンロード数の上位1%を占めたプロジェクトに対し自動的に付与されるとのこと。一度プロジェクトが"critical"に分類されれば、たとえ上位 1% のダウンロード リストから外れたとしても、その指定は無期限に維持されます。
Node.jsのソフトウェアレジストリであるnpmにおいても、昨年複数の人気リポジトリが乗っ取られ、不正なコードが拡散されるという事件がありました。
こうした事態を受け、npmの運用企業であるGitHub(2020年にnpmを買収)も2FAを義務付け、npmレジストリのセキュリティを厳格化しています。
PyPIによる2FAの義務化は、こうした問題に対処するための一連の改善のひとつであり、オープンソースが現代のソフトウェアエコシステムにおいていかに重要であるか、そのセキュリティを脅かされるということがどれほど世界を混乱に陥れる可能性があるかを表していると言えます。