偽のコーディング試験に潜む罠、国旗のSVG画像に隠された北朝鮮関連グループのマルウェア
要点
-
北朝鮮に関連する攻撃グループが、開発者を標的にした偽の求人情報やコーディング試験を悪用していることが判明しました。
-
検出を回避するため、試験用プロジェクトのディレクトリ内にある国旗のSVG画像に、分割されたマルウェアが隠されていました。
-
実行されると、ブラウザの資格情報や暗号資産の窃取など、4段階の機能を持つ「OtterCookie」系統のプログラムが動作します。
-
窃取対象ファイルには、CursorやGeminiといったAIコーディングツールの設定・ログに関連する拡張子も指定されていました。
-
オランダのエンタープライズ検索・観測性プラットフォーム企業であるElasticのセキュリティ研究部門「Elastic Security Labs」は2026年7月17日、北朝鮮に関連する攻撃グループが、開発者向けの偽のコーディング試験を利用してマルウェアを感染させていると発表しました。この攻撃は「Contagious Interview(伝染する面接)」と呼ばれるキャンペーンの一環で、試験用コードの素材であるSVG(ベクター画像フォーマット)画像の中に悪意のあるプログラムを隠し持つ手法が使われていました。
コミュニティSlackを狙った新たな初期侵入の手口
発表によると、このキャンペーンは少なくとも2022年12月頃から続いている高度なソーシャルエンジニアリング(人の心理的な隙やだましを利用した攻撃手法)作戦です。今回、Elastic Security Labsは、攻撃者がElasticのコミュニティ用Slackの求人チャンネルである「#jobs」を標的にしたことで、この新たな初期侵入手口を発見しました。
2026年5月下旬、このチャンネルに「Maxwell」というアカウント名で求人情報が投稿されました。その内容は、Next.js(バージョン14)やNestJS、PostgreSQL、Auth.jsといった技術スタック(開発で使用する技術群)を用いた電子商取引プラットフォームのアップグレードを支援できる、経験豊富なWeb開発者を募集するものでした。
この求人に興味を示した開発者はダイレクトメッセージ(DM)に誘導され、採用プロセスの一環としてコーディング課題(プログラミングの実技試験)を実行するよう指示されました。この課題用プロジェクトとして配布されたリポジトリ(プログラムの保管庫)に、不正なマルウェアが仕込まれていました。
SVG画像にコードを隠すステガノグラフィー技術
配布されるプログラムは実行すると正常に動作しますが、裏で悪意のあるプログラムが静かに実行されるよう設計されていました。
セキュリティ検知を避けるため、攻撃者は「ステガノグラフィー」と呼ばれるデータを隠蔽する技術を用いました。プロジェクトのアセットディレクトリに含まれる国旗の画像ファイル(アラブ首長国連邦の「AE.svg」やアフガニスタンの「AF.svg」など)のHTMLコメント部分に、Base64(データを英数字のみの文字列に変換する方式)でエンコードされたコードの断片を分割して隠していました。一見すると単なる無害な画像ファイルにコードを仕込むこの手法は、セキュリティ製品による自動検出を巧みに回避します。
そして、プロジェクト内に含まれる「serverValidation.js」というJavaScriptファイルが、これらの画像ファイルから隠された断片を集めて結合・復元し、実行していました。この攻撃により、サーバーが起動するたびに悪意のあるプログラムが自動的に動くよう仕組まれていました。
AIツールまで標的にする進化型マルウェア「OtterCookie」
実行される主なプログラムは、2024年9月に初確認され、現在は「OtterCookie」として追跡されているクロスプラットフォーム(複数の異なるOSに対応する)マルウェアの系統であることが判明しています。
マイクロソフトの分析によると、OtterCookieは当初、リモートでコマンドを実行したり暗号キーを探索したりする単純なツールでしたが、現在は仮想マシン環境のチェックやC2サーバー(マルウェアに指令を送り情報を回収するためのサーバー)との通信機能、任意のシェルコマンドを実行できる多機能な情報窃取ツールへと進化しています。
今回の攻撃で検知されたマルウェアには、次の4つのモジュール(機能単位)が組み込まれていました。
- ブラウザに保存された資格情報や暗号資産ウォレットのデータを盗み出す機能
- 特定の拡張子を持つファイルを収集する機能
- Socket.IO(リアルタイム通信用ライブラリ)を利用してリモートから操作する永続的なバックドア機能
- クリップボードの内容を読み取り、Windows用の実行ファイルをドロップする機能
特に注目されているのは、ファイル窃取機能が対象としているファイル拡張子です。リストには .claude、.cursor、.gemini、.windsurf、.pearai、.llama といったAI(人工知能)コーディングツールの設定やログに関連する拡張子が含まれていました。これは、攻撃者が開発者の最新の開発環境に対応するために攻撃ツールを改良していることを示しています。
他の攻撃活動との類似性
なお、このマルウェアは、ビルドツール「Rollup」のポリフィル(古い環境で新しい機能を再現するコード)ツールを偽装した不正なnpm(JavaScriptのパッケージ管理システム)パッケージを介して配布されていたデータ窃取プログラムとも機能的な重複が見られます。開発者をターゲットにした執拗なソーシャルエンジニアリングの危険性を改めて示すものとなりました。