GitHubは、MicrosoftのAzure、Azure-Samples、microsoft、MicrosoftDocsという4つの組織にまたがる73のリポジトリを、わずか105秒の間に無効化しました。
対象となった各リポジトリには現在、「This repository has been disabled. Access to this repository has been disabled by GitHub Staff due to a violation of GitHub’s terms of service」(このリポジトリは無効化されました。GitHubの利用規約違反により、GitHubスタッフによってアクセスが停止されています)というバナーが表示されています。
この規模とタイミングは、個別の手動対応ではなく自動化された不正利用検知システムの作動を示唆しており、その影響はAzure Functionsのコアランタイムから、数百万のCIパイプラインで使われているサプライチェーン基盤にまで及んでいます。
最も深刻な被害が集中したのはAzure組織で、49のリポジトリが閉鎖されました。対象には、azure-functions-host、azure-webjobs-sdkおよびその拡張機能、各言語ワーカー(Node.js、Python、Java、PowerShell、.NET、Go)、azure-functions-core-tools、コンテナツール群、Homebrewタップ、そしてfunctions-actionおよびfunctions-container-action GitHub Actionsが含まれています。
中でもfunctions-actionの閉鎖は特に深刻です。多くのワークフローが`Azure/functions-action@v1`のようなフローティングタグを通じてこのアクションを参照しているためです。
参照元が消失すると、パイプラインの解決に失敗し、ユーザーがコミットSHAへの固定参照や代替デプロイ手段に切り替えるまで、グローバルなCIが停止してしまいます。
GBhackersと共有されたOpensource Malwareのレポートによると、microsoft組織ではDurable Taskファミリー(durabletask-dotnet、durabletask-go、durabletask-java、durabletask-js)および関連実装、さらにDurable Functions エコシステム全体が失われました。
このグループが特に注目される背景には、5月19日にPyPIでdurabletaskが侵害された前例があります。このとき悪意あるバージョン1.4.1〜1.4.3が公開され、後にGitHub Actionsシークレットの窃取と「TeamPCP」アクターの関与が指摘されています。
武器化された73のMicrosoftパッケージ
同じリポジトリファミリーが再び新たな閉鎖措置の中心に現れたという事実は、最初の認証情報漏洩が完全に根絶されていなかったことを強く示唆しています。
Azure-Samplesでは、AIおよびエージェントデモ、ファインチューニングサンプル、コネクタ関連の13リポジトリが閉鎖されました。また、ドキュメントやプラットフォームツール群を含む他のいくつかのMicrosoftリポジトリも無効化されており、特定チームへの外科的な措置ではなく、組織の所有境界単位で適用されたことがわかります。
影響を受けたリポジトリの全一覧は、複数のセキュリティ研究者やMicrosoft Learnのディスカッションスレッドでリンクされた公開レポートおよびコミュニティのまとめで確認できます。
この問題が重大である理由として、利便性への影響にとどまらず、サプライチェーンの武器化の波との関連が挙げられます。5月下旬、TeamPCPの「Mini Shai-Hulud」ツールキットが公開フォークされ、AzureおよびGCPの認証情報収集機能を追加した「Miasma」と呼ばれる亜種が登場しました。
Miasmaはnpmなどのパッケージに感染し、収集した認証情報を攻撃者が作成した公開リポジトリへ窃取(エクスフィルトレーション)することが確認されています。リポジトリを作成して窃取したシークレットをコミットするというワーム型の挙動は、まさにGitHubの自動不正利用検知システムを作動させる種類の大規模活動であり、105秒での一斉無効化とも一致します。
6月1日のMiasmaの活動と6月5日の閉鎖措置との直接的な因果関係は状況証拠の域を出ませんが、戦術の重複とAzure向け収集機能の存在から、両者の関連は十分に考えられます。
また、組織内に予期せぬ公開リポジトリやシークレットのJSONブロブがないか確認すること、難読化された`_index.js`ローダーに対してBunを呼び出すpreinstallスクリプトなどのMiasma指標をビルドで検索すること、そして影響を受けたアクションが復旧するまでは代替デプロイ手段(Azure CLI、Azure DevOps、Zip Deployなど)を活用することも重要です。
今回のインシデントは、クラウドネイティブ開発における厳しい現実を浮き彫りにしています。CI/CDとパッケージレジストリは高価値の攻撃対象領域です。
リソースが豊富な組織であっても、自動化された認証情報の窃取によって足をすくわれる可能性があり、自動化された対応措置が広範な二次被害をもたらすこともあります。
セキュリティチームはアクション認証情報をティア1のシークレットとして扱い、ワークフローの公開パスを厳格に管理し、将来のサプライチェーンインシデントにおける影響範囲を最小化するためにイミュータブル(変更不可)な参照の採用を推進すべきです。
翻訳元: https://gbhackers.com/73-microsoft-packages-weaponized/