セキュリティ研究者は、CanisterWormと呼ばれる非常に高度なnpmサプライチェーン攻撃を特定しました。「TeamPCP」として追跡される脅威行為者によって調整されたこのキャンペーンは、正当なnpmパブリッシャーの名前空間を正常に侵害しました。
攻撃者はSDKパッケージに悪意のあるペイロードを注入し、より広いnpmエコシステム全体に自律的に広がるワーム化可能な脅威を作成します。
感染ライフサイクルは、package.json内の悪意のあるpostinstallスクリプトがPythonバックドアの配置をトリガーするパッケージインストール中に開始されます。
Linux環境では、マルウェアはsystemd-userを使用してpgmonという名前の隠しバックグラウンドサービスを作成することで永続性を確立します。
コマンド・アンド・コントロール(C2)の場合、CanisterWormはInternet Computer Protocol(ICP)キャニスターを継続的にポーリングすることで分散アプローチを活用します。
このキャニスターはdead-drop C2チャネルとして機能し、マルウェアが/tmp/pglogに保存するセカンダリペイロードを配信しながら、その実行状態を/tmp/pg_stateファイルで追跡します。
初期ペイロードの主な目的は、認証情報を積極的に収集することです。マルウェアは、ローカルプロジェクトディレクトリ、ユーザーホームディレクトリ、およびシステム全体の設定を明示的にスキャンして、.npmrcファイルから_authToken値を抽出します。
また、NPM_TOKENおよびNPM_TOKENS環境変数をターゲットにして、昇格した権限をキャプチャします。
認証情報が盗まれると、deploy.jsという名前のスクリプトを使用してワームの自律的な伝播モジュールが引き継ぎます。
このスクリプトはnpmレジストリに対して認証し、侵害されたユーザーによって保守されているすべてのパッケージを列挙し、パッチバージョンをインクリメントし、ダウンストリームユーザーを感染させるための悪意のあるアップデートを公開します。
お使いの環境がこのキャンペーンにさらされている場合、ワームがお使いの認証情報を使用して自己伝播するのを停止するために、即座の封じ込めが必要です。
継続的な脅威インテリジェンス監視により、このキャンペーンに関連する以前に報告されていなかったいくつかのパッケージバージョンが最近特定されました。以下は、お使いの依存関係と照合するために新たに発見されたおよび既知の侵害されたパッケージの統合テーブルです。
翻訳元: https://cyberpress.org/canisterworm-targets-npm-tokens/