影響を受けたパッケージには次のようなプロジェクト関連ライブラリが含まれていました。
この攻撃のスピードは、開発者が日常的に使う 自動化された公開プロセス を悪用したことにあります。
メンテナ権限を得た攻撃者は、次のような操作を自動化スクリプトで一気に実行できました。
Mini Shai‑Huludで特に注目されたのは、近年「安全な公開方法」とされていた仕組みが悪用された点です。
多くのプロジェクトは現在、GitHub ActionsのTrusted Publishing を使っています。これは OpenID Connect(OIDC)トークン を用いて一時的な認証を行い、長期APIキーを保存せずにパッケージ公開を行う仕組みです。
しかし攻撃者は次のような方法でこの仕組みを利用しました。
近年のサプライチェーンセキュリティでは、以下の技術が広く使われています。
これらは「このソフトは信頼できるビルド環境から生成された」と証明する仕組みです。
ところがMini Shai‑Huludでは、攻撃者が 侵害したCI環境のOIDCトークンを使って署名証明書を取得 しました。その結果、悪意あるパッケージでも SLSA Build Level 3 の正当なプロビナンス付き で公開されてしまいました。
つまり問題は署名技術ではなく、署名を行うビルド環境自体が既に侵害されていたことでした。
公開された悪意あるパッケージには、開発環境の機密情報を収集するコードが含まれていました。
報告されている主なターゲットは次の通りです。
この挙動から、Mini Shai‑Huludは サプライチェーン型の自己増殖ワーム とも呼ばれています。
この攻撃は、現代のソフトウェア開発にいくつかの重要な教訓を突きつけました。
1. 信頼されたインフラも攻撃に利用される
2. 1つのアカウント侵害で数百パッケージが影響
3. 依存関係による爆発的拡散
4. 継続的な攻撃キャンペーンの可能性
Mini Shai‑Huludが示したのは、現代のソフトウェアサプライチェーンにおいて
「署名されている=安全」とは限らない
という現実です。
そのため多くの組織では現在、次のような対策が重視されています。
ビルド自動化と署名検証が普及するほど、CIインフラと開発者のアイデンティティ保護は重要になります。
Mini Shai‑Huludは、その信頼がどれほど簡単に悪用され得るかを示した象徴的な事件となりました。
Comments
0 comments