大規模なShai-Huludキャンペーン、600以上のnpmパッケージを侵害し開発者シークレットを標的に
新たな**Shai-Hulud**サプライチェーン攻撃により、Node Package Manager(**npm**)レジストリ上の600以上のパッケージに悪意のあるコードが注入されました。主に`@antv`エコシステムを標的としたこのキャンペーンは、開発者およびCI/CDのシークレットを盗み出し、Session P2PネットワークとGitHubを通じて外部に送信しています。

攻撃者は、新たな**Shai-Hulud**サプライチェーンキャンペーンの一環として、**Node Package Manager (npm)** インデックスに600以上の悪意のあるパッケージを公開しました。
影響を受けたパッケージのほとんどは、チャート作成、グラフ可視化、フローチャート作成、マッピング用のライブラリを含む`@antv`エコシステムに属しています。しかし、この名前空間外の人気のあるパッケージも侵害されています。
### 1時間の攻撃
**TanStack**および**Mistral**パッケージに影響を与えた以前の**Shai-Hulud**キャンペーンと同様に、ペイロードは開発者およびCI/CD環境からシークレットを収集し、検出とテイクダウンの努力を複雑にするためにSession P2Pネットワーク経由で外部に送信します。
攻撃者は、公開に使用されたトークンが見つかった場合、**GitHub**をフォールバックの外部送信メカニズムとしても使用し、被害者のアカウント下のリポジトリに盗まれたデータを公開しました。
アプリケーションセキュリティ企業**Socket**によると、ハッカーは5月19日のUTC 01:56から02:56までの約1時間で、323のユニークなパッケージにわたって639の悪意のあるバージョンを公開しました。
この攻撃は、`@antv`名前空間のパッケージを公開するnpmアカウント`atool`の侵害から始まりました。影響を受けたライブラリの一部には以下が含まれます。
* 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などの複数のソフトウェアエコシステムに、程度は低いものの影響を与え続けています。
### GitHubへの公開
マルウェアは、メンテナーアカウントまたは公開トークンを侵害して、開発者およびCI/CDシークレットを盗む悪意のあるコードを含む正当なパッケージをプッシュし、盗まれた認証情報を使用して他のプロジェクトに拡散する可能性があります。
最新の波には、**GitHub**、npm、クラウド、Kubernetes、Vault、Docker、データベース、SSHの認証情報を盗もうとする、高度に難読化された「index.js」ペイロードの注入が含まれます。
主に開発者ワークステーションおよびCI/CD環境を標的としており、**GitHub Actions**、GitLab CI、Jenkins、Azure DevOps、CircleCI、Vercel、Netlify、その他のビルドプラットフォームが含まれます。
盗まれたデータはシリアライズされ、Gzip圧縮され、AES-256-GCMで暗号化され、RSA-OAEPでラップされ、ネットワーク検査を困難にします。
**GitHub**認証情報が利用可能な場合、マルウェアは**GitHub** APIを使用して被害者のアカウント下に新しいリポジトリを自動的に作成し、そこに盗まれたデータをアップロードします。
この攻撃の結果として公開されたリポジトリには、`niaga og ew ereh :duluh-iahs`という文字列を含むReadmeファイルがあります。これは、先週の**Shai-Hulud**マルウェアリークで使用されたフレーズ「*Shai-Hulud: Here We Go Again*」の逆です。
ソフトウェアセキュリティプラットフォーム**Aikido**からのレポートによると、キャンペーンのマーカーに一致する**GitHub**上の不正なリポジトリは2,700以上存在します。
この記事の公開前に検索したところ、最新の**Shai-Hulud**サプライチェーンキャンペーンによって生成された**GitHub**リポジトリは現在少なくとも2,900存在します。

