Contagious Interviewサイバー攻撃キャンペーンの発信者は、GitHub、Vercel、NPMを組み合わせて、マルウェアを配布する開発・デリバリーパイプラインを構築しています。
Socketの研究者は、NPMのパッケージに依存する開発者を標的とするContagious Interviewキャンペーンに関連した高度なソフトウェアサプライチェーン攻撃の詳細を明らかにしました。
彼らは、攻撃の背後に「フルスタック」な運用があることを発見しました。そこでは、コードホスティング、パッケージ配布、ステージングサーバー、コマンド&コントロール(C2)インフラが、正規のソフトウェア開発・配信パイプラインのように連携しており、正直な開発者に対して攻撃から身を守るための新たなアドバイスを提供しています。
最新の波では、攻撃者が約200個の新たな悪意あるNPMパッケージをアップロードし、3万1,000回以上のダウンロードが記録されました。このキャンペーンは、Web3やブロックチェーン関連の偽の面接やコーディング課題で被害者を誘い、「テストプロジェクト」の依存関係を取得するよう求めます。しかし、インストールされるNPMパッケージはトロイの木馬です。
Socketが特定した最新のパッケージは、最終的に認証情報の窃取、システム監視、リモートアクセス機能が強化された新たなペイロードを配信し、開発者のアカウントやマシンを乗っ取ることを可能にします。
ポイントディフェンス
最新の分析に基づき、Socketは開発者に対し、このキャンペーンが突く弱点に注目し、すべての「npm install」を潜在的なリモートコード実行とみなすこと、CIランナーのアクセス範囲を制限すること、ネットワークの外部通信制御を強化すること、GitHubから取得した新規テンプレートやユーティリティのコードを必ずレビューすることを推奨しています。チームはまた、見慣れないヘルパーパッケージを精査し、既知の安全なバージョンを固定し、依存関係の自動更新ではなくロックファイルを使用することも推奨されています。
自動パッケージ分析もリスク低減に有効で、リアルタイムスキャンにより、インポート時ローダー、ネットワークプロービング、大量データの流出などの脅威を、開発者のマシンやCIシステムに到達する前に検知できます。
これらのチェックを導入することで、依存関係の導入やコードレビューがContagious Interview型攻撃を初期段階でブロックする有効なフィルターになるとSocketは述べています。
コーディング課題がマルウェア配信につながる
これらの防御策が有効なのは、Contagious Interviewの侵入経路がソーシャルエンジニアリングに大きく依存しており、偽の面接課題で開発者を騙して改ざんされた依存関係をインストールさせるためです。
このキャンペーンは、JavaScriptやNode.jsで広く利用されているパッケージレジストリNPMを悪用し、一見無害に見えるが隠れたペイロードを持つパッケージを公開します。悪意あるパッケージには「tailwind-magic」などが含まれ、正規のライブラリ(この場合は本物の「tailwind-merge」ユーティリティのタイポスクワット版)を模倣して疑いを避けます。
無警戒な開発者がこのようなパッケージをインストールすると、post-installスクリプトがトリガーされ、Vercel上にホストされたステージングエンドポイントにアクセスします。そのエンドポイントは、攻撃者が管理するGitHubアカウント「stardev0914」から取得したライブペイロードを配信します。そこから、ペイロードはOtterCookieの亜種であり、キャンペーンの他の代表的なペイロードBeaverTailの機能も組み込まれており、実行されて攻撃者のコントロールサーバーへのリモート接続を確立します。マルウェアはその後、認証情報、暗号ウォレットデータ、ブラウザプロファイルなどを密かに収集します。
「悪意あるnpmパッケージtailwind-magicを追跡したところ、Vercel上のステージングエンドポイントtetrismic[.]vercel[.]app、さらにそこから攻撃者が管理するGitHubアカウントにたどり着き、18個のリポジトリが確認されました」と、Socketのシニア脅威インテリジェンスアナリストKirill Boychenkoはブログ投稿で述べ、悪意あるGitHubアカウントstardev0914の確認に役立ったKieran Miyamotoによる関連調査に謝意を示しました。
「フルスタック」な敵対者:GitHub、Vercel、NPM
このキャンペーンを際立たせているのは、その背後にある多層的なインフラです。Socketの分析は、NPMパッケージだけでなく、攻撃者がどのように完全なデリバリーパイプラインを構築したかも明らかにしました。つまり、GitHub上のマルウェア配信用リポジトリ、Vercel上のステージングサーバー、そしてデータ流出やリモートコマンド実行用の別個のC2サーバーです。
この仕組みにより、攻撃者はペイロードのローテーション、マルウェアの目立たないアップデート、ターゲットごとの展開のカスタマイズが可能となり、正規の開発者エコシステムに巧妙に溶け込むことができるとBoychenkoは述べています。
一度インストールされると、OtterCookieは単に実行して消えるだけではありません。キーストロークの記録、クリップボードの乗っ取り、ファイルシステムのスキャン、スクリーンショットの取得、Windows、macOS、Linux全体でのブラウザやウォレットの認証情報の窃取など、持続的に活動します。
キャンペーン実行者によるNPMでの活動の活発化は、JavaScriptおよびオープンソースエコシステムにとって憂慮すべきタイミングで発生しています。ここ数カ月、コミュニティではNPMベースの攻撃が相次いでおり、人気パッケージをトロイの木馬化するワーム型キャンペーン、自動化された認証情報窃取、開発・CI環境の両方にまたがる広範なサプライチェーン侵害などが発生しています。
この記事はInfoworldに最初に掲載されました。