主な調査結果
- 2026年4月から5月にかけて、プルーフポイント Threat Research は、開発者の役割募集やコードレビューをテーマにしたフィッシングキャンペーンを実施し、金融、暗号資産、教育、テクノロジー、その他複数の業界にわたる約100の組織を標的にしていた、北朝鮮系の可能性が高い脅威アクターを確認しました。プルーフポイントはこの活動を UNK_DeadDrop という名称でクラスタリングしています。
- 感染チェーンは、攻撃者が管理する GitHub リポジトリへのリンクを含むメールから始まります。そこには悪意のあるスクリプトがホストされており、その結果、Overlord というオープンソースの Go フレームワークを含む、macOS、Linux、Windows 向けのクロスプラットフォーム型マルウェアが実行されます。
- このキャンペーンでは Visual Studio Code のワークフローが悪用され、最小限のユーザー操作で実行できる、悪意のある Visual Studio Extensions(VSIX)を用いた新たなステルス技術が展開されました。
- この活動には、Contagious Interview と呼ばれる別の北朝鮮系グループとの類似点があります。しかし、プルーフポイントのテレメトリ上で直接の重複は確認されていないため、プルーフポイント Threat Research はこの活動を別個のクラスタとして追跡しています。
概要
少なくとも2022年以降、北朝鮮と連携する脅威アクターは、暗号資産および分散型金融の組織を標的にするだけでなく、偽の採用担当者を装って開発者を直接狙う、悪意のある npm/PyPI パッケージ(TraderTraitor / Jade Sleet)や、トロイ化された暗号資産取引アプリケーション(AppleJeus / Citrine Sleet)を用いるなど、組織的な活動を続けてきました。こうした手口は、技術評価やコーディング課題を装うことが多く、ClickFix のような手法や、Visual Studio Code の機能を悪用してマルウェアを実行します。こうしたアプローチは、LinkedIn、Slack、Telegram、または複数プラットフォームを横断する形で行われることが多く、API トークン、暗号資産ウォレット、認証情報など、開発者資産を狙うという一貫した目的があります。
2026年4月から5月にかけて、プルーフポイント Threat Research は、既知の DPRK(北朝鮮)関連オペレーションとは異なる新たな大規模活動を確認しました(この活動は、独立系リサーチャー Denys Vitali によって最近報告されたものでもあります)。プルーフポイントはこの新しいクラスタを UNK_DeadDrop として追跡しており、開発者を標的に広範なフィッシングを行う、北朝鮮と連携した可能性が非常に高いグループとみています。

図1. 業種および地域にわたる UNK_DeadDrop の標的分布
6週間にわたり、攻撃者は複数の業界にまたがるほぼ100の組織の個人に対して250件超のメールを送信しました。主な対象はテクノロジー、教育、ビジネスサービス、金融サービスで、特に暗号資産業界の組織が狙われていました。標的となった組織の多くは米国にありましたが、標的地域の分布は世界規模でした。
感染チェーン
メールには、技術課題や暗号資産関連プロジェクトを装った GitHub リポジトリへのリンクが含まれていました。指示文では、対象者にそのリポジトリをクローンし、VS Code や Cursor のようなエディタで開くよう促していました。対象者が IDE でリポジトリのフォルダを開くと、事前設定されたタスクが静かに実行され、Linux、macOS、Windows 向けに埋め込まれたペイロードを復号するプラットフォーム固有のローダーが起動します。このローダーは、正規の Google サービスを装った悪意のある VS Code 拡張機能(VSIX)をインストールします。ペイロードはハードコードされた C&C サーバーと通信し、リモートからのコマンド実行、システム偵察、その後のブラウザのウォレット拡張機能、復号済み認証情報、デスクトップウォレットの流出を可能にします。感染チェーンは、フォレンジックの痕跡を消そうとしてクローンしたリポジトリから悪意のあるペイロードとディレクトリを削除することで終了しますが、VSIX 拡張機能を通じて永続性は維持されます。
おとり(ルアー)
2026年4月下旬から5月上旬にかけての UNK_DeadDrop の活動では、さまざまな業界の企業を装い、ソフトウェア開発者職の採用を目的とした求人募集を偽装していました。
なりすましに利用された企業には以下が含まれていました。
- Ondo Finance:分散型金融(DeFi)プラットフォーム
- Empower Pharmacy:製薬会社
- NXLog:ログ収集および集中管理ツール
- OnePlan:戦略的ポートフォリオおよび業務管理プラットフォーム
- Hypen Connect:Web3 および AI 人材エージェンシー
- Valon:住宅ローンサービスプロバイダー
- Nourish:遠隔医療企業
メールでは攻撃者が所有する送信ドメインが使用され、「Full-Stack Engineer」や「Agent Lead Developer」といった職種の求人機会として標的に接触していました。

