2026年3月23日、北朝鮮の脅威アクター「WaterPlum」が、Contagious Interviewキャンペーンの一環として、Microsoft Visual Studio Code(VS Code)の「tasks.json」自動実行機能を悪用し、新たなマルウェア「StoatWaffle」を配布していることが明らかになった。
2025年12月から確認されているこの手口は、Node.jsで実装されたモジュール型マルウェアであり、ブラウザの認証情報を窃取するスティーラーと、遠隔操作を行うRAT(リモートアクセス型トロイの木馬)の2モジュールで構成される。標的は暗号資産・Web3分野の創業者、CTO、シニアエンジニアであり、LinkedInを通じた偽の採用面接を入口とする。
NTT Securityが同月に調査結果を公表。Microsoftは2026年1月付けのアップデート(VS Codeバージョン1.109、2月初旬リリース)で自動タスク実行をデフォルト無効化する対策を導入した。米国司法省は関連するITワーカースキームへの関与で3名に有罪判決を言い渡している。
From:
North Korean Hackers Abuse VS Code Auto-Run Tasks to Deploy StoatWaffle Malware
【編集部解説】
今回の攻撃が特筆すべき理由は、「怪しいリンクを踏んだ」「不審なメールを開いた」という従来型の侵入口を一切使っていない点にあります。VS Code という、世界中のエンジニアが毎日当たり前のように起動するツールそのものが、感染経路として機能しています。プロジェクトフォルダを開いた瞬間に自動でコードが走る「tasks.json」の仕組みは、本来はビルドやテストを自動化するための正規機能です。その正規の仕組みを逆手に取るという設計思想に、攻撃者の成熟度が見てとれます。
攻撃の入り口はGitHubに置かれたブロックチェーン関連のリポジトリです。WaterPlumはこうした「それらしい」プロジェクトをエサとして用意し、採用選考を装ってエンジニアにコードを触らせます。Microsoftの分析では、ターゲットとして選ばれるのは初級開発者ではなく、暗号資産・Web3分野の創業者・CTO・シニアエンジニアであることが明らかにされています。組織の技術インフラや暗号資産ウォレットに対して高い権限を持つ人物を狙うという点で、これは明確に「高付加価値標的」を意識した精密な作戦です。
StoatWaffle自体の技術的な特徴にも注目が必要です。Node.jsをベースにしたモジュール型の設計を採用しており、スティーラーとRATという2つの役割を分離しています。NTT Securityの一次レポートによれば、感染環境にNode.jsが存在しない場合、マルウェアは公式サイトから自動でNode.jsをダウンロード・インストールします。また、WSL(Windows Subsystem for Linux)環境を自律的に検出し、Windowsのユーザープロファイルへアクセスするという挙動も確認されています。つまり、開発者が多用するLinux互換環境すら抜け穴として利用される可能性があるということです。
感染後に狙われるのは、ChromiumベースのブラウザやFirefoxに保存された認証情報、各種ブラウザ拡張機能のデータ、そしてmacOS環境ではiCloud Keychainデータベースです。暗号資産ウォレット用の拡張機能(MetaMaskなど)が標的に含まれると考えると、金銭的な被害が直結する攻撃であることがわかります。C2サーバーとの通信は5秒ごとのポーリング形式をとっており、感染後は継続的に攻撃者の指示を待ち受ける状態に置かれます。
Microsoftは2026年1月付けのアップデート(VS Codeバージョン1.109、2月初旬リリース)で自動タスク実行をデフォルト無効化しました。さらにv1.109・v1.110の両バージョンで、新たに開いたワークスペースで自動実行タスクが検出された際にユーザーへ警告を表示する二次プロンプトも導入されています。一見、対策は講じられたように見えます。しかしAbstract Securityの分析が指摘する重要な落とし穴があります。警告プロンプトを承認すると、task.allowAutomaticTasks の設定がそのワークスペースだけでなく、すべてのワークスペースに対してグローバルに「オン」へ戻るという仕様なのです。攻撃者にとっては、一度ユーザーをだまして承認させれば、その後のあらゆるプロジェクトで自動実行が有効になるという意味を持ちます。VS Codeを最新版に更新したうえで、task.allowAutomaticTasks が「オフ」であることを定期的に手動確認する習慣が求められます。
長期的な視点で見ると、この攻撃は「ソフトウェアサプライチェーンへの信頼」が崩れつつある現実を象徴しています。npm、GitHub、GitHub Gist、Vercel——いずれも開発者が日常的に使う正規インフラです。これらを踏み台にすることで、従来のセキュリティ製品による検知を回避しやすくなっています。WaterPlumは継続的にマルウェアを更新・進化させており、今後も開発者エコシステムを標的にした攻撃の手口は洗練されていくと見るべきでしょう。
日本においても、Web3・暗号資産関連のスタートアップや開発者コミュニティはこの攻撃の射程に入っています。「採用面接でコードを触る」という行為は今や当たり前のプロセスですが、その「当たり前」の中にリスクが組み込まれているという認識を、すべての開発者が持つ必要があります。
【用語解説】
Contagious Interview(コンテイジャス・インタビュー)
WaterPlumが展開する一連のサイバー攻撃キャンペーンの総称。偽の採用面接を入り口に、開発者に悪意のあるコードを実行させる手口が特徴。WaterPlum内の複数チームが関与しており、今回の攻撃はTeam 8(別名:MoralisまたはModilusファミリー)による。
tasks.json
VS Codeにおいてビルド・テスト・スクリプト実行などの自動化タスクを定義するための設定ファイル。runOn: folderOpen を指定すると、フォルダを開いただけでタスクが自動実行される正規機能を持つ。今回の攻撃では、この正規機能に悪意のある処理が仕込まれた。
StoatWaffle(ストートワッフル)
WaterPlum Team 8が2025年12月ごろから使用を開始した新型マルウェア。Node.jsで実装されたモジュール型の設計を持ち、スティーラーとRATの2モジュールで構成される。NTT Securityが命名・分析し、2026年3月17日に一次レポートを公開した。
スティーラー(Stealer)
感染端末からブラウザの認証情報や拡張機能データを窃取し、C2サーバーへ送信するマルウェアのモジュール。StoatWaffleのスティーラーは、ChromiumベースのブラウザとFirefoxを対象とし、macOS環境ではiCloud Keychainデータベースも窃取対象とする。
RAT(Remote Access Trojan)
リモートアクセス型トロイの木馬。攻撃者がC2サーバーを通じて感染端末を遠隔操作し、ファイルの列挙・アップロード、シェルコマンドの実行などを行う。StoatWaffleのRATは5秒ごとにC2サーバーへ接続してコマンドを待ち受ける。
C2サーバー(Command & Control server)
攻撃者がマルウェアに対して指令を送り、窃取データを回収するための遠隔操作用サーバー。StoatWaffleは /api/errorMessage エンドポイントに5秒ごとにポーリングし、コマンドを受け取る。
WSL(Windows Subsystem for Linux)
Windows上でLinux環境を動作させるMicrosoftの機能。StoatWaffleはWSL環境を自律的に検出し、Windowsのユーザープロファイルへアクセスする挙動が確認されている。開発者が多用するLinux互換環境すら攻撃の抜け穴となりうる。
ソフトウェアサプライチェーン攻撃
npm・GitHub・GitHub Gist・Vercelなど、開発者が日常的に利用する正規インフラを踏み台にしてマルウェアを配布する攻撃手法。正規のツールやサービスを経由するため、従来のセキュリティ製品による検知が困難になる。
ポーリング
マルウェアが一定間隔でC2サーバーへ接続し、新たなコマンドや次のペイロードを取得する通信方式。StoatWaffleでは5秒間隔が採用されており、感染後は継続的に攻撃者の指示を待つ状態となる。
iCloud Keychain
Appleが提供するパスワード・認証情報の管理機能。macOS環境に感染したStoatWaffleはこのデータベースを窃取対象とする。暗号資産関連のパスワードが保存されている場合、金銭的被害に直結するリスクがある。
【参考リンク】
Microsoft Visual Studio Code(VS Code)(外部)
Microsoftが提供する無償コードエディター。tasks.jsonの自動実行機能が今回の攻撃で悪用された。
VS Code v1.109 リリースノート|自動タスク無効化の詳細(外部)
2026年1月付け・2月初旬リリースのv1.109で自動タスク実行がデフォルト無効化された公式ページ。
NTT Security Japan(NTTセキュリティ・ジャパン)(外部)
NTTグループのセキュリティ専門会社。StoatWaffleの一次分析レポートを2026年3月17日に公開した。
GitHub(外部)
世界最大のコードホスティングプラットフォーム。悪意あるリポジトリとGitHub Gistが今回の攻撃で悪用された。
Vercel(外部)
フロントエンド向けクラウドデプロイプラットフォーム。StoatWaffleの初期ペイロード配信元として悪用された。
Abstract Security(外部)
セキュリティ運用プラットフォーム企業。VS Code Tasksの悪用に関する詳細な技術分析を公開している。
【参考記事】
StoatWaffle, malware used by WaterPlum|NTT Security Japan(外部)
NTT Security Japanによる一次分析レポート(2026年3月17日公開)。C2ポーリング間隔5秒・WSL対応など技術的詳細の根拠となった一次情報源だ。
Contagious Interview: Evolution of VS Code and Cursor Tasks Infection Chains Part 2|Abstract Security(外部)
v1.109リリース時期の経緯と、警告承認で全ワークスペースのグローバル設定が戻る落とし穴を詳述した技術分析(2026年3月9日公開)。
WaterPlum Deploys New ‘StoatWaffle’ Malware in VSCode-Based Supply Chain Campaign|Cryptika(外部)
C2サーバーIPアドレスや第2ステージ取得までの約5分という動作タイミングなど、技術的詳細を補完した分析記事。
【編集部後記】
「採用面接でコードを動かす」のは、もはや当たり前になりましたよね。私たちもこのニュースを読みながら、ふと手が止まりました。
日常的に開いているリポジトリ、何気なく信頼しているツール——その「当たり前」の中に、今回のような罠が潜んでいるとしたら。みなさんはどう感じましたか?







































