こんにちは、フリーランスエンジニアの太田雅昭です。
国家主導のサイバー攻撃
北朝鮮が国家的に、ウイルスを蔓延させようとしているようです。
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 時のガードレールを設けることを推奨している。