GitHubがnpm サプライチェーン攻撃の防御を強化-二要素認証の必須化やトークンを7日に

セキュリティニュース

投稿日時: 更新日時:

GitHubがnpmサプライチェーン攻撃の防御を強化-二要素認証の必須化やトークンを7日に

npmで相次いだアカウント乗っ取りとマルウェア拡散を受け、GitHubがレジストリの“発行面”を抜本的に再設計します。ローカル発行の2FA必須化、7日で失効するGranular トークン、そしてトークン不要のTrusted Publishingを柱に、クラシックトークンとTOTPの段階廃止、WebAuthn移行まで一気通貫で進め、サプライチェーンの信頼回復を図ります。

概要

GitHubは、npmレジストリで続発したアカウント乗っ取りとマルウェア拡散を受け、認証と発行経路を抜本的に見直す強化策を発表しました。

具体的には、ローカル発行における二要素認証(2FA)の原則必須化、権限を絞ったトークン(Granular トークン)の有効期限を7日に短縮し、そしてAPIトークン不要でCI/CDから安全に公開できるTrusted Publishingの拡充・推奨に軸足を置きます。

並行して、古い権限のトークンやTOTP型2FAの段階的廃止、FIDO/WebAuthnへの移行、発行権限トークンの既定拒否など、誤用・悪用の温床を制度面から閉じていく方針です。

背景-頻発するnpmパッケージチェーンの悪用

8月末の「s1ngularity」、9月初旬の「GhostAction」、そして9月14日に通知された自己増殖型ワーム「Shai-Hulud」など、攻撃者はメンテナアカウントを奪取し、人気パッケージに悪性post-installスクリプトを注入して拡散させました。

Shai-Huludはnpmトークンに限らず複数種類のシークレット窃取機能を持ち、連鎖的な汚染が懸念されましたが、GitHubとコミュニティの対応により、500件超の汚染パッケージ削除やIoCベースのアップロード遮断で拡大は抑え込まれました。それでも、レジストリ自体の安全性に対する信頼は毀損されており、予防重視の恒久策が不可欠と判断された形です。

強化策の内容

GitHubは、発行経路を「2FA付きのローカル発行」または「Trusted Publishing」に実質集約し、長期・汎用トークンに依存する旧来運用を段階的に排除します。トークンはスコープ最小化と7日間の短期失効が原則となり、デフォルトでは発行にトークンを使えない設定へシフトします。

2FAはTOTPからFIDO/WebAuthnに移行し、ローカル発行での2FAバイパスは廃止されます。

Trusted PublishingはPyPIを起点に各エコシステムへ広がった実績があり、npmでも7月から提供済みですが、今回の方針転換で採用拡大を強く後押しします。移行による混乱を抑えるため、ロールアウトは段階的に行い、タイムライン・ガイド・サポートを順次提供する計画です。