Compromised SAP npm Packages Found Harvesting Developer and CI/CD Secrets
2026/04/30 gbhackers — SAP 開発者エコシステムを標的とする深刻なサプライチェーン攻撃を、セキュリティ研究者たちが特定した。TeamPCP と識別される脅威グループは、“Mini Shai Hulud” と名付けられた新たなキャンペーンにおいて、複数の正規 SAP npm パッケージを侵害した。この攻撃は、依存関係インストール時にサイレントに実行される、悪意のプレインストール・スクリプトの注入から始まる。

マルチステージ・ペイロードを活用する攻撃者は、開発者の認証情報および CI/CD シークレットを積極的に収集し、その他のリポジトリへと感染を拡大させる高度な伝播技術を用いている。
感染メカニズムと認証情報窃取
この攻撃者は、@cap-js/sqlite/@cap-js/postgres/@cap-js/db-service/mbt などの、広く使用される SAP パッケージの悪意のバージョンを作成した。
開発者が通常の npm インストール・コマンドを実行する際に、”setup.mjs” というドロッパー・ファイルを自動的に起動するプレインストール・スクリプトが、これらのライブラリには組み込まれている。
このドロッパーは通常の実行フローを回避し、Bun JavaScript ランタイムをダウンロードした後に、”execution.js” と呼ばれる大規模かつ高度に難読化されたペイロードを起動してから、パッケージ・インストールを完了する。
こうして実行されたマルウェアは、包括的な認証情報窃取ツールとして機能する。開発者の環境および CI/CD パイプラインを標的とし、GitHub トークン/npm 認証情報/Kubernetes アクセストークンに加えて、AWS/Azure/Google Cloud Platform のクラウド・シークレットを収集する。
さらに脅威アクターは、高度なメモリ抽出技術を用いてランナー環境から直接シークレットを抽出する。
興味深い点として挙げられるのは、このマルウェアがロシア語設定のシステムに対する初期チェックを実行する点である。システム・ロケールまたは環境変数がロシア語識別子で開始される場合にはジオフェンシングが機能し、ペイロードは即座に終了し、データ収集は回避される。
WIZ の報告によると、窃取された情報は RSA 公開鍵で暗号化され、GraphQL API を介して攻撃者が管理する公開 GitHub リポジトリへ送信される。
ブラウザ標的化と GitHub 汚染
このキャンペーンが示すのは、TeamPCP における戦術の顕著な進化である。今回のマルウェアに初めて組み込まれたものとして、Chrome/Safari/Edge/Brave といった主要 Web ブラウザからパスワードを直接窃取する機能がある。
主要な認証情報収集において、パーソナル・アクセス・トークンが取得できない場合のマルウェアは、ローカル GitHub リポジトリを汚染するフォールバック伝播ルーチンを開始する。それにより攻撃者は、最新の開発ツール向けに最適化された隠しコンフィグ・ファイルを配置する。
Claude Code ユーザーに対しては、新規セッションごとにドロッパーを実行する特定のフック・コンフィグを作成する。Visual Studio Code ユーザーに対しては、プロジェクトフォルダを開いた際に即座にペイロードを実行する、カスタマイズされたタスク・コンフィグを設定する。
セキュリティ・チームに対して強く推奨されるのは、アーティファクトストア/ロックファイル/CI ログを直ちに検索して、影響を受けるパッケージ・バージョンおよび関連する悪意のファイルを確認することだ。
それにより、不正なコミットや異常なリポジトリ・アクティビティについて GitHub 活動を継続的に監視し、すべての漏洩した可能性のある GitHub トークン/クラウド認証情報/CI/CD シークレットをローテーションする必要がある。
侵害指標
| File Type | Package | SHA-256 Hash |
|---|---|---|
| setup.mjs | All 4 Packages | 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34 |
| execution.js | @cap-js/postgres | eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb |
| execution.js | @cap-js/db-service | eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb |
| execution.js | @cap-js/sqlite | 6f933d00b7d05678eb43c90963a80b8947c4ae6830182f89df31da9f568fea95 |
| execution.js | mbt | 80a3d2877813968ef847ae73b5eeeb70b9435254e74d7f07d8cf4057f0a710ac |
訳者後書:SAP 開発者が頻繁に利用する npm パッケージに、悪意のスクリプトを混入する、きわめて巧妙なサプライチェーン攻撃について解説する記事です。問題の原因は、パッケージのインストール時に自動実行されるプレインストール・スクリプトの仕組みが悪用されたことにあります。具体的には、正規のパッケージを装う @cap-js/sqlite などの依存関係を通じて、難読化されたペイロードが実行される設計になっていました。このマルウェアは、開発環境のメモリから直接クラウド認証情報や GitHub トークンを抜き取るだけではなく、VS Code のコンフィグ・ファイルを書き換えて永続的な再感染も狙います。ご利用のチームは、ご注意ください。よろしければ、SAP での検索結果も、ご参照ください。

You must be logged in to post a comment.