
北朝鮮に関連するとされる攻撃者が、開発者向けのパッケージやブラウザー拡張機能を悪用する「PolinRider」キャンペーンを拡大しています。確認された悪性リリースは162件、対象は108種類に上り、感染した開発端末やリポジトリから認証情報や機密データが窃取される可能性があります。
The Hacker News:North Korean Hackers Publish 108 Malicious Packages and Extensions in PolinRider Campaign
この記事のポイント
影響のあるシステム
- PolinRiderに関連する悪性バージョンを導入した開発者端末、ビルド環境およびCI/CD環境
- npmからJavaScriptライブラリを取得・利用しているプロジェクト
- PackagistからComposerパッケージを取得・利用しているプロジェクト
- 外部のGoモジュールを参照している開発環境およびリポジトリ
- PolinRiderに関連するGoogle Chrome拡張機能を導入したブラウザー環境
- Visual Studio CodeやCursorで外部リポジトリをワークスペースとして開く開発環境
- 不審なJavaScriptやVS Codeタスクが追加されたGitHubリポジトリ
推奨される対策
- 影響を受けた可能性のあるパッケージや拡張機能を導入した端末は、調査が完了するまで侵害された可能性があるものとして扱う
- 削除作業の前に、ログ、プロセス情報、リポジトリの状態など、調査に必要な証拠を可能な範囲で保全する
- 影響を受けたバージョンを削除し、信頼できるロックファイルとソースコードから環境を再構築する
- GitHub、パッケージレジストリ、クラウド、SSH、CI/CDなどの認証情報を、感染の疑いがない端末から変更する
.vscode/tasks.jsonを確認し、runOn: "folderOpen"で自動実行される不審なタスクがないか調査するconfig.js、vite.config.js、eslint.config.jsなどに不審なJavaScriptが追加されていないか確認する- GitHubの通常のコミット一覧だけでなく、Activityログやフォースプッシュの履歴も確認する
- リポジトリの変更後に、パッケージレジストリへ予期しないバージョンが公開されていないか調査する
上記の対策は、元記事の事実に加え、一般的なセキュリティのベストプラクティスを日本の開発環境に合わせて実務的に整理したものです。
この記事に出てくる専門用語
- PolinRider:正規の開発用リポジトリやパッケージに不正なJavaScriptを埋め込み、開発者環境への侵入を試みる攻撃キャンペーンです。
- Contagious Interview:求人担当者や共同開発者を装い、面接課題などを通じて開発者に悪性コードを実行させる、北朝鮮に関連するとされる攻撃活動です。
- ソフトウェアサプライチェーン攻撃:開発ツール、外部ライブラリ、更新経路などを侵害し、その利用者へ被害を広げる攻撃手法です。
- npm:JavaScriptやNode.jsのパッケージを公開・取得するために広く利用されているパッケージレジストリです。
- Packagist:PHP向け依存関係管理ツールであるComposerが、パッケージを取得する際に利用する主要なレジストリです。
- VS Codeタスク:Visual Studio Code上でビルドやスクリプトなどを実行する仕組みです。設定によってはフォルダーを開いた際に処理を自動実行できます。
- RAT:Remote Access Trojanの略称で、攻撃者が感染端末を遠隔操作するために使用するマルウェアです。
- インフォスティーラー:ブラウザーに保存された情報、認証情報、暗号資産ウォレットなどのデータ窃取を目的とするマルウェアです。
- ロックファイル:プロジェクトで使用するパッケージのバージョンを固定し、同一の依存関係を再現するためのファイルです。
- フォースプッシュ:Gitリポジトリの既存履歴を上書きして変更内容を送信する操作です。悪用された場合、過去のコミットが改変される可能性があります。
開発者を起点に広がるPolinRiderの攻撃範囲