図2:開発者職の求人を含む UNK_DeadDrop のメール
メールには、採用選考プロセスの一環である技術課題の実施方法に関する説明が記載されていました。URL は攻撃者が管理する GitHub リポジトリへ誘導し、そこには持ち帰り形式の技術課題やコーディングチャレンジがホストされていました。
2026年5月後半に確認されたキャンペーンでは手法が変更され、オープンソースプロジェクトのピアレビューを依頼する形で標的に接触していました。攻撃者は Pulsynk や Trixauvex といった暗号資産取引または予測市場関連企業を装い、コード修正の内容次第では採用の可能性があるとして、開発者にコードレビューを依頼していました。

図3:コードレビューを依頼する UNK_DeadDrop のメール
5月下旬には、別の UNK_DeadDrop キャンペーンが金融およびテクノロジー分野の組織を標的とし、Ethereum およびスマートコントラクト開発向けツールキットである Foundry 上で ERC-4626 ボールトのテストを実施するよう依頼していました。

図4:Foundry ツールでのテストを依頼する UNK_DeadDrop のメール
直近で確認された UNK_DeadDrop キャンペーンでは、決済機能を備えた AI エージェントベースのシステム構築プロジェクトが使用されていました。このケースでも、必要なスキル要件や将来的な採用オファーの可能性が提示されていました。

図5:AI 決済プロジェクトの開発職を提案する UNK_DeadDrop のメール
異なる GitHub アカウントでホストされていた10件のリポジトリを分析した結果、テーマは「暗号資産プラットフォーム」「エクスプロイトアーカイブ」「Foundry テスト」「AI 決済」の4つのカテゴリーに分類されました。
|
リポジトリ名 |
GitHubアカウント |
テーマ |
説明 |
初回コミット日 |
リポジトリURL |
|
pulsynk |
Pulsynk |
暗号資産予測 |
AIを活用した暗号資産価格予測プラットフォーム |
2026年5月10日 |
hxxps://github[.]com/Pulsynk/pulsynk |
|
trixauvex |
Trixauvex-org |
暗号資産取引 |
暗号資産取引エンジンおよび分析プラットフォーム |
2026年5月16日 |
hxxps://github[.]com/Trixauvex-org/trixauvex |
|
rekt-db |
PedrinPY |
エクスプロイトアーカイブ |
実行可能な PoC を含むクロスチェーン型ブロックチェーンエクスプロイトアーカイブ |
2026年5月19日 |
hxxps://github[.]com/PedrinPY/rekt-db |
|
rekt-db |
wayout4u |
エクスプロイトアーカイブ |
実行可能な PoC を含むクロスチェーン型ブロックチェーンエクスプロイトアーカイブ |
2026年5月21日 |
hxxps://github[.]com/wayout4u/rekt-db |
|
rekt-db |
Stomp47 |
エクスプロイトアーカイブ |
実行可能な PoC を含むクロスチェーン型ブロックチェーンエクスプロイトアーカイブ |
2026年5月25日 |
hxxps://github[.]com/Stomp47/rekt-db |
|
forge-4626-invariants |
sr-werney |
Foundryテスト |
ERC-4626 ボールト向けの導入可能な Foundry 不変条件テスト |
2026年5月20日 |
hxxps://github[.]com/sr-werney/forge-4626-invariants |
|
forge-4626-invariants |
ziobiri |
Foundryテスト |
ERC-4626 ボールト向けの導入可能な Foundry 不変条件テスト |
2026年5月27日 |
hxxps://github[.]com/ziobiri/forge-4626-invariants |
|
forge-4626-invariants |
mireles343 |
Foundryテスト |
ERC-4626 ボールト向けの導入可能な Foundry 不変条件テスト |
2026年5月26日 |
hxxps://github[.]com/mireles343/forge-4626-invariants |
|
x402-kit |
skyjum |
AI決済 |
AIエージェント向け HTTP 402 マイクロペイメント基盤 - EVM、Solana、Lightning アダプター対応 |
2026年5月25日 |
hxxps://github[.]com/skyjum/x402-kit |
|
x402-kit |
rkama411 |
AI決済 |
AIエージェント向け HTTP 402 マイクロペイメント基盤 - EVM、Solana、Lightning アダプター対応 |
2026年5月27日 |
hxxps://github[.]com/rkama411/x402-kit |
図6. UNK_DeadDrop の GitHub リポジトリとその説明
攻撃者は、Pulsynk と Trixauvex を AI を活用した暗号資産予測および取引プラットフォームとして提示し、プロフェッショナルな Python プロジェクト構成を備えていました。一方、rekt-db はセキュリティリサーチ用アーカイブを装い、Bybit(14億6,000万ドル)、Wormhole(3億2,500万ドル)、Radiant Capital(5,000万ドル)といった著名な実際の攻撃事例について、再現可能な概念実証(PoC)を提供していました。forge-4626-invariants リポジトリは、ERC-4626 トークン化ボールト向けの導入可能な Foundry 不変条件テストを中心とした内容でした。最新のバリエーションである x402-kit は、EVM、Solana、および Lightning ネットワーク向けのマルチチェーンアダプターを備えた HTTP 402 マイクロペイメント基盤に焦点を当てていました。
これらの悪意あるリポジトリは正規のものに見えるよう作られており、暗号資産およびブロックチェーンエコシステム内の特定の開発者層、すなわちセキュリティリサーチャー、DeFi 開発者、AI エンジニアを標的としたオープンソースプロジェクトを装っていました。実際の標準仕様やフレームワークへの参照に加え、現実的なディレクトリ構成や動作する npm/forge スクリプトが含まれており、高い技術的信頼性を備えていました。
分析した10件のリポジトリ全体では、バイナリの再コンパイル、命名規則の変更、バグ修正といった小規模な変更のみを含むビルドが約6種類確認されました。このことから、攻撃者が現在も継続的に開発を行っていることが示唆されます。
配信
これらのメールにはすべて GitHub または GitLab の URL が含まれており、リポジトリをクローンして VS Code や Cursor などのコードエディタで開くよう指示されていました。

