セキュリティ研究者は、SAP開発者エコシステムを標的とした深刻なサプライチェーン攻撃を特定しました。TeamPCPと特定された脅威グループが複数の正規なSAP npmパッケージを侵害し、Mini Shai Huludという新しいキャンペーンで活動しています。
この作戦は、依存関係のインストール中に無音で実行される悪意のあるプリインストールスクリプトを注入することに依存しています。
多段階のペイロードを活用して、攻撃者は開発者の認証情報と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からのクラウド秘密情報を収集します。
脅威アクターは、ランナー環境から秘密情報を直接抽出するための高度なメモリ抽出技術を使用しています。興味深いことに、マルウェアはロシア言語構成の初期システムチェックを実行します。
システムロケールまたは環境変数がロシア言語の識別子で始まる場合、ロシア語を話すユーザーからのデータ収集を防ぐために、ペイロードは直ちに終了します。
盗まれた情報はRSA公開鍵で暗号化され、GraphQL APIを経由して攻撃者が制御する公開GitHubリポジトリに流出され、WIZが報告したようになります。
ブラウザーを標的にしたGitHubへの毒入れ
このキャンペーンはTeamPCPの注目すべき戦術的進化を導入しています。初めて、彼らのマルウェアはChrome、Safari、Edge、Braveなどの一般的なWebブラウザーから直接パスワードを盗む機能を含んでいます。
プライマリ認証情報収集がパーソナルアクセストークンの検出に失敗した場合、マルウェアはローカルGitHubリポジトリに毒を入れるように設計されたフォールバック伝播ルーチンを開始します。攻撃者は最新の開発ツール向けにカスタマイズされた隠しコンフィグレーションファイルをドロップします。
Claude Codeのユーザーの場合、マルウェアは新しいセッションごとにドロッパーを実行する特定のフック構成を作成します。Visual Studio Codeのユーザーの場合、カスタマイズされたタスク構成は、プロジェクトフォルダが開かれるたびにペイロードを即座に実行します。
セキュリティチームは、影響を受けたパッケージバージョンと関連する悪意のあるファイルについて、アーティファクトストア、ロックファイル、およびCIログをすぐに検索するよう促されています。
組織は、潜在的に公開されたすべてのGitHubトークン、クラウド認証情報、およびCI/CD秘密情報をローテーションし、不正なコミットまたは異常なリポジトリアクティビティについてGitHubアクティビティをアクティブに監視する必要があります。
妥協の兆候
| ファイルタイプ | パッケージ | SHA-256ハッシュ |
|---|---|---|
| setup.mjs | すべての4つのパッケージ | 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34 |
| execution.js | @cap-js/postgres | eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb |
| execution.js | @cap-js/db-service | eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb |
| execution.js | @cap-js/sqlite | 6f933d00b7d05678eb43c90963a80b8947c4ae6830182f89df31da9f568fea95 |
| execution.js | mbt | 80a3d2877813968ef847ae73b5eeeb70b9435254e74d7f07d8cf4057f0a710ac |
翻訳元: https://gbhackers.com/compromised-sap-npm-packages/