しかし、主な外部送信チャネルは、Session P2Pネットワーク経由の*filev2.getsession[.]org/file/*です。盗まれた認証情報を送信するための*t.m-kosche.com*エンドポイントも使用されます。
「ネットワーク上では、TCP/443でのエンドツーエンド暗号化トラフィックであり、ネットワークレイヤーでは正規のSessionアプリトラフィックと区別がつきません。ホスト名やIPでブロックできる従来のC2 [コマンド&コントロール] エンドポイントはありません」と**Endor Labs**の研究者は述べています。
### 正規に見えるパッケージ
**Endor Labs**がこの**Shai Hulud**のバリアントで発見した重要な新機能の1つは、侵害されたCI環境からのOpenID Connect (OIDC) トークンを悪用し、FulcioとRekoに送信することで、有効な**Sigstore**プロビナンス証明書を生成する能力です。
同様の機能は、TeamPCPに起因する**TanStack**攻撃で配信されたペイロードでも観察されており、攻撃者は検証可能なSupply-chain Levels for Software Artifacts (SLSA) プロビナンス証明書を持つ悪意のあるパッケージバージョンを公開しました。
その結果、悪意のあるnpmパッケージは、認証情報窃盗マルウェアを含んでいるにもかかわらず、正規に署名されているように見え、標準的なプロビナンス検証チェックを通過する可能性があります。
自己伝播機能もこの攻撃に存在します。マルウェアは盗まれたnpmトークンを検証し、被害者が所有するパッケージを列挙し、tarballをダウンロードし、悪意のあるペイロードを注入し、バージョン番号を更新して感染したパッケージを再公開します。
**Shai Hulud**のコードが最近TeamPCP脅威グループによって**GitHub**でリークされ、すでに攻撃に使用されているため、新しい**Shai-Hulud**キャンペーンの帰属はより困難になっています。
### VS CodeおよびClaude Codeを通じた永続化
**Socket**によると、このバリアントは以前のMini **Shai-Hulud**ペイロードとは技術的に異なりますが、同じ運用上の特徴を共有しています。
「AntVペイロードは、**TanStack**のrouter_init.jsやIntercom関連のrouter_runtime.jsペイロードなどの以前のMini **Shai-Hulud**成果物とは異なります」と**Socket**は説明します。
「AntVサンプルはルートレベルのindex.js、異なるプライマリC2エンドポイント、およびより小さなペイロードボディを使用しています。しかし、コアの運用モデルは一貫しています。」
**Aikido Security**は、コアモデルは同じですが、いくつかの違いがあると確認しています。ペイロードは現在より小さく、VS CodeおよびClaude Codeの設定に埋め込まれたバックドアによる永続化があります。
研究者たちは、これが「攻撃者が初期侵害がクリーンアップされた後に何が起こるかを考えている」ことを示唆している可能性があると警告しています。
感染したnpmパッケージをダウンロードした開発者への一般的な推奨事項は、直ちに削除するか、5月18日より前に公開された既知の良いバージョンにダウングレードし、その後、公開されたすべての認証情報(例:**GitHub**、クラウドトークン、SSHキー)を無効化してローテーションすることです。
アプリケーションセキュリティ企業**Socket**、**Endor Labs**、**Aikido Security**、および**Step Security**からの攻撃に関するレポートには、防御者が開発環境を保護するために使用できる侵害の兆候(IOC)とともに、検出、修復、緩和のアドバイスが含まれています。
**[更新:10:31 EST]**: ***Aikido Security**および**Microsoft**からの情報を含めて記事を更新しました。*
[The Validation Gap: Automated Pentesting Answers One Question. You Need Six.](https://hubs.li/Q048zztN0)
自動化されたペネトレーションテストツールは真の価値を提供しますが、それらは1つの質問に答えるために構築されました:攻撃者はネットワークを通過できるか?それらは、あなたのコントロールが脅威をブロックするか、検出ルールが発火するか、クラウド構成が保持されるかをテストするために構築されたものではありません。
このガイドでは、実際に検証する必要がある6つのサーフェスについて説明します。
[今すぐダウンロード](https://hubs.li/Q048zztN0)