北朝鮮政府の支援を受けたハッカーは、継続中のContagious Interviewキャンペーンをエスカレートさせ、オープンソースエコシステムでこれまでに確認された中でも最も巧妙なサプライチェーン攻撃の一つを仕掛けた。
セキュリティ研究者らが発見した338個の悪意あるnpmパッケージは、5万回以上ダウンロードされ、暗号資産およびブロックチェーンの開発者を標的にするよう仕組まれていた。
この工場型の作戦は、オープンソース開発に内在する信頼と、技術者の社会的行動の双方を悪用しており、国家主体の脅威アクターが金銭的・戦略的利益のためにソフトウェアのサプライチェーンを兵器化し続けていることを示している。
ソーシャルエンジニアリングと採用を利用した罠
このキャンペーンは、巧妙なソーシャルエンジニアリングの段階から始まる。脅威アクターはLinkedIn上でリクルーターや採用担当者を装い、ブロックチェーン、Web3、暗号資産技術を専門とする開発者に狙いを定める。
被害者には正規の求人に見える案件が届き、想定上の面接プロセスの一環としてコーディング課題を完了するよう求められる。
最近の事例では、あるソフトウェアエンジニアが、悪意あるnpm依存関係eslint-detectorを含むリポジトリをクローンするよう求められた。
このパッケージには、ブラウザーの認証情報、APIトークン、暗号資産ウォレットのデータを窃取するよう設計された暗号化ペイロードが含まれていた。
攻撃者は、面接期限を短く設定し、一見すると通常のセットアップ手順に見える指示を出すなど、人工的な緊急性を持ち込むことで感染の成功率を高め、被害者にコードを確認せずnpm installを実行するよう圧力をかけた。
この採用を装った口実により、攻撃者は従来のフィッシング対策をすり抜けられる。通常の開発ワークフローの中でインストールが行われているように見えるため、ウイルス対策システムやエンドポイント保護ツールは、こうした悪意ある依存関係を検知できないことが多い。
技術的な巧妙化とマルウェアの配信
最新のContagious Interviewキャンペーンでは、技術面で大きな進化が見られる。以前の亜種は主にBeaverTailマルウェアのドロッパーに依存していた。
今回の新たな攻撃の波では、3種類の新しいローダーファミリー、すなわちHexEval、XORIndex、暗号化ローダーが導入され、悪意あるコードをメモリ上で直接再構築する。
このメモリ内実行方式により、ディスク上に残る検知可能な痕跡が最小限に抑えられ、静的解析や従来型のマルウェアスキャンが困難になる。
実行されると、これらのローダーは通常、InvisibleFerretバックドアを取得する。これは、永続化を維持し、リモートからのコマンド実行を可能にするクロスプラットフォーム型マルウェアだ。
攻撃チェーンでは、postinstallなどのnpmライフサイクルフックを利用し、インストールまたはインポート時にコードが自動実行されるようにする。
悪意あるパッケージは、Node.jsやExpress環境で使われる一般的な依存関係を装うことが多い。脅威アクターは、広く使われているパッケージのタイポスクワッティング版を展開しており、その中にはexpress、dotenv、そしてbody-parserが含まれる。
また、ethers.jsやweb3.jsなど、暗号資産開発用ライブラリを模倣するものもある。開発者の信頼と習慣的な操作を悪用することで、こうした偽パッケージは日常的なプロジェクト環境に違和感なく紛れ込む。
コマンド&コントロール(C2)インフラ
インストールされると、マルウェアはHTTP、HTTPS、またはWebSocketプロトコルを介してコマンド&コントロール(C2)サーバーに接続する。
インフラの分析からは、一般的な仮想プライベートサーバーにホスティングした生のIPアドレスと、Vercelなど正規プラットフォーム上のフロントエンドビーコンを組み合わせたハイブリッド構成が明らかになっている。
この設計により、トラフィックは無害に見えやすくなり、「/api/ipcheck」や「/process-log/」のようなURIを通じて、開発者関連のWebリクエストを模倣する。
BeaverTailマルウェアは、侵害したホストを登録して長期アクセスに備えることで永続化を確立する。続いて、InvisibleFerretを展開する。これはWindows、macOS、Linuxシステム上で動作する。
この二段階のアプローチにより、攻撃者は強固な足場を確保し、複数のOSにまたがって認証情報の窃取、キーロギング、データの外部流出を可能にする。
研究者らによると、悪意あるnpmパッケージが発見されて削除されると、攻撃者は新しい別名で新たな亜種を迅速にアップロードする。この反復的な手口は、キャンペーンの背後にある執拗さと産業規模の組織性を示している。
目的
Contagious Interview作戦の最終的な目的は、暗号資産の窃取による金銭的利益とみられる。開発者の環境に侵入すると、攻撃者は秘密鍵、認証情報、ウォレットデータを抜き取ることができる。これらは分散型金融エコシステムにおける価値の高い資産だ。
報告によると、北朝鮮の脅威グループは2025年だけで合計20億ドル超を窃取したとされ、こうした作戦の収益性と規模が浮き彫りになっている。
このキャンペーンは、サプライチェーンセキュリティに対するより広範な影響も示している。npmのようなオープンソースレジストリを侵害することで、脅威アクターは世界中のソフトウェアパイプラインを汚染し、個人の開発者から下流の大規模組織まで到達できる。
防御に向けた推奨策
Contagious Interviewのようなキャンペーンから身を守るには、技術的な対策と開発慣行における文化の変革の両方が必要だ。
セキュリティ研究者は、すべてのnpm installをコード実行の可能性があるイベントとして扱うよう推奨している。組織は依存関係の自動スキャンを導入し、外部ライブラリの出所と信頼性を検証するため、マージ前チェックを必須にすべきだ。
npmなどのレジストリも、悪意ある公開者のアカウント停止、アクセストークンの無効化、多要素認証の必須化によって、アカウントレベルの取り締まりを強化する必要がある。公開前のスクリーニングとアップロード速度の制限により、不審なアップロードパターンを検知し、大規模な侵入を防げる可能性がある。
個々の開発者にとっても、警戒は同様に重要だ。求職者はリクルーターの身元を確認し、未検証のコードの実行を避け、インストール前に依存関係の一覧を確認すべきである。
北朝鮮によるContagious Interviewキャンペーンは、国家の支援を受けた攻撃者が、人を欺く手法と高度な技術を組み合わせることで、手口を継続的に洗練させていることを示している。
オープンソースのサプライチェーンに侵入することで、こうした攻撃者は、信頼された開発慣行と悪意ある侵害の境界を曖昧にしている。

