ソフトウェアサプライチェーンは最近、人気のGitHub Actionとして知られるissues-helperを含む高度なセキュリティ侵害を受けました。
セキュリティ研究者は、actions-cool組織内で広く使用されているこのツールが、攻撃者がそのリポジトリタグを巧みに操作することに成功した際に侵害されたことを発見しました。
既存のすべてのリリースタグは、プロジェクトの通常のデフォルトブランチ履歴内に存在しないなりすましコミットを指すようにシステム的にリダイレクトされました。
これらの悪意のある孤立したコミットは、アクションを実行する継続的統合パイプラインから直接機密認証情報を流出させるように設計された危険なコードを導入します。
侵害されたGitHub Actionがランナー環境内で実行されると、なりすましコミットは高度にターゲット化された認証情報収集シーケンスを開始します。
悪意のあるペイロードは、最初にbun JavaScriptランタイムをランナーインフラストラクチャに直接ダウンロードします。
このランタイムを通じて動作し、アクションはコアスクリプトを実行し、Pythonを使用して権限を昇格させるように設計された二次的な子プロセスを生成します。
これらの子プロセスはメインワーカープロセスのアドレス空間を積極的にターゲットにし、メモリマッピングを読み取って解読された秘密と認証トークンをスクレイピングします。
この手法により、マルウェアはアクティブなランナーメモリから、それが保護されるまでの間に直接機密情報を抽出できます。
これらの認証情報の抽出に成功した後、ペイロードは外部サーバーへの不正な送信接続を確立します。
Harden-Runnerセキュリティツール内のネットワークモニターは、盗まれたデータを受け取るように設計された特定の攻撃者制御ドメインへの呼び出しを開始するJavaScriptプロセスをキャプチャしました。
脅威アクターは、元のメンテナが使用するフォーマットを密接に模倣する偽のビルドアクションメッセージを表示するために、各なりすましコミットを綿密に作成しました。
しかし、タイムスタンプは攻撃の自動化された性質を明かし、3分の時間枠内にissues-helperアクションのために53のなりすましコミットが生成されました。
セキュリティプラットフォームは、疑わしい子プロセスのために、これらのアクションに関連するワークフローステップにすぐフラグを立てました。
エンタープライズセキュリティシステムは、これらの悪意のあるアクションの実行をブロックし、データ流出を防ぐための対抗策を迅速に展開しました。
StepSecurityのようなプラットフォームは影響を受けたリポジトリを侵害されたアクションポリシーに組み込み、中毒ツールを参照するワークフローが悪意のあるコードが初期化される前に自動的にキャンセルされることを保証しました。
この予防措置はJavaScriptランタイムのダウンロードを停止し、Pythonメモリスクレイピングスクリプトがワーカープロセスにアクセスするのを防ぎます。
さらに、グローバルブロックリストは流出先に到達しようとするアウトバウンドネットワークトラフィックをインターセプトするために更新されました。
このアプローチは、悪意のあるアクションが実行されても、盗まれた認証情報が継続的統合パイプラインから出ることができないことを保証します。
翻訳元: https://cyberpress.org/malicious-github-action-steals/