概要
北朝鮮に関連するハッカーグループが、長期にわたる「Contagious Interview」キャンペーンの一環として、悪意のあるMicrosoft Visual Studio Code (VS Code) プロジェクトを開発者への誘い水として利用し、侵害されたエンドポイントにバックドアを仕込んでいることが、Jamf Threat Labsの最新調査により判明しました。
この活動は、被害者のシステム上でリモートコード実行機能を提供するバックドアを配備することを目的としています。Jamf Threat Labsのセキュリティ研究者Thijs Xhaflaire氏によると、この攻撃手法は2025年12月にOpenSourceMalwareによって初めて報告されたものから、絶えず進化を続けていることを示しています。
VS Codeタスク設定を悪用した攻撃
攻撃の出発点は、ターゲットとなる開発者にGitHub、GitLab、Bitbucket上のリポジトリをクローンさせ、それをVS Codeで開かせるというものです。これは、仮想のジョブアセスメント(仕事の評価)の一環であるかのように巧妙に装われます。
これらの攻撃の究極的な目的は、VS Codeのタスク設定ファイル、特に`tasks.json`を悪用し、Vercelドメイン上に配置された悪意のあるペイロードを実行させることです。このタスクは、`”runOn”: “folderOpen”`オプションが設定されているため、プロジェクトフォルダやその中のファイルが開かれるたびに実行されます。これにより、最終的に「BeaverTail」や「InvisibleFerret」といったマルウェアがシステムに展開されます。
巧妙化するマルウェアの隠蔽と配信
このキャンペーンの後の段階では、マルウェアはより巧妙に隠蔽されるようになりました。複雑な多段階ドロッパーがタスク設定ファイルに埋め込まれ、無害なスペルチェック辞書として偽装されることが判明しています。これは、Vercelドメインからのペイロード取得に失敗した場合の代替メカニズムとして機能します。
これらのファイルに埋め込まれた難読化されたJavaScriptは、統合開発環境 (IDE) でプロジェクトが開かれるとすぐに実行されます。これにより、リモートサーバー(例:`ip-regions-check.vercel[.]app`)との通信が確立され、そこから受信したJavaScriptコードが実行されます。この攻撃チェーンの最終段階として配信されるのは、さらに高度に難読化されたJavaScriptです。
新たな感染経路とAIアシスタンスの可能性
Jamfは、今回、リモートコード実行機能を持つバックドアを配信するための、これまで文書化されていなかった感染方法を発見しました。攻撃チェーンの出発点は共通しており、被害者が悪意のあるGitリポジトリをクローンしてVS Codeで開くと活性化します。
Xhaflaire氏は、「プロジェクトが開かれると、Visual Studio Codeはユーザーにリポジトリ作者の信頼を促します。その信頼が付与されると、アプリケーションは自動的にリポジトリの`tasks.json`設定ファイルを処理し、埋め込まれた任意のコマンドがシステム上で実行される可能性があります」と説明しています。
macOSシステムでは、`nohup bash -c`と`curl -s`を組み合わせたバックグラウンドシェルコマンドが実行され、リモートのJavaScriptペイロードを直接Node.jsランタイムにパイプして実行します。これにより、Visual Studio Codeプロセスが終了しても独立して実行が継続され、すべてのコマンド出力は抑制されます。
VercelでホストされているJavaScriptペイロードには、基本的なホスト情報を収集し、リモートサーバーと通信してリモートコード実行、システムフィンガープリント、永続的な通信を容易にする主要なバックドアロジックが含まれています。Jamfは、初期感染から約8分後にさらにJavaScript命令が実行される事例を観測しました。新しくダウンロードされたJavaScriptは、5秒ごとにサーバーにビーコンを送信し、追加のJavaScriptを実行し、オペレーターからの信号を受信すると活動の痕跡を消去するように設計されています。このスクリプトが、AIツールを使用して生成された可能性も示唆されています。
狙われる開発者と北朝鮮のサイバー戦略
北朝鮮(DPRK)に関連する脅威アクターは、特に仮想通貨、ブロックチェーン、フィンテック分野で働くソフトウェアエンジニアを標的とすることで知られています。これは、彼らが金融資産、デジタルウォレット、技術インフラへの特権アクセスを持つことが多いためです。
これらの開発者のアカウントやシステムを侵害することで、攻撃者はソースコード、知的財産、内部システムへの不正アクセス、さらにはデジタル資産の横領が可能になります。彼らの戦術に対する一貫した変更は、厳しく制裁を受けている北朝鮮体制を支援するため、サイバースパイ活動と金融目標でより大きな成功を収めるための継続的な努力と見られています。
その他の関連攻撃キャンペーン
Red Asgardの調査では、VS Codeのタスク設定を悪用して難読化されたJavaScriptをフェッチし、フル機能のバックドア「Tsunami」(TsunamiKitとしても知られる)とXMRig仮想通貨マイナーをドロップする悪意のあるリポジトリが詳細に報告されています。
また、Security Allianceによる先週の分析では、LinkedInで被害者にアプローチし、Meta2140プロジェクトのCTOを名乗って、悪意のあるコードをホストするBitbucketリポジトリへのURLを含むNotion.soリンクを共有する攻撃についても言及しています。興味深いことに、この攻撃チェーンは以下の2つの方法にフォールバックするように設計されています。
- 悪意のあるnpm依存関係「`grayavatar`」のインストール。
- 高度なNode.jsコントローラーを取得するJavaScriptコードの実行。このコントローラーは、キーストロークのログ、スクリーンショットの取得、システムホームディレクトリからの機密ファイルのスキャン、クリップボードにコピーされたウォレットアドレスの置換、ウェブブラウザからの認証情報盗用、リモートサーバーへの永続的な接続確立という5つの異なるモジュールを実行します。
マルウェアはその後、スタガースクリプトを使用して並行Python環境をセットアップし、データ収集、XMRigを使用した仮想通貨マイニング、キーロギング、そしてリモートアクセス用のAnyDeskの展開を可能にします。Node.js層はBeaverTail、Python層はInvisibleFerretと呼ばれています。これらの発見は、国家支援の脅威アクターが攻撃の成功確率を高めるために複数の配信方法を同時に試していることを示しています。
開発者への対策と警告
Jamf Threat LabsのディレクターであるJaron Bradley氏は、観測されたマルウェアが短期間で非常に速く変化していると指摘しています。特にmacOS向けのペイロードは純粋なJavaScriptで書かれており、AIアシスタンスの多くの兆候が見られたとのことです。
脅威に対抗するため、開発者は以下の点に厳重な注意を払うよう助言されています。
- 特に見慣れないソースから提供されたり、コーディングテスト中に直接共有されたりするサードパーティのリポジトリを扱う際には注意する。
- VS Codeで開く前にソースコードの内容を注意深くレビューする。
- 検証済みのnpmパッケージのみをインストールする。
Jamfは、「この活動は、北朝鮮関連の脅威アクターの継続的な進化を示しており、彼らがツールと配信メカニズムを正当な開発者ワークフローに統合するために常に適応していることを強調しています。Visual Studio Codeのタスク設定ファイルとNode.js実行の悪用は、これらの技術が一般的に使用される開発ツールと共にどのように進化しているかを示しています」と述べています。
元記事: https://thehackernews.com/2026/01/north-korea-linked-hackers-target.html