図7. 攻撃者が管理する GitHub リポジトリの例
隠しフォルダ .vscode の中には tasks.json というファイルが存在し、リポジトリが Cursor または VS Code で開かれると、src/ フォルダ内に埋め込まれたシェルスクリプトまたは .cmd ファイルを実行します。この感染チェーンは、IDE のタスク自動化機能と VSIX 拡張機能を悪用して後続の実行を容易にするとともに、macOS および Linux デバイス上で永続化を実現します。
実行
隠された tasks.json ファイルには、runOptions.runOn: "folderOpen" を指定したタスクが定義されています。これは VS Code の機能であり、フォルダがエディタで開かれると自動的にタスクを実行します。

図8. .vscode フォルダが開かれた際に実行される tasks.json ファイル
タスク定義では、実行時にプラットフォームごとに以下のコマンドが実行されるよう指定されています。
- Linux/macOS: /bin/bash vendor/run-update[.]sh
- Windows: wscript[.]exe //B //Nologo vendor/run-update-hidden-launch.vbs
VS Code では、タスクを実行する前にユーザーによる操作が必要です。さらに、自動タスク実行をこれまで許可したことがない場合は、追加の確認ダイアログも表示されます。

図9. 悪意のあるリポジトリ実行時に表示される VS Code の信頼確認ダイアログ
これに対し、Cursor では信頼確認ダイアログは表示されません。runOn: "folderOpen" を含む tasks.json が存在するフォルダを Cursor で開くと、ユーザーの操作を一切必要とせず、即座にサイレント実行されます。
ランチャースクリプトは VSIX 拡張機能をエディタにインストールします。macOS および Linux では、ユーザーが VS Code または Cursor を起動するたびに、この VSIX 拡張機能が有効化され、後続の感染コンポーネントがすでに実行中かどうかを確認し、実行されていない場合は再起動します。一方、Windows ではこの永続化メカニズムは適用されません。感染チェーンは一度だけ実行されて終了し、VSIX はインストールされたまま残りますが、その後エディタを起動しても再実行されることはありません。
タスクが実行されると、感染チェーンはプラットフォームごとに異なる動作をします。Linux と macOS では、C&C サーバーへ接続するネイティブの Go バイナリが永続的な RAT として動作します。一方 Windows では、Node.js ベースのパイプラインがエディタの Electron プロセス内で完全に実行されます。両者は同じ C&C インフラストラクチャおよび情報窃取先エンドポイントを共有していますが、そのアーキテクチャと機能には大きな違いがあります。
Linux/macOS の感染チェーン
Linux および macOS の感染チェーンでは、オープンソースの Overlord C&C フレームワーク(github[.]com/vxaboveground/Overlord)を基にしたネイティブの Go バイナリが使用されています。単一の情報窃取処理のみを実行する Windows 向けパイプラインとは異なり、これらのバイナリは永続的な WebSocket 接続を備えた完全な RAT として機能します。
|
バイナリ |
プラットフォーム |
|
google-update-support-linux-amd64 |
Linux AMD64 |
|
google-update-support-darwin-amd64 |
macOS Intel |
|
google-update-support-darwin-arm64 |
macOS Apple Silicon |
図10. 各プラットフォーム向けにビルドされたバイナリ
脅威アクターは、browserlogin(Chrome および Firefox の認証情報窃取)、companywallet(ZIP 圧縮とアップロードによる2段階の情報流出機能を備えた暗号資産ウォレット窃取モジュール)、cleanup(ワークスペースの痕跡を削除するアンチフォレンジック機能)の3つのカスタムモジュールを追加していました。
初期ランチャー(run-update.sh)は、Base64 エンコードされたペイロードを埋め込んだ bash スクリプトです。実行されると、利用可能なすべてのエディタ(Cursor、VS Code、VSCodium)に VSIX 拡張機能をインストールし、プラットフォームに応じた適切な Go バイナリを選択し、macOS の隔離属性(quarantine)を解除したうえで、Overlord を完全に分離した状態で起動します。また、エディタ終了後も存続するバックグラウンドのサブシェルを利用して、vendor/ および .vscode/ ディレクトリの削除をスケジュールします。

図11. run-update.sh(Base64 デコード後)
Overlord が起動すると、直ちに 23.137.105[.]75:5173 にある C&C サーバーとの永続的な WebSocket 接続を確立します。

