【だまされないで】採用試験を装ったウイルス感染手口


こんにちは、フリーランスエンジニアの太田雅昭です。

国家主導のサイバー攻撃

北朝鮮が国家的に、ウイルスを蔓延させようとしているようです。

2025/10/11: https://socket.dev/blog/north-korea-contagious-interview-campaign-338-malicious-npm-packages

2025/11/27: https://socket.dev/blog/north-korea-contagious-interview-npm-attacks

大まかに言えば、技術系の人材をターゲットに、偽の求人情報と試験でウイルスを感染させようとします。試験内容でnpmパッケージをインストールさせたりします。職を探している技術者の心理をついた、巧妙な罠となっています。

以下、ChatGPTによる要約です。

攻撃の手口

ソーシャルエンジニアリングを使ったリクルーター詐欺

攻撃者は偽リクルーター/採用担当者を名乗り、主にソフトウェア/Web3/ブロックチェーン系の開発者や “技術職を探している人” を SNS(たとえば LinkedIn) 経由で勧誘。

面接やコーディングテストの名目でリポジトリを渡し、その中に依存パッケージ(npm パッケージ)を含ませる — 実質はマルウェア配布の入口。たとえば eslint-detector という一見普通のパッケージが、実はペイロードを読み込む仕掛けになっていた。

パッケージ供給網(サプライチェーン)への侵入

一般的なライブラリと紛らわしい名前(スペルミスやタイプミスで似せた名前 ― いわゆる「タイポスクワット」)のパッケージを多数公開。例えば express → epxreso / epxresso など。

Web フレームワーク、ツールチェーン、ブロックチェーン/Web3 関連ライブラリといった、開発者が日常的に使いやすいものが狙われている。

なぜ警戒が必要か

このキャンペーンは「週ごとの波」で継続的に新しいパッケージを投入しており、数のスケールと再発速度が非常に高い。

たとえ悪意あるパッケージが発見・削除されても、発行者アカウントが生きていれば新たなパッケージを次々に出せる。これが「いたちごっこ」を生んでいる。

タイポスクワット(名前の混同を狙う手口)や、コードを難読化/暗号化して正体を隠す技術で、静的スキャンや依存チェックだけでは検出が難しい。

推奨される対策

記事では、以下のような対策を推奨している。

すべての npm install を「コード実行のリスクあり」と見なす

依存パッケージを導入する際は、信頼できるメンテナ/保守者か、過去の利用実績、公開履歴を慎重に確認する

バージョン固定(lock file を使う) や、勝手な自動更新を避ける

ビルドや CI(継続的インテグレーション)環境では 外部からの不審なネットワーク通信や postinstall スクリプトの実行を制限

自動のスキャン/静的分析ツールや、依存ツリー監視ツールを導入し、不審な挙動や loader/eval/ネットワーク通信などをチェック

さらに、記事の著者らは自身たちの提供する Socket CLI/Socket GitHub App/Socket Firewall などのセキュリティツールを使って、インストール時や CI 時のガードレールを設けることを推奨している。