週間ダウンロード数が82万2千件を超える広く使用されているnpmパッケージが、再び重大なサプライチェーン攻撃の中心となり、JavaScriptエコシステム全体で新たな懸念が高まっています。
Socketのセキュリティ研究者は、人気のあるnode-ipcライブラリの複数の悪意あるバージョンを発見し、ステルス的な認証情報窃取マルウェアとバックドア機能が含まれていることを明らかにしました。
影響を受けたバージョンは[email protected]、9.2.3、および12.0.1で、公開後数分以内にフラグが立てられました。
Socketによると、悪意あるコードは高度に難読化されており、開発者環境とCIパイプラインから機密データを静かに収集し、秘密のDNSチャネルを通じて流出させるように設計されています。
node-ipcサプライチェーン攻撃
タイポスクワッティングやインストール時スクリプトに依存する従来のnpm攻撃とは異なり、このキャンペーンはペイロードをCommonJSエントリポイント(node-ipc.cjs)に直接埋め込みます。悪意あるコードはパッケージが必要とされるとすぐに自動的に実行され、検出が難しくなります。
トリガーされると、マルウェアは以下を実行します:
- OSレベルのデータを使用してホストシステムをフィンガープリント
- ローカルファイルと環境変数を列挙
- 認証情報、トークン、設定ファイルを収集
- データを圧縮して暗号化
- DNSTXTクエリを使用して流出
興味深いことに、パッケージのクリーンなESMバージョンは影響を受けていないため、「node-ipc」を要求するアプリケーションのみが影響を受けます。
マルウェアは以下を含む広範な機密開発者資産をターゲットにしています:
- クラウド認証情報(AWS、Azure、GCP、OCI)
- SSHキーとGit認証情報
- KubernetesおよびDocker構成
- .envファイルとデータベース設定
- TerraformとCI/CDシークレット
/etc/hostsやフル環境変数ダンプなどのシステムレベルのアーティファクトも収集します。これらにはAPIキー、トークン、認証シークレットが含まれる可能性があります。
検出を回避するため、収集されたファイルは名前を変更され、.tar.gzアーカイブに圧縮され、流出前に一時保存されます。実行が中断された場合、これらのアーカイブはディスク上に残る可能性があり、対応者にとって重要なフォレンジックアーティファクトとなります。
標準的なHTTPチャネルを使用する代わりに、マルウェアはデータ流出にDNS TXTクエリを使用します。正当なAzureインフラストラクチャに似せた偽装ドメインと通信します:
- sh[.]azurestaticprovider[.]net(ブートストラップリゾルバ)
- bt[.]node[.]js(流出ドメイン)
ペイロードは符号化されたデータを数千の小さなDNSクエリに分割し、ディープネットワーク検査なしでの検出を困難にします。単一の感染で数万のDNS要求が生成される可能性があります。
メンテナーアカウント侵害
初期調査は、攻撃が侵害されたnpmメンテナーアカウントに由来した可能性を示唆しています。研究者は、攻撃者が期限切れのメールドメインを悪用して休止中のアカウント(atiertant)を制御し、npm インフラストラクチャに直接侵入することなく認証情報をリセットして悪意あるバージョンを公開できたと考えています。
このテクニックは、オープンソースエコシステムにおいて、放棄されたまたは非アクティブなメンテナーアカウントが攻撃者の侵入ポイントとなるという増加するリスクを浮き彫りにしています。
node-ipcは以前、破壊的で地理的にターゲット化されたマルウェアを含む2022年の議論の余地のあるインシデントに関わっていました。このパッケージでの悪意あるコードの再登場は、単なるコピーキャット攻撃ではなく、繰り返しの侵害または意図的な再導入を示唆しています。
開発者は、影響を受けたバージョンを直ちに削除し、推移的な包含について依存関係を監査することを強く推奨されています。CommonJSバージョンをロードしたシステムは侵害されたものとして扱う必要があります。
セキュリティチームはDNSログで異常なTXTクエリバーストを監視し、既知の悪意あるドメインをブロックする必要があります。クラウドキー、SSHキー、APIトークンを含む認証情報のローテーションは、さらなる侵害を防ぐために重要です。
このインシデントは、信頼できるオープンソースパッケージでさえ一夜にして攻撃ベクトルになる可能性があり、積極的な依存関係監視はもはやオプションではないという厳しい真実を強化しています。
侵害の指標(IOC)
- 悪意あるパッケージバージョン:
- 疑わしいドメイン:
- sh[.]azurestaticprovider[.]net
- bt[.]node[.]js
- DNSクエリパターン:
- xh.、xd.、xf.*サブドメイン
- 一時ファイルパス:
- /tmp/nt-<pid>/<machineHex>.tar.gz
- アーティファクト指標:
- 1985年10月26日のタイムスタンプが付いたファイル
注意: IPアドレスとドメインは意図的に難読化されています(例:[.])。誤った解決またはハイパーリンクを防ぐためです。MISP、VirusTotal、SIEMなどの制御された脅威インテリジェンスプラットフォーム内でのみ復号化してください。
翻訳元: https://gbhackers.com/popular-node-ipc-npm-library-hit-by-supply-chain-attack/