概要
- Jamf Threat Labs がVisual Studio Codeの tasks.json 悪用の新手法を発見
- Contagious Interview キャンペーンの進化した感染経路を解説
- 辞書ファイル型の難読化JavaScript による攻撃手法の詳細
- Node.js実行・C2通信・リモートコード実行 の実装内容
- 開発者向けの防御策 と注意点を提案
Visual Studio Codeタスク設定ファイルの悪用進化
- 北朝鮮(DPRK)関連グループ によるContagious Interviewキャンペーンの新たな攻撃手法
- GitHubやGitLab 上の悪意あるリポジトリを利用した感染経路
- Visual Studio Code でリポジトリを開くと、信頼確認後に tasks.json が自動実行
- macOS ではnohup bash -cとcurlで外部JavaScriptペイロードを取得、 Node.js で実行
- vercel.app など正規サービスを悪用したペイロードホスティング
- Jamf Threat Labsが悪質リポジトリをGitHubに報告、削除対応
JavaScriptペイロードの分析
- ペイロードは 冗長コードや未使用関数 を多く含み、難読化・解析妨害を意図
- コア機能 はバックドア実装
- リモートコード実行 :攻撃者が任意のJavaScriptを実行可能
- システム指紋収集 :ホスト名、MACアドレス、OS情報を収集
- C2通信 :5秒ごとにC2サーバーへビ―コン送信・指示待機
- IPアドレス取得 :ipify.org経由で外部IP判定
- 追加JavaScript取得・実行や 自己削除・痕跡消去 機能も搭載
- AIアシスト生成を示唆するコメント も一部に確認
攻撃チェーンの流れ
- 被害者が 採用試験や技術課題 を装ったリポジトリをクローン・開封
- Visual Studio Codeで信頼設定後、 tasks.json 経由でコマンド実行
- Node.js 経由でペイロード取得・実行、バックドア常駐
- C2サーバーと通信し、追加命令やさらなるペイロードを受信・実行
開発者・組織向けの防御策
- Jamf Threat Prevention および Advanced Threat Controls のブロックモード有効化推奨
- サードパーティリポジトリ の信頼設定前に内容精査
- npm install 実行時は package.json・インストールスクリプト・タスク設定 の確認必須
- 不審なリポジトリやコード の利用回避
まとめと今後の展望
- DPRK系攻撃者 の手法は 開発者の実運用フロー に巧妙に組み込まれる傾向
- Visual Studio CodeやNode.js など開発ツールの設定ファイル悪用が拡大
- Jamf Threat Labsは今後も 手口の進化 を継続監視
- 開発者は セキュリティ意識向上 と リポジトリ精査 の徹底が必要
関連情報や詳細分析はJamf Threat Labsブログ にて公開