図12. Overlord の agent.log
macOS における認証情報窃取と情報流出
その後、認証情報窃取のプロセスはプラットフォームごとに異なる形で進行します。マルウェアのコード内部では、動作はフェーズ1(ウォレットデータ収集)とフェーズ2(認証情報窃取および情報流出)の2段階に分けられています。Overlord はまずウォレット拡張機能のデータ、ブラウザプロファイルの関連データ、およびスタンドアロン型ウォレットのディレクトリを収集し、それらを ZIP ファイルにまとめて C&C サーバーへアップロードします。その後、認証情報窃取に進む前に5分間待機します。認証情報窃取には、darwin-password-prompt という名前の2つ目の埋め込み Mach-O バイナリが使用され、ユーザーにパスワード入力を促す偽のシステムダイアログを表示します。

図13. 偽のプロンプトを表示する darwin-password-prompt アプリケーション

図14. キーチェーンへのアクセスのために認証情報入力を求めるプロンプト
入力された認証情報は親プロセスである Overlord によって検証されます。パスワードの検証後、マルウェアは Chrome、Brave、Edge、Opera、Vivaldi、Arc、Yandex、および Chromium に対するキーチェーン ACL(アクセス制御リスト)を変更します。その後、Safe Storage キーが抽出されます。認証情報の収集が完了すると、バックドアは取得したパスワードを利用して自身を root 権限で再起動します。
昇格したインスタンスは、ログインキーチェーン全体をダンプするコマンドを実行します。収集した認証情報、Safe Storage キー、およびキーチェーンデータは ZIP ファイルとしてまとめられ、永続的な WebSocket 接続を通じて C&C サーバーへアップロードされます。
Linux における認証情報窃取と情報流出
Linux 上で実行された場合、Overlord はまずウォレット関連データ(ブラウザ拡張機能の保存領域およびスタンドアロン型ウォレットのディレクトリ)を収集し、認証情報窃取を試みる前に ZIP ファイルとして C&C サーバーへアップロードします。フェーズ1のアップロード後、エージェントはパスワード取得処理へ進む前に5分間待機します。 Linux 向けバックドアは、多くのデスクトップ Linux ディストリビューションに標準搭載されている GTK ダイアログツールである Zenity を使用し、ユーザー認証情報を収集するためのダイアログを表示します。

図15. ユーザー認証情報を収集するための偽ダイアログ
このバックドアはさらに、ブラウザごとに Python3 プロセスを生成し、chrome_libsecret_os_crypt_password_v2 および v1 スキーマを照会することで、GNOME Keyring からブラウザの保存パスワードを読み取ろうとします。secret-tool がインストールされていない場合は、D-Bus 経由で Python の gi.repository.Secret メソッドを利用する方法に切り替えます。
macOS の感染チェーンと同様に、Overlord は取得したパスワードを利用して自身を root 権限で再起動します。昇格したインスタンスは、GNOME Keyring が root から直接アクセスできずユーザーセッションに紐付いているため、runuser を使用して元のユーザーになりすまし、再度キーリングへのアクセスを試みます。取得した認証情報は e_p.txt に保存され、a_pa.zip として圧縮されたうえで C&C サーバーへアップロードされます。
Windows の感染チェーン
Linux/macOS とは異なり、Windows 向けの攻撃では Go バイナリは展開されません。この攻撃は、ELECTRON_RUN_AS_NODE=1 を利用して、エディタの Electron プロセス内で JavaScript として完全に実行されます。これは Electron の正式な機能であり、エディタを通常の Node.js インタープリターとして動作させるものです。バイナリはディスク上にドロップされず、プロセスはタスクマネージャー上で Code.exe として表示され、エディタ自体が実行環境として利用されます。前述のとおり、Windows の感染チェーンでは VSIX 拡張機能による永続化は行われません。
tasks.json は、wscript[.]exe //B(非表示ウィンドウモード)を介して run-update-hidden-launch.vbs を起動し、その後 run-update[.]cmd を実行します。

