PyPI による 2FA 義務化のアナウンスメント:すべてのアカウントで年末までに対応

PyPI announces mandatory use of 2FA for all software publishers

2023/05/28 BleepingComputer — Python Package Index (PyPI) が発表したのは、同プラットフォーム上でプロジェクトを管理する全てのアカウントに対して、2023年内に二要素認証 (2FA) をオンにすることの義務付けである。PyPI とは、プログラミング言語 Python で作成されたパッケージのための、ソフトウェア・リポジトリのことである。このインデックスには、20万個のパッケージが登録されており、開発者は各種プロジェクトの要件を満たす既存のパッケージを、ここで見つけることにより、時間と労力を節約することが可能となる。


PyPI チームは、全てアカウントで 2FA を必須とする決定について、このプラットフォーム上のセキュリティを強化するための、長期的なコミットメントの一部だとしている。さらに、危険な認証情報のブロックや、AP Iトークンのサポートなどの、これまでに取られてきた措置を補完するものだとも述べている。

2FA 保護により、サプライチェーン攻撃のリスクが低減されるという利点がある。この種の攻撃の発生は、悪意のある行為者がソフトウェア・メンテナのアカウントを制御することで、各種のフトウェア・プロジェクトで依存関係を生じるパッケージ内に、バックドアやマルウェアを追加することから始まる。

もし、標的とされるパッケージの人気が高いと、この種の攻撃が、数百万人のユーザーに影響を与える可能性も生じる。開発者たちに課される責任として、自身のプロジェクトの構成要素の徹底的な検査が挙げられるが、この種の問題は、PyPI の対策により最小限に抑えることが可能になるはずだ。

さらに言うなら、この Python プロジェクトのリポジトリにおいては、これまでの数ヶ月の間に、マルウェアのアップロードや、有名パッケージのなりすまし、窃取アカウントを介した悪意のコードの再投稿などが横行している。

この種の問題に対する、効果的な防御ソリューションの開発/実装を行うために、
先週の PyPI は、新規のユーザー/プロジェクトの登録を、一時的に停止したほどである。

2FAによる保護は、アカウント乗っ取り攻撃を軽減するのに役立ち、また、悪意のパッケージを再アップロードするために作成される、新たなアカウントに制限を設けるものでもある。

2FA への道

すべてのプロジェクトおよび組織の、管理者アカウントに対して 2FA を設定する要件には、2023年末までの期限が設定されている。

今後の数ヶ月の間に、影響を受けるユーザーは、ハードウェアキーまたは認証アプリのいずれかを用いて、新たなセキュリティ対策のために準備し、有効化することが推奨される。

PyPI は、「この準備として最も重要なことは、セキュリティ・デバイス (推奨) または認証アプリを使って、可能な限り早急に、自身のアカウントの 2FA を有効にすることだ。さらに、PyPI にアップロードするために、Trusted Publishers (推奨) または、API トークンを使うように切り替えることだ」と述べている。

Trusted Publishing の導入や、これまでの数カ月間に行ってきた準備作業と、GitHubなどのプラットフォームが並行して行っている、2FA 要件のための取り組みを連携させることで、絶好のタイミングになると PyPI チームは述べている。

PyPI における 2FA の導入ですが、このままスムースに進むと良いですね。2022/07/09 の「PyPI の Critical プロジェクトで 2FA が義務化:突然の決定に反発する開発者も」では、賛同してくれない開発者の言い分なども紹介されています。よろしければ、PyPI で検索も、ご利用ください。