PolinRiderは、単独のマルウェアを不特定多数へ配布するだけの攻撃ではありません。正規に見えるソースコード、開発用パッケージ、ブラウザー拡張機能など、開発者が日常的に利用する仕組みを侵入経路としている点が特徴です。Socketの調査では、npm、Packagist、Goモジュール、Google Chrome拡張機能にまたがる162件の悪性リリースが確認され、108種類のパッケージまたは拡張機能に関連付けられています。
この活動は、北朝鮮に関連するとされる「Contagious Interview」と呼ばれる攻撃キャンペーンの一部とみられています。攻撃者は求人担当者や共同開発者を装い、LinkedIn、GitHub、フリーランス向けサイトなどで標的へ接触します。実在する企業のように見せた組織や、AIで作成した人物プロフィールを利用して信頼を得た後、採用課題や技術評価を名目にリポジトリを取得・実行させる手口が報告されています。
PolinRiderは2026年3月にOpenSourceMalwareによって報告され、同年4月11日時点では1,951件の公開GitHubリポジトリと1,047人の所有者が影響を受けたとされています。攻撃は継続しており、既存の管理者アカウントや正規リポジトリが侵害された場合、利用者が名称や過去の評判だけで悪性バージョンを見分けることは困難です。そのため、知らない名称のパッケージだけでなく、以前から利用している依存関係についても、公開履歴や導入バージョンを確認する必要があります。
不正コードを隠し、Gitの履歴まで偽装する攻撃手法
PolinRiderでは、不正なJavaScriptを簡単に発見されないよう、正規ファイルの末尾へ追加する手法が確認されています。対象として報告されているのは、postcss.config.mjs、tailwind.config.js、eslint.config.mjs、next.config.mjs、babel.config.js、app.jsなど、JavaScript開発で使用される設定ファイルです。不正コードの前に大量の空白を挿入し、通常の画面表示では見えにくい位置へ追いやる方法も使われています。
別の手口では、JavaScriptをフォントデータに見せかけた.woff2ファイルへ隠し、.vscode/tasks.jsonに設定したタスクからNode.jsで実行します。タスクにrunOn: "folderOpen"が設定されている場合、利用者がVisual Studio CodeやCursorで対象フォルダーをワークスペースとして開くだけで、任意の処理が実行される可能性があります。コードを明示的に起動したつもりがなくても、開発ツールの機能によって感染処理が始まる点に注意が必要です。
さらに、攻撃者はフォースプッシュや過去の日付を用いたコミットによってGit履歴を書き換え、不正な変更を以前から存在していたコードのように見せると報告されています。このため、GitHubのトップページや通常のコミット一覧で直近の変更が見当たらなくても、安全とは判断できません。GitHubのActivityログ、パッケージの公開日時、リポジトリ変更後のリリース状況などを組み合わせて調査する必要があります。
実行されたJavaScriptローダーは、TRON、Aptos、BNB Smart Chainなどのブロックチェーン関連インフラへ接続し、暗号化された後続ペイロードを取得します。確認された後続マルウェアには、遠隔操作を可能にするDEV#POPPER RATと、情報窃取を行うOmniStealerが含まれます。ブロックチェーンや公開RPCサービスを取得経路として利用することで、一般的な不審ドメインへの通信だけを監視する対策では、攻撃を見落とす可能性があります。
日本企業が確認すべき開発環境と復旧の進め方

日本企業においても、社内開発、受託開発、Webサイト制作、クラウドサービスの構築などで、npm、Composer、Goモジュール、Visual Studio Codeを利用する機会は少なくありません。PolinRiderに関連する悪性バージョンを導入した可能性がある場合、該当パッケージを削除するだけでは十分とは限りません。インストール時やリポジトリを開いた時点で後続マルウェアが実行され、認証情報がすでに外部へ送信されている可能性があるためです。
対象環境は侵害された可能性があるものとして扱い、まず影響を受けた端末、利用者、リポジトリ、ビルド環境を特定します。可能であれば、削除や初期化を行う前に、プロセス情報、ネットワーク通信、Gitの状態、VS Codeの設定、パッケージ公開履歴などを保全します。その後、悪性バージョンを除去し、信頼できる時点のソースコードとロックファイルを使用して環境を再構築することが推奨されています。
認証情報の変更は、感染が疑われる端末ではなく、調査済みのクリーンな端末から実施する必要があります。確認対象には、GitHubやnpmなどのパッケージレジストリだけでなく、クラウドサービス、SSH鍵、Vault、Kubernetes、Docker、CI/CD基盤など、開発端末から利用できた認証情報が含まれます。環境変数や設定ファイルにAPIキーやアクセストークンを保存していた場合も、漏えいした可能性を考慮する必要があります。
リポジトリでは、.vscode/tasks.jsonにフォルダーを開いた際の自動実行設定がないか確認し、.woff2など通常は実行対象にならない拡張子のファイルをNode.jsで起動するコマンドを調査します。併せて、config.js、vite.config.js、eslint.config.jsや静的ファイル用ディレクトリの変更を確認してください。Git履歴が書き換えられている可能性があるため、表示上の更新日だけで判断せず、Activityログやレジストリ側の公開履歴まで確認することが重要です。
参考文献・記事一覧
- The Hacker News
- Socket:PolinRider: North Korea-Linked Supply Chain Campaign Expands Across Open Source Ecosystems
- OpenSourceMalware:PolinRider DPRK Attack Expands Across GitHub
- OpenSourceMalware:PolinRider Technical Dossier
- eSentire:North Korean APT Malware Analysis: DEV#POPPER RAT and OmniStealer
投稿者プロフィール

- CyberCrew(サイバークルー)
-
CyberCrew(サイバークルー)は、企業の情報セキュリティをトータルで支援する専門チームです。高度なスキルを持つホワイトハッカーが在籍し、サイバー攻撃の監視・検知から初動対応、リスク診断や従業員向けのセキュリティ教育まで、幅広いサービスを提供。企業のニーズに応じた柔軟な対応で、安心・安全なIT環境の実現をサポートします。
■ 情報セキュリティサービス台帳登録事業者
■ セキュリティコンテスト受賞歴
CTF国際大会 世界No.1
CEH Master Leaderboard 世界No.1
Hack The Box Rank TOP10
■ 保有セキュリティ資格
GIAC GXPN、Cisco Cybersecurity Specialist、CEH Master、CEH Practical、
Cyber Security Professional Certificate、OSCP、OSCP+、CPENT、OSWP、
eCPPT、eMAPT、CRTS、SOC-100、PEN-100、
HTB Offshore Penetration Tester(Level 3)
最新の投稿
2026.07.21北朝鮮関連のPolinRider、108件の悪性パッケージと拡張機能を公開
2026.07.20スマートテレビが攻撃の中継地点に?GoogleがNetNutプロキシ網を大幅縮小
2026.07.19経験の浅い攻撃者でも侵入に成功、Windows端末に残された複数の遠隔操作経路
2026.07.18納税シーズンを狙う多段階攻撃、偽サイトから複数の遠隔操作マルウェアに感染









