
脅威アクターは本日、新しいShai-Hulud供給チェーン攻撃の一環として、600以上の悪意のあるパッケージをNode Package Manager(npm)インデックスに公開しました。
影響を受けたパッケージの大部分は@antv エコシステムに属しており、チャート作成、グラフ可視化、フローチャート作成、マッピング用のライブラリが含まれています。ただし、このネームスペース外の一般的なパッケージも侵害されています。
前回と同様に、ビデオプレーヤーは現在広告を再生しています。マウスまたはキーボードで5秒で広告をスキップできます
脅威アクターはGitHubを代替流出メカニズムとしても使用し、公開に使用されたトークンが見つかった場合、被害者のアカウント下のリポジトリに盗んだデータを公開しました。
アプリケーションセキュリティ企業のSocketによると、ハッカーは約1時間で323個の一意のパッケージ全体で639の悪意のあるバージョンを公開しました。影響を受けたライブラリの一部は次のとおりです:
- echarts-for-react
- @antv/g2
- @antv/g6
- @antv/x6
- @antv/l7
- @antv/g2plot
- @antv/graphin
- timeago.js
- size-sensor
- canvas-nest.js
Endor Labsの研究者は、一部のパッケージ(例:timeago.js、size-sensor、jest-canvas-mock)が長時間正当なアップデートを受けておらず、OIDC信頼できるパブリッシング公開機能が設定されていない可能性が高いことを強調しています。
例えば、jest-canvas-mockは月間1000万ダウンロード数を有していますが、約3年間休止状態にあります。
Socket研究者は、すべてのShai-Hulud攻撃の影響を受けたパッケージアーティファクトのリストを管理しており、1,000以上のエントリに増加しています。
Shai-Huludキャンペーンは昨年9月に開始され、npm、PyPI、およびComposerなどの複数のソフトウェアエコシステムに影響を与え続けています(Composerの程度は低い)。
マルウェアは管理者アカウントまたはパブリッシングトークンを侵害して、開発者とCI/CDシークレットを盗む悪意のあるコードを持つ正当なパッケージをプッシュし、盗まれた認証情報を使用して他のプロジェクトに広がる可能性があります。
最新の波は、GitHub、npm、クラウド、Kubernetes、Vault、Docker、データベース、およびSSH認証情報を盗もうとする、大幅に難読化された「index.js」ペイロードの挿入を含みます。
主に、GitHub Actions、GitLab CI、Jenkins、Azure DevOps、CircleCI、Vercel、Netlify、およびその他のビルドプラットフォームを含む、開発者ワークステーションとCI/CD環境をターゲットにしています。
盗まれたデータはシリアル化、Gzip圧縮、AES-256-GCM暗号化、およびRSA-OAEPラップされて、ネットワークインスペクションを難しくしています。
GitHub認証情報が利用可能な場合、マルウェアはGitHub APIを使用して、被害者のアカウント下に新しいリポジトリを自動的に作成し、盗まれたデータをアップロードします。
Socketはキャンペーンのマーカーと一致する1,900の公開されているGitHubリポジトリを見つけました。しかし、ソフトウェアセキュリティプラットフォームAikidoからの新しいレポートは、攻撃者が盗まれたトークンを使用してGitHub上で既に2,700以上の不正なリポジトリを公開していることを指摘しています。

Endor Labsによると、この最新のShai Hulud亜種の1つの重要な新しい追加は、侵害されたCI環境からOIDCトークンを悪用して、FulcioおよびRekoに送信することにより、有効なSigstoreの出所証明を生成する能力です。
その結果、悪意のあるnpmパッケージは、認証情報盗難マルウェアを含んでいるにもかかわらず、正当に署名されたように見え、標準的な出所検証チェックに合格する可能性があります。
この攻撃にも自己伝播機能が存在しています。マルウェアは盗まれたnpmトークンを検証し、被害者が所有するパッケージを列挙し、tarballsをダウンロードし、悪意のあるペイロードを注入し、バージョン番号をバンプしたパッケージを再公開します。
Shai Huludのコードが最近TeamPCP脅威グループによってGitHubに漏洩され、既に攻撃で使用されていることを考慮すると、新しいShai-Huludキャンペーンの帰属はより困難です。
Socketは、このバリアントは以前のMini Shai-Huludペイロードから技術的に異なるが、同じ運用特性を共有していると述べています。
「AntVペイロードは、TanStackのrouter_init.jsおよびIntercom関連のrouter_runtime.jsペイロードなどの以前のMini Shai-Huludアーティファクトと異なります」とSocketは説明しています。
「AntVサンプルはルートレベルのindex.js、異なるプライマリC2エンドポイント、およびより小さなペイロード本体を使用しています。ただし、コア運用モデルは一貫しています。」
感染したnpmパッケージをダウンロードした開発者は、それらを直ちにアンインストールし、感染したシステムの範囲内にあるすべてのシークレットをローテーションする必要があります。
検証ギャップ:自動化されたペンテストは1つの質問に答えます。あなたは6つが必要です。
自動化されたペンテストツールは実際の価値を提供しますが、1つの質問に答えるために構築されました:攻撃者がネットワークを通じて移動できますか?これらは、コントロールが脅威をブロックするか、検出ルールが発火するか、またはクラウド構成が保持されているかをテストするために構築されていません。
このガイドは、実際に検証する必要がある6つのサーフェスをカバーしています。