図16. run-update.cmd スクリプト
CMD ファイルは埋め込まれたスクリプトをデコードし、VSIX 拡張機能をインストールします。その後、スクリプトは3つの暗号化ファイルをステージングディレクトリに配置し、ELECTRON_RUN_AS_NODE=1 を指定してエディタを再起動しながら gus-node-bootstrap.js を実行します。
3つの暗号化ペイロードは、ハードコードされた AES-256-GCM キー 4f7a8c3d2e1b5f9071a6b2c8d4e3f50a92b1c7d6e8f4a30b5c2d9e1f7a6b8c4d を用いて実行時に復号されます。
|
暗号化ファイル |
用途 |
|
windows-js-pipeline.js.enc |
Node.js エージェントを両フェーズで実行し、取得したデータを companywallet API にアップロードするとともに、Windows 上の実行時ファイルを削除します。 |
|
windows-agent-node.js.enc |
ウォレット窃取機能および Python 環境のセットアップ。 |
|
detect_malware.py.enc |
認証情報窃取のための DPAPI および App-Bound Encryption 回避機能。 |
図17. ステージングディレクトリ内の Windows 向け暗号化ペイロード
認証情報窃取と情報流出
Windows 版は、まずウォレット情報の収集を行い、その後に認証情報窃取を実施します。ウォレット情報の収集では、Chromium 系ブラウザの Local State、Login Data、Local Extension Settings/ に保存されたデータ、およびウォレット固有の IndexedDB エントリを探索します。対象となるのは、35種類のウォレット拡張機能 ID(MetaMask、Phantom、Rabby、Keplr など)、18種類のスタンドアロン型ウォレットアプリケーション(Exodus、Electrum、Ledger Live、Monero、Solana CLI、Bitcoin など)、さらに Firefox のプロファイルです。また、現在ログイン中のユーザーだけでなく、レジストリを通じて Windows 上のすべてのユーザープロファイルを列挙します。
このウォレット窃取機能は、被害端末内の Python 実行ファイルも探索し、Python 3.12.8 の埋め込み版を C&C サーバーからダウンロードしようとします。ダウンロードに失敗した場合はシステムにインストール済みの Python を利用します。ダウンロードされた場合、Python は App-Bound Encryption のパス検証を通過するために、ブラウザのアプリケーションディレクトリ(例:Program Files\Google\Chrome\Application\python[.]exe)内へインストールされます。
Python が利用可能になると、認証情報窃取モジュール(detect_malware.py)が各ブラウザプロファイルに対して実行されます。このモジュールは以下を実施します。
- DPAPI および App-Bound Encryption 回避技術(COM Elevation Service、IElevator2)を利用した Chromium 系ブラウザからのパスワード抽出
- key4.db と logins.json を利用した Firefox の認証情報抽出
- Chrome、Edge、Brave からの Cookie 窃取
- ロックされたデータベースを読み取るための5段階のカスケード手法:shutil.copy2 → SQLite backup() → Win32 共有読み取り → Win32 backup-semantics → Volume Shadow Copy(VSS)
- Chrome、Edge、Brave では、App-Bound Encryption によって保護された認証情報へアクセスするために昇格権限が必要です。COM Elevation Moniker を利用して権限をサイレントに昇格し、それが失敗した場合は標準の Windows UAC ダイアログを表示する Start-Process -Verb RunAs にフォールバックします。
両フェーズが完了すると、窃取したデータは HTTP POST を介して 23.137.105[.]75:5173 の C&C サーバーへ送信されます。Linux/macOS 向けエージェントとは異なり、Windows 版パイプラインは永続的な接続を維持しません。ZIP ファイルをアップロードした後、痕跡の削除処理を実行して終了します。
VSIX の package.json には、windowsActivationMode 設定の説明内に Windows 向けバイナリ(google-update-support-windows-amd64.dat)への参照が含まれています。このバイナリは分析対象となったいずれのリポジトリからも発見されませんでしたが、開発者パス Yuki/dionbenu2yuki を VirusTotal で検索したところ、Linux および macOS 向けバイナリと同じ C&C サーバーおよびエージェントトークンを使用する google-update-support-windows-amd64[.]exe という Windows サンプルが見つかりました。これは、脅威アクターが以前は Windows 向けの Go バイナリ(Overlord RAT)を配布していたものの、現在のキャンペーンでは検知回避を目的として Node.js と Python を組み合わせたパイプラインへ移行したことを示唆しています。スクリプト内に残されている DAT/EXE バイナリへの参照は、もはや実行されないレガシーコードと考えられます。
インフラストラクチャ
UNK_DeadDrop のキャンペーンは2026年4月から5月にかけて実施されました。関連インフラも同時期に構築されており、ドメイン登録から数日以内にフィッシングメールが送信されていました。

図18. UNK_DeadDrop のドメイン登録タイムライン(2026年4月~5月)
ほとんどのドメインは Namecheap を利用して登録され、メールサーバーには MailHostBox が設定されていました。これらのドメイン名は、フィッシングメールで採用企業を装うために使用された偽企業名のわずかな表記違いを採用していました。
フィッシングメール送信に使用された一部のドメインでは、プロジェクトを宣伝するための未完成なウェブサイトもホストされていました。これらは AI によって生成された可能性が高く、Namecheap のインフラではなく Vercel Inc. 上でホストされていました。

図19. trixauvexnet[.]ink、trixauvex[.]org、および pulsnyk[.]org でホストされていた偽企業サイト
一部のドメイン、特に nemesis[.]work は、Advin Services LLC の IP アドレスをホスティングに使用していました。これらは攻撃者が管理している可能性が高く、初期の UNK_DeadDrop キャンペーンではメール送信元 IP アドレスとしても利用されていました:170.205.29[.]83 および 170.205.30[.]227。2026年5月になると、攻撃者はメール送信サービスとして Mailgun および MailHostBox を利用するよう移行しました。

図20. 分散型金融プロトコル NEMESIS を装った偽サイト。nemesis[.]work でホストされていたもの
攻撃者のアトリビューション
UNK_DeadDrop の活動には、これまでに報告されている北朝鮮系オペレーション、とりわけ OpenSourceMalware、Microsoft、および JAMF が報告した Contagious Interview 活動との共通点がいくつか見られます。両者は、開発者を標的とする点、暗号資産や認証情報の窃取を目的としている点、GitHub を利用した配信、VS Code ワークフローの悪用、そしてクロスプラットフォームでの攻撃という点で大きく重なっています。
|
UNK_DeadDrop |
Contagious Interview |
|
|
標的 |
暗号資産分野のソフトウェア開発者、セキュリティリサーチャー、AIエンジニア |
暗号資産およびAI分野の開発者 |
|
対象プラットフォーム |
macOS、Windows、Linux |
macOS、Windows、Linux |
|
初期アクセス |
メールによるフィッシング |
ソーシャルメディアによるフィッシング |
|
おとり(ルアー) |
求人募集、コードレビュー依頼 |
求人募集 |
|
配信手段 |
GitHub、GitLab |
GitHub、GitLab、BitBucket |
|
リポジトリの特徴 |
洗練された構造、正当な参照情報、工業的な大量生成、反復的なビルド、一貫した難読化 |
AI支援による生成の可能性、完成度の低いコード、チュートリアル用コメント、絵文字によるログ出力 |
|
インストール方法 |
VS Code の tasks.json 自動実行機能の悪用(サイレント実行) |
VS Code の tasks.json を利用した npm インストール機能の悪用(ユーザーに可視) |
|
実行方式 |
悪意のある VSIX 拡張機能と自己完結型ペイロード |
Vercel や外部ホスティングからのリモート取得 |
|
ペイロード |
Overlord(Go バイナリ) |
OtterCookie(JavaScript)、Invisible Ferret(Python)、FlexibleFerret(Go/Python) |
|
C&C プロトコル |
WebSocket Secure(WSS) |
HTTP/HTTPS |
|
情報流出対象 |
暗号資産ウォレット、ブラウザ認証情報、システムキーチェーン |
暗号資産ウォレット、API トークン、認証情報、ソースコード、パスワードマネージャー |
|
アンチフォレンジック |
ペイロードおよび悪意ある痕跡をディレクトリから削除 |
自己削除機能 |
図20. UNK_DeadDrop と Contagious Interview のキャンペーンおよび TTP の比較
しかし、両者の活動にはいくつかの違いも存在します。たとえば、ソーシャルエンジニアリングの手法は、偽の面接を設定するものから、求職者に対する一方的な求人提案やコードレビュー依頼へと変化しています。また、LinkedIn などの配信プラットフォームからメールへと移行している点も異なります。UNK_DeadDrop はカスタムマルウェアではなく Overlord フレームワークをペイロードとして使用しており、そのペイロードはリモートでホストされるのではなく、リポジトリ内に含まれています。VS Code の自動実行機能を利用する手法は、悪意ある npm パッケージや過去の VS Code 悪用事例と同様に、標準的な開発ワークフローへの信頼を悪用していますが、必要なユーザー操作がより少なく、出力を表示せずにサイレント実行されるうえ、停止可能な外部インフラへの依存もありません。
UNK_DeadDrop と Contagious Interview の共通点は、別々だが関連するグループの存在ではなく、より成熟した手法を取り入れた同一オペレーションの進化を示している可能性があり、むしろその可能性は高いと考えられます。しかし、初期アクセスにメールを使用している点、大量のメール送信、高度に工業化され大規模なリポジトリ生成、新たな自己完結型ペイロードの採用、さらにプルーフポイントがこれまで観測してきた Contagious Interview キャンペーンとは異なるインフラを使用している点を踏まえ、プルーフポイント Threat Research は引き続き UNK_DeadDrop を独立した活動クラスタとして追跡しています。
結論
UNK_DeadDrop の活動は、金銭的利益を目的として開発者を標的にする北朝鮮系オペレーションが成熟し、進化していることを示唆しています。ソーシャルメディア上で偽の面接を行う積極的なソーシャルエンジニアリングから、悪意のあるリポジトリへのリンクを配布する採用活動をテーマとした大規模なフィッシングメールキャンペーンへの移行は、攻撃者が活動を工業化し、大規模展開していることを示している可能性があります。新たな GitHub リポジトリが継続的に作成されていることに加え、反復的なビルドを伴う新しいマルウェアフレームワークや、VSIX 拡張機能を利用した新たなステルス性の高い実行・永続化手法の採用は、専任のリソースが投入され、ツール開発が継続的に行われていることを示しています。また、攻撃者はペイロードを外部でホストするのではなくリポジトリ内に埋め込むよう適応したと考えられ、これにより運用上の耐障害性が向上し、インフラ停止措置の影響を受けにくくなっている可能性があります。
UNK_DeadDrop は Contagious Interview の活動と多くの共通点を持ち、防御側の対策に適応しながら新たな手法を取り入れた、より洗練された後継バージョンである可能性があります。しかし一方で、TTP や感染チェーンの違いは、過去に公開された手法を利用する別の脅威アクター、あるいは複数の攻撃手法を統合したサブグループの存在を示している可能性もあります。既知の脅威アクターへの帰属は現時点では確認されていませんが、プルーフポイントはこの継続中の活動を独立したクラスタとして引き続き追跡しています。
インジケーター
|
インジケーター |
種類 |
説明 |
初回確認日 |
|
alex@contacttrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
alex@mailpredicttogether[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
alex@predicttocareer[.]space |
Email address |
Attacker-controlled email address |
May 2026 |
|
alex@pulsynk[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
alex@trixauvexnet[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
alexsnow@hr.onoplanoai[.]ink] |
Email address |
Attacker-controlled email address |
May 2026 |
|
alexsnow@hr.predicttocareer[.]space |
Email address |
Attacker-controlled email address |
May 2026 |
|
alexstone@hr.trixauvex[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
carissae@hr.mailpulsynk[.]xyz |
Email address |
Attacker-controlled email address |
May 2026 |
|
christopher@hr.trixauvex[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
chrisyan@hr.pulsynk[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
emmaparker@hr.recruitvex[.]us |
Email address |
Attacker-controlled email address |
May 2026 |
|
faithtedesco@hr.mailtrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
frankbloch@hr.trixauvex[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
jamesrock@hr.trixauvexnet[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
jamierain@hr.contacttrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
jamierain@hr.onoplanoai[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
jamiereed@hr.mailpredicttogether[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
jamiereed@hr.predicttocareer[.]space |
Email address |
Attacker-controlled email address |
May 2026 |
|
joshn@hr.recruitvex[.]us |
Email address |
Attacker-controlled email address |
May 2026 |
|
justinstone@hr.trixauvex[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
nicoupdyke@hr.trixauvexnet[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
oliviaben@hr.pulsynk[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
sam@hr.pulsynk[.]org |
Email address |
Attacker-controlled email address |
May 2026 |
|
samalt@hr.contacttrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
samalt@hr.onoplanoai[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
samalt@hr.predicttocareer[.]space |
Email address |
Attacker-controlled email address |
May 2026 |
|
shelbysturm@hr.mailtrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
sophiareed@hr.contacttrixauvex[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
sophiareed@hr.onoplanoai[.]ink |
Email address |
Attacker-controlled email address |
May 2026 |
|
taylorzhang@hr.pulsynk[.]org] |
Email address |
Attacker-controlled email address |
May 2026 |
|
dalbir@empowerpharmacy[.]space |
Email address |
Attacker-controlled email address |
April 2026 |
|
dianaberendi@nxlog[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
gusb@ondofinance[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
jasen@empowerpharmacy[.]space |
Email address |
Attacker-controlled email address |
April 2026 |
|
joshc@ondofinance[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
jovanav@nxlog[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
michaelw@ondofinance[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
neila@ondofinance[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
oladotuna@ondofinance[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
sarikasinha@nxlog[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
sladjanas@nxlog[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
valerie@empowerpharmacy[.]space |
Email address |
Attacker-controlled email address |
April 2026 |
|
vanjamirkovic@nxlog[.]tech |
Email address |
Attacker-controlled email address |
April 2026 |
|
nemesistrade[.]work |
Domain |
Related infrastructure |
May 2026 |
|
ceronet[.]work |
Domain |
Related infrastructure |
May 2026 |
|
deep-ai-guard[.]store |
Domain |
Related infrastructure |
May 2026 |
|
ceronetwork[.]org |
Domain |
Related infrastructure |
May 2026 |
|
culyrax[.]us |
Domain |
Related infrastructure |
May 2026 |
|
elsavora[.]us |
Domain |
Related infrastructure |
May 2026 |
|
optixauvex[.]us |
Domain |
Related infrastructure |
May 2026 |
|
recruitvex[.]us |
Domain |
Sender domain |
May 2026 |
|
talentnexhr[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
onoplanoai[.]ink |
Domain |
Sender domain |
May 2026 |
|
trixauvexnet[.]ink |
Domain |
Sender domain |
May 2026 |
|
recruitptogether[.]xyz |
Domain |
Related infrastructure |
May 2026 |
|
contactpredicttogether[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
connectptogether[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
notifypulsynk[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
contactpulsynk[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
contacttrixauvex[.]ink |
Domain |
Sender domain |
May 2026 |
|
trixauvex[.]org |
Domain |
Sender domain |
May 2026 |
|
careertrixauvex[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
cotrixauvex[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
pulsynk[.]org |
Domain |
Sender domain |
May 2026 |
|
mailtrixauvex[.]ink |
Domain |
Sender domain |
May 2026 |
|
teampulsynk[.]team |
Domain |
Related infrastructure |
May 2026 |
|
careerpulsynk[.]xyz |
Domain |
Related infrastructure |
May 2026 |
|
mailpulsynk[.]xyz |
Domain |
Sender domain |
May 2026 |
|
mailpredicttogether[.]ink |
Domain |
Sender domain |
May 2026 |
|
predicttogetherrecruit[.]store |
Domain |
Related infrastructure |
May 2026 |
|
predicttogerecruit[.]store |
Domain |
Related infrastructure |
May 2026 |
|
predicttogether[.]ink |
Domain |
Related infrastructure |
May 2026 |
|
careerpredictto[.]space |
Domain |
Related infrastructure |
May 2026 |
|
togetherhire[.]fun |
Domain |
Related infrastructure |
May 2026 |
|
predictcareertogether[.]space |
Domain |
Related infrastructure |
May 2026 |
|
predicttocareer[.]space |
Domain |
Sender domain |
May 2026 |
|
nowurisch[.]fit |
Domain |
Sender domain |
May 2026 |
|
hyperdevpipline[.]org |
Domain |
Sender domain |
May 2026 |
|
asteara[.]org |
Domain |
Related infrastructure |
April 2026 |
|
doxxela[.]ink |
Domain |
Related infrastructure |
April 2026 |
|
coslyintra[.]online |
Domain |
Related infrastructure |
April 2026 |
|
valorecuiting[.]online |
Domain |
Sender domain |
April 2026 |
|
onoplainai[.]ink |
Domain |
Related infrastructure |
April 2026 |
|
raxvatange[.]ink |
Domain |
Related infrastructure |
April 2026 |
|
alphanonega[.]org |
Domain |
Related infrastructure |
April 2026 |
|
domatisc[.]ink |
Domain |
Related infrastructure |
April 2026 |
|
migadyn[.]info |
Domain |
Sender domain |
April 2026 |
|
empowerpharmacy[.]space |
Domain |
Sender domain |
April 2026 |
|
nxlog[.]tech |
Domain |
Sender domain |
April 2026 |
|
ondofinance[.]tech |
Domain |
Sender domain |
April 2026 |
|
170.205.29[.]83 |
IP address |
Sender IP |
April 2026 |
|
170.205.30[.]227 |
IP address |
Sender IP |
April 2026 |
|
hxxps://github[.]com/Pulsynk/pulsynk |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/Trixauvex-org/trixauvex |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/PedrinPY/rekt-db |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/sr-werney/forge-4626invariants |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/wayout4u/rekt-db |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/ziobiri/forge-4626-invariants |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/skyjum/x402-kit |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/Stomp47/rekt-db |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/mireles343/forge-4626invariants |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://gitlab[.]com/pulsynk-org/rekt-db.git |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://gitlab[.]com/trixauvex-org/x402-kit.git |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://gitlab[.]com/predict-together/forge-4626invariants.git |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
hxxps://github[.]com/rkama411/x402-kit |
URL |
Attacker-controlled GitHub repository |
May 2026 |
|
23.137.105[.]75 |
IP address |
C&C IP |
May 2026 |
|
35813f4401d3ad77b618275473a556eb47bfa6f4b7439dd8943b19f81aa7252e |
SHA256 |
settings.json |
May 2026 |
|
c935808147f0236c81483d7bbeda4b9d602f3595d5d4057f8115d39e222d1c4b |
SHA256 |
tasks.json |
May 2026 |
|
4c0d9b802c075be79e9edb52d88f8dd72e6904f5c58267213745818470945c78 |
SHA256 |
run-update-hidden-launch.vbs |
May 2026 |
|
62761f38ed194c59abe15c49f09f0ebc431ac852c965180c9327ed84d3a454fb |
SHA256 |
run-update.cmd |
May 2026 |
|
d3ebce2f05fe91a8260e87fd11a6ea17c156703d081b3f91d9bbe5fd6aeedc10 |
SHA256 |
gus-node-bootstrap.js |
May 2026 |
|
91b9381d19b2e6a2db5cc0307167979b502731cb3fb50da684479e9ed35261aa |
SHA256 |
windows-agent-node.js.enc |
May 2026 |
|
6cf9f7b2aa456a0b438600588df869b38d8007e28f01fa96022f9d8059f120b0 |
SHA256 |
windows-js-pipeline.js.enc |
May 2026 |
|
2812e0847d472cb8870c94f463331dbe53b84135132b9bf5f6d84c2382be628f |
SHA256 |
detect_malware.py.enc |
May 2026 |
|
52886aab179f26421678ff23af1b0fabf0a17ffbb534369cdbbac8008cbed8e7 |
SHA256 |
google-update-support.vsix |
May 2026 |
|
d5e9288693aa745dc89368deac677e7ea1ec81e663283af30838cdae189b7a7e |
SHA256 |
extension.js |
May 2026 |
|
734699773e53d995f20d485eb61261033d9d00b4332b39ca26071bcd60cd352f |
SHA256 |
run-update.sh |
May 2026 |
|
e1bf1b29e6fa3525d7f32f429290a88d6ea2890e61c06574b8ff6372aa5d0667 |
SHA256 |
google-update-support-agent.zip |
May 2026 |
|
a2b9a769df84d9d3a4694bb0252a2c6a5e5f5d1a85a04565362737092bbb3a86 |
SHA256 |
google-update-support-linux-amd64 |
May 2026 |
|
bb10adac5b0124efedfe71102c1d5638135ec9e1cde8c8cb3353c5ed91bb9f81 |
SHA256 |
google-update-support-darwin-amd64 |
May 2026 |
|
339907b44f161f57ff30819f422c552382ff437b3ae437463b4222cfe86bd943 |
SHA256 |
google-update-support-darwin-arm64 |
May 2026 |
|
808e7154b7af2bc7a4b28d577297c55f77221c355191cbe00f9f1810b6d4a619 |
SHA256 |
darwin-password-prompt |
May 2026 |