- GitHubはパッケージ公開のセキュリティ向上のため、2要素認証(2FA)を義務化し、従来のトークンを廃止へ
- Trusted Publishingが拡大され、トークンによる公開はデフォルトで制限される
- Shai-Huludワームがnpmに侵入し、500以上の侵害パッケージが削除される事態に
最近相次いだ大規模な攻撃やハッキング未遂を受け、GitHubはプラットフォームのセキュリティに大幅な変更を加えることを決定しました。
GitHubはブログ記事で、パッケージ公開の強化を目的とした認証および公開方法の変更について詳細を説明しました。これらは「近い将来」実施される予定です。
発表によると、認証と公開の選択肢が変更され、ローカル公開時には必須の2FA、有効期限7日の細分化トークン、Trusted Publishingが含まれるようになります。
追加の認証と保護
さらにGitHubは、従来のクラシックトークンや時限式ワンタイムパスワード(TOTP)2FAを廃止し、ユーザーにFIDOベースの2FAへの移行を求めると発表しました。また、公開権限付きの細分化トークンの有効期限を短縮し、公開アクセスはデフォルトでトークンを許可しない設定となります(これにより、ユーザーはTrusted Publisherまたは2FA強制のローカル公開を選択することが推奨されます)。
ローカルパッケージ公開時に2FAを回避するオプションは削除され、Trusted Publishingの対象プロバイダーリストも拡大されます。
「今回のセキュリティ変更により、ワークフローの更新が必要となる場合があることは認識しています」とGitHubは説明しています。
「これらの変更は段階的に展開し、npmのセキュリティ体制を強化しつつ、混乱を最小限に抑えるよう努めます。移行期間中もサポートを継続し、今後は明確なスケジュール、ドキュメント、移行ガイド、サポートチャネルなどの情報を提供していきます。」
オープンソースソフトウェアはソフトウェア開発業界において非常に重要であり、大企業から小規模事業者まで、あらゆる組織が高品質なコードを活用しています。しかしこれが、サードパーティやサプライチェーン攻撃を行うサイバー犯罪者にとっても格好の標的となっています。
その一例が最近のShai-Hulud攻撃です。自己増殖型のワームマルウェアが、侵害されたメンテナーアカウントを通じてnpmエコシステムに侵入し、ソフトウェア開発者のあらゆる機密情報を盗み出しました。
この攻撃により、GitHubは500以上の侵害されたパッケージを削除し、当時判明していた侵害の兆候を含む新規パッケージのアップロードもブロックしました。