Japan
サイト内の現在位置を表示しています。
多段階的な依存関係を悪用したnpmパッケージとそれを拡散する不審なGitHubアカウント群の分析
サイバーインテリジェンス2026年6月25日
この記事は、NECのCTI(Cyber Threat Intelligence)チームが、リサーチ活動を通して得た情報を掲載しています。
CTIチームは、北朝鮮アクターの関与が指摘[1,2]されている、npmパッケージを利用した継続的な攻撃キャンペーンを確認しました。この攻撃は、GitHubリポジトリを悪用してマルウェアを配布しており、その手法は進化し続けています。
以下に、この攻撃キャンペーンの主要な点をまとめます。
エグゼクティブサマリー
悪用されるnpmパッケージと手口:
- 攻撃者は、ts-logger-pack、intquery、ioredis-om、api-rs-nodeといった悪性npmパッケージを配布しています。
- 多くの場合、悪性コードはパッケージ本体ではなく、多段階の依存関係を介して配布しています。
- api-rs-nodeのようなパッケージでは、postinstallスクリプトを悪用し、同梱されたclob.jsがIPFS (InterPlanetary File System)から最終ペイロードをダウンロード・実行・永続化します。
- マルウェアは、多くの場合RATや情報窃取型マルウェアの機能を持ち、一部ではSSHバックドア機能なども存在しました。窃取されたデータは、Hugging FaceのデータセットやC2サーバーにアップロードされる仕組みです。
巧妙な継続性と欺瞞:
- 攻撃者は、npmセキュリティチームによる検知や公開停止を避けるため、悪性パッケージの依存先を頻繁に切り替えることで、攻撃キャンペーンの継続性を確保しています。例えば、intqueryはlogger-draft、logger-active、obfus-jsxyへと依存先を変更しました。
- GitHubリポジトリは使い捨てではなく、悪性npmパッケージを入れ替えながら継続的に悪用されています。
- 「暗号資産・予測市場・自動取引bot・AI agent」などを模したGitHubリポジトリを使用し、フォーク数やスター数(特にフォーク数)を水増しすることで、信頼性の高いツールであると偽装していました。
- 一部のリポジトリでは、VS Codeのタスク自動実行機能を悪用し、プロジェクトを開いた際に自動でnpm installが実行されるよう仕向けていました。
- 最近では、2026年ワールドカップの予想ツールなど、注目を集めるイベントを題材にしたリポジトリも出現しています。
対策と注意喚起:
- この攻撃キャンペーンは、現在も活発に進行中です。
- 作者が不明なGitHubリポジトリやnpmなどのパッケージを初めて利用する際は、端末上で直接実行せず、開発用の隔離コンテナで実行するなど、十分な注意が必要です。
目次
CTIチームでは、様々な脅威情報を収集しています。 特に、昨今の情勢からnpm(Node.js)やPyPI(Python)などのパッケージリポジトリを使ったマルウェアの配布には注目しており、パッケージ情報を収集・分析しています。
こういったパッケージを介した攻撃では、Mini-Shai-HuludやMiasmaといったワーム機能を持つマルウェアによる正規パッケージの侵害が大きく注目されていますが、これ以外にもタイポスクワットを狙ったパッケージや、北朝鮮アクター「Famous Chollima」などによるContagious Interviewといった攻撃活動などでも用いられてます。
今回、我々はOX Security社が調査した北朝鮮アクターによる悪性パッケージを使った攻撃活動が[1]、現在も変化しながら継続していることを確認しました。この攻撃活動では、「ts-logger-pack」が使われていましたが、別パッケージへの変更や依存関係を多段にするなど、手法を徐々に変化させていっていることが分かっています。
本記事では、新しく用いられているパッケージとその挙動を調査し、また当該パッケージを公開しているGitHubアカウントなどを含めた調査を行いました。
我々はこの「ts-logger-pack」を組み込んでいる不審なGitHubリポジトリや関連アカウント群を起点に追跡調査を実施し、新たに複数の悪意のあるnpmパッケージを特定しました。GitHubリポジトリやアカウント等を用いた攻撃インフラ側の分析については後述し、まずは特定した悪意のあるnpmパッケージについて詳細を解説します。
悪性npmパッケージ解析
本章では、我々の調査で観測された一連の悪意のあるnpmパッケージ群から、主要な検体を取り上げてその内部挙動を解説します。なお、執筆時点(2026年6月初旬)においても本キャンペーンは継続中とみられ、コードを微修正した類似パッケージがnpm上に多数展開されている点に注意が必要です。
intquery(バージョン1.1.3)
我々がGitHub上で ts-logger-pack の動向を調査していた2026年5月下旬頃、複数のリポジトリにおいて package.json 内の同パッケージの指定が一斉にintqueryへと書き換えられる事象を観測しました。
この時確認されたintquery(バージョン1.1.3)は、パッケージ本体には悪意のある挙動を示すコードを含んでおらず、依存先として指定されたlogger-draft内にペイロードが含まれていました。

このlogger-draft内のpayload.jsは難読化されたJavaScriptコードであり、リモートアクセスツール(RAT)・インフォスティーラー・キーロギング・スクリーンショット撮影および永続化機能を有します。窃取されたデータは、攻撃者が管理しているとみられるHugging Faceのデータセットへアップロードされる仕組みになっていました。この検体は、SafeDep社が報告[3]している悪性パッケージjs-logger-packと通信先IPアドレス(195.201.194[.]107)や機能的特徴が酷似しています。
依存関係の動的変更による攻撃キャンペーンの継続性確保
攻撃者は検知を逃れるため、依存先のパッケージがnpmのセキュリティチームによって「Security holding package(マルウェアと判定され公開停止されたパッケージ)」に指定されると、即座にバージョンを更新して新たな依存先へ切り替える手法をとっています。具体的には以下の変遷を確認しました。
- バージョン1.1.4: 依存先をlogger-activeへ変更
- バージョン1.1.5: 依存先をobfus-jsxyへ変更
さらに、一部のリポジトリではpackage.jsonの依存指定がintqueryから不審なnpmパッケージioredis-osへと再度書き換えられているコミットも確認されています。
github[.]com/taprwhiz/hyperliquid-ai-agent/commit/5e265fb21d31d90a0b710db98e59fea595a8a346#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
このような依存関係の頻繁な切り替えは、単なるセキュリティ対策の回避というよりも、検知や公開停止を前提とした使い捨て型の運用である可能性が高いと考えられます。すなわち、特定のパッケージがnpm側によって無効化された場合でも、即座に別の名称のパッケージへ切り替えることで、攻撃キャンペーン全体の継続性を維持する意図があるとみられます。
ioredis-om(バージョン5.10.2)
ioredis-omは、2026年4月下旬頃に複数の悪意のあるリポジトリのpackage.jsonのdependenciesに設定されていたパッケージです。ioredis-omはこのパッケージ自体のソースコードは一見問題がないように見えますが、intquery同様、多段階的な依存関係により悪性コードを読み込んでいます。すなわち、ioredis-omはredis-om-typeに、redis-om-typeは悪性コードを含むforge-jsxyに依存しています。
| GitHubリポジトリ(例: SigmaTradeLabs/hyperliquid-trading-bot) └package.json └ioredis-om └ redis-om-type └ forge-jsxy←悪性 |
先述のioredis-osも同様の構造となっています。
| GitHubリポジトリ(例: white-trade-loan/algo-trading-platform) └package.json └ioredis-os └ redis-type-os └ index-ulid←悪性 |
forge-jsxyはキーロギング・クリップボード監視・.envのスキャン機能などを有するインフォスティラーです。詳細はSafeDep社の報告[4]をご参照ください。
攻撃者の不注意とOpSecの甘さ
なお、中間パッケージであるredis-om-typeについては、執筆時点での最新バージョン(1.0.4)において、依存先がforge-jsxyから新たなパッケージsodel-pychへと変更されていることを確認しました。しかし興味深いことに、当該パッケージのREADME.mdには「forge-jsx」の文字列残されています。これは、攻撃者がセキュリティ検知を逃れるためにパッケージの名称や依存関係を機械的かつ急ピッチで変更する一方で、ドキュメントの更新を怠った(テンプレートを無造作に使い回している)という、攻撃者側のOpSecの甘さが露呈した痕跡と言えます。同じミスはintqueryでも確認できており、本キャンペーン全体を通じて、このような細部を欠いた杜撰な更新作業は、他のパッケージ名やリポジトリ名においても多数観測されています。


api-rs-node(バージョン4.3.2)
api-rs-nodeは、一連の悪意のあるリポジトリ群に対してpackage.jsonの改ざんを継続的に行っていた先述のGitHubアカウントによって、2026年4月下旬頃に仕込まれたパッケージの一つです。
api-rs-nodeはioredis-omやintqueryとは異なり、npmのpostinstallスクリプトを悪用して、パッケージ本体に同梱された悪意のあるコード「clob.js」を直接実行させます。この「clob.js」は、IPFS(InterPlanetary File System)から最終的なペイロードをダウンロードし、永続化を図った上で隠蔽プロセスとして実行する機能を持つJavaScript製のダウンローダー兼インストーラーです。なお、本調査の時点ではIPFSからのペイロード取得には至らなかったため、ドロップされるマルウェア本体の詳細な解析については本稿の対象外とします。

複数の難読化処理
静的解析ツールやシグネチャベースの検知を回避するため、「clob.js」のコードには以下のような複数の難読化処理が多重に施されています。
- Unicodeエスケープシーケンス化: (例: "\u0068\u0074\u0074\u0070\u0073" → "https")
- 文字列の反転(リバース)処理: (例: "rorre".split("").reverse().join("") → "error")
- XOR演算による数値の秘匿: (例: 712646^712646 → 0, 203032^205696 → 15000)

IPFSからペイロードを取得
Windows環境と判定された場合、ハードコードされた反転文字列を復号してCID(コンテンツ識別子:bafybeif3zkapj364ofnrvbty7oj5h5ufpxlp4s62usk3ulxrru35e3gssa)を構築し、IPFS経由でペイロードのダウンロードを試みます。IPFSはP2Pネットワーク上で動作する分散型ファイルシステムであり、単一のサーバーに依存しないため、高い可用性とテイクダウン(サーバーの強制停止)への耐性を攻撃者に提供します。本検体は、以下の4系統のIPFSゲートウェイを順に試行する多段階のフォールバック機構を備えており、インフラの可用性を極めて重視した設計となっています。
- violet-tricky-quelea-562.mypinata[.]cloud
- cloudflare-ipfs.com
- gateway.pinata.cloud
- ipfs.io
また、OS環境を判定するgetPlatformConfig関数内にはmacOSおよびLinux向けの処理も実装されています。しかし、現時点のコードでは該当プラットフォーム向けのダウンロード先URLがnullに設定されていることから、今回のキャンペーンにおける主たる標的はWindows環境であると推測されます。

ペイロードの実行と永続化
IPFSから取得されたペイロードは、プラットフォームごとに異なる手法を用いて実行・永続化されます。 Windows環境では、ペイロードは%LOCALAPPDATA%\windows defender host.exeという正規のシステムコンポーネントを装ったファイル名で保存されます。さらに、この実行ファイルと同じフォルダー内にWScript.Shellを生成して対象のEXEをバックグラウンドで実行するだけのラッパー用VBScript(windows defender host-launcher.vbs)を動的に生成します。その後、このVBScriptをwscipt.exe経由で実行するコマンドwscript.exe //nologo "C:\Users\[USERNAME]\AppData\Local\windows defender host-launcher.vbs"をレジストリキーHKCU\Software\Microsoft\Windows\CurrentVersion\Runに対してclobという値名で登録し、永続化を図ります。

macOSとLinux向けはURLがnullのため現状は動作しませんが、ダウンロードできた場合のコードは存在しています。
macOSでは ~/.local/bin/clobにペイロードを配置し、~/Library/LaunchAgents/com.clob.agent.plistを生成してlaunchctl loadする設計になっています。Linuxでは ~/.local/bin/clobを実行ファイルとして保存し、~/.config/autostart/clob.desktopを書き込んで自動起動させます。
最後に感染端末のグローバルIPアドレスをapi.ipify.orgで確認し、HTTP POSTメソッドを使用して170.205.31[.]203:2026/api/urls?url={感染端末IPアドレス}:80の形式でC2サーバに送信してインストールプロセスが完了します。
GitHubを中心としたOSINT調査
攻撃に悪用されていたGitHubリポジトリを起点としてOSINT調査を行いました。
この調査では、以下のような点を目的とし、調査を行っています。
-
他の悪性パッケージなどの把握
-
攻撃に関与するGitHubリポジトリやアカウントなどの全体像の把握
今回、調査した結果として、攻撃者は、暗号資産・予測市場・自動取引bot・AI agentを模したGitHubリポジトリを使って悪性パッケージを配布していました。また、これらのリポジトリの信頼性を演出するために、GitHubのフォーク数やスター数を水増ししていたことが分かっています。
関連リポジトリの把握
今回、攻撃に用いられている悪性パッケージである、intqueryやts-logger-packなどを依存関係として持つリポジトリなどを調査しました。

把握したリポジトリについて分析していくと、リポジトリの所有者でないアカウントがコミットしているケースが多いことが分かりました。

また、いくつかのリポジトリではスター数に対してフォーク数が異常に多くなっていました。後述しますが、我々は攻撃者がフォーク数を意図的に水増しし、リポジトリの信頼性を偽装していると考えています。
以下は、GitHub上で「hyperliquid」の文字列を含むリポジトリを検索し、フォーク数の多い順に並べ替えて類似の不審なリポジトリの有無を調査した結果です。スター数がごく少数であるにもかかわらず、数百から最大で3,300回もフォークされている複数の不審なリポジトリ群が存在しました。

コミッターの分析
次に悪性リポジトリにコミットしたアカウントのコミット履歴を調査した結果、同じリポジトリ系統では同じタイミングでコミットされていることが分かります。また、リポジトリ系統毎でコミットのタイミングは異なるため、それぞれが別プロジェクトとして管理された、組織的攻撃であると判断しています。






GitHubリポジトリを使い捨てにせず継続的に利用
攻撃者は、GitHubリポジトリを使い捨てにせず、悪性npmパッケージを入れ替えて、継続的に利用していることを確認しています。
例)github[.]com/yampiihansLab/hyperliquid-copy-trading-bot
最初にリポジトリが作られたときはts-logger-packがdependenciesに設定されていましたが、当該パッケージが悪性パッケージとして削除されると、intqueryへ変更していました。

また、直近(2026年6月以降)ではこのintqueryからioredis-osへ変更されていることも確認しています。

このようにnpm側が削除対応すると悪意あるパッケージを入れ替えて対応していますが、多くのGitHubリポジトリは継続して利用しています。
特徴的な不審リポジトリ
継続的に利用されているリポジトリの1つである、SigmaTradeLabs/hyperliquid-trading-botは他リポジトリにはない、特徴的な挙動が見つかっています。
このリポジトリはREADME.mdでのnpm install実行を誘導するだけでなく、VS Codeのタスク自動実行機能を悪用した初期アクセスも試みます。具体的には、.vscode/tasks.jsonに"runOptions": {"runOn": "folderOpen"}オプションが指定されており、VS Codeで当該プロジェクトのフォルダーを開いた際に、背後で自動的にnpm install --include=dev --include=optional --production=falseが実行されるよう設計されています。
さらに、同リポジトリの.vscode/settings.jsonには{"task.allowAutomaticTasks": "on"}という設定が同梱されています。以前のVS Code環境では、この記述によって警告プロンプトがバイパスされ、悪意のあるタスクがサイレントに実行されていました。しかし、現在のVS Codeでは、task.allowAutomaticTasksはユーザー設定としてのみ管理されており、ワークスペース側(リポジトリ側)からの設定は適用されない仕様となっています。したがって、最新版のVS Codeを使用してデフォルト設定のままになっていれば直ちに自動実行されることはなく確認プロンプトが表示されます。しかし、警告プロンプトの内容を深く確認せずに手動で「許可」を押してしまうユーザーや、アップデートを怠っている古いVS Code環境のターゲットを確実に侵害する狙いがあると考えられます。(参考:[5])

また、このリポジトリは積極的に更新されていたGitHubリポジトリの一つです。このリポジトリのpackage.json似は以下に示す複数の悪性パッケージを入れ替えて使っていました。
- ioredis-om
- ts-node-type
- web3.prc
- js-web3.prc
フォーク数の水増し
GitHubリポジトリはフォーク数やスター数(特にフォーク数)を水増ししています。
例) github[.]com/yampiihansLab/hyperliquid-copy-trading-bot

フォーク先のリポジトリでは、多くの場合リポジトリ名を自動生成と思われる名称(アルファベットの単語がハイフンで2~3回連結し、最後に数値が付く形)に変えています。またリポジトリタイプがすべてInactive(フォーク先で最近コード変更がないもの)でした。

これらフォーク数やスター数を水増しすることは、当該リポジトリを人気なもの、または正規であると誤認させる意図があったと推測しています。
フォークアカウントの分析
フォークの水増しは、1,000以上のものもあり、大規模に行われていました。これらのオペレーション全体について傾向を把握するために、hyperliquid系のリポジトリを対象として、関係性を分析しました。
フォークの水増し工作は多くの場合フォーク元アカウント1つにつき5~30程度のアカウントを用い、それぞれ5~30程度のフォークをしていました。(例外ケースでは1アカウントで100以上のフォークをしているケースもあり)
これらのほとんどは、各アカウントでは同一リポジトリのフォークのみ行っており、別リポジトリのフォークはさせない形で切り分けられていました。下図が、フォーク元とフォーク先のアカウントの関係を示した図です。大きく2つのクラスタにわかれており、アカウント毎にフォーク対象のリポジトリが分けられていることがわかります。

- フォーク元: 緑の大きな丸
- フォーク先: 緑の小さな丸
- フォークしたアカウント: オレンジの小さな丸
別の悪性パッケージの発見
hyperliquid系のBotを称するリポジトリを探しているときにhyberliquid-arbitrage-botというものを発見しました。このリポジトリはdependenciesにchalks-loggerという悪意あるパッケージが存在していました。
このパッケージの作成者はlorine93sであり、lorine93sが公開している他パッケージもすべて悪性でした。

chalks-loggerに関する悪性コードは以下に存在していました。

このコードは、ログライブラリに見せかけたInfostealer兼Linux SSHバックドアでした。
主目的は開発者の .env、APIキー、秘密鍵、設定ファイルなどをhxxp://polymarket-clob2[.]blogへデータを送信すること、被害端末上の authorized_keys に攻撃者のSSH公開鍵を追加し、SSHによるバックドアアクセスを可能にしていました。
SSH公開鍵) AAAAC3NzaC1lZDI1NTE5AAAAIJxc6YPFfHFzBsAu7z2wZEmwuHc9zBuOoUYrIRM6W+Ai
公開サーバ調査
マルウェアが通信する先のIPアドレスについて調査を行いました。
マルウェア通信先: 170.205.31[.]203
Shodanを使用し調査を行ったところ、Wallet Management Botというダッシュボードが存在することを確認しました。
このダッシュボードは、攻撃者のWallet IDでの認証が必要となっていました。

これらのダッシュボード情報を基に調査し、新たにもう1つのダッシュボード公開サーバ204.10.194[.]64を特定しています。ただし、このダッシュボードは、本記事執筆中(2026年6月15日時点)ですでに公開停止していることを確認しています。
攻撃への誘導方法について
我々はこの攻撃にどのように誘導しているか把握できていませんが、本攻撃で用いられたGitHubアカウントの1つ「rkama411」がProofpoint社が公開した北朝鮮による「UNK_DeadDrop」でも用いられていたことを確認しています[6]。
本攻撃に用いられるGitHubリポジトリの1つに、以下がありました。
github[.]com/rkama411/polymarket-copy-trading-bot (既に削除済み)
また、説明してきたリポジトリは金融取引系のツールであり、ターゲットも一致しているため、この攻撃に関連している可能性があると考えています。 ただし、用いられていたリポジトリは別であり、また同帰属の攻撃キャンペーンであるため、GitHubアカウントが単純に共用されていただけの可能性もありますので、関連性は中程度と判断しています。
この攻撃は現在進行形
この攻撃活動は、現在も活発に行われており、様々なリポジトリやパッケージが悪用されています。
intqueryを利用していた各種リポジトリは、6月9日に大きくioredis-osという新しいnpmパッケージに移行しました。
このioredis-osを仕込んだGitHubリポジトリは、6月9日以降に増加しており、その中には今までとは詐称するツールタイプが少し異なるものも出てきています。
以下のように、2026年6月11日に開催されたワールドカップを題材とし、試合の予想をするアプリと偽装するリポジトリが複数出現しています。
- github[.]com/Berliwu/world-cup-2026-match-prediction-engine
- github[.]com/ccooddeerr/world-cup-2026-ai-predictor
- github[.]com/Berliwu/world-cup-match-scanner

これらは、いずれも本記事で触れたioredis-osが依存関係に仕込まれており、実行するとマルウェアに感染します。

ただし、完全に方針を変えたわけではなく、今までと同様にトレーディングボットなどのリポジトリも存在しています。
- github[.]com/white-trade-loan/algo-trading-platform
- github[.]com/superalgo-trade/coinbase-kraken-arbitrage-bot
- github[.]com/yampiihansLab/hyperliquid-copy-trading-bot
- github[.]com/taprwhiz/hyperliquid-ai-agent
- github[.]com/ChypherFish3r/coinbase-trading-bot
結論
npmなどのオープンソースのパッケージリポジトリには、様々な悪性パッケージが存在します。
本調査で示したように、GitHubリポジトリの依存関係を介した配布以外にも、タイプミスから誘うタイポ系のパッケージなどもあります。作者が不明で初めて利用するようなGitHubリポジトリやパッケージは、端末上で直接実行せず、開発用の隔離コンテナで実行するなど十分に注意してください。
IOCs
ネットワーク
| 値 | 説明 |
|---|---|
| 195.201.194[.]107 |
logger-draft |
| 195.201.194[.]107:8010 |
logger-draft |
| ws[://]195.201.194[.]107:8010 |
logger-draft |
| hxxp[://]195.201.194[.]107:8010 |
logger-draft |
| 170.205.31[.]203 | api-rs-node |
| hxxp[://]170.205.31[.]203:2026/api/urls?url={IP}:80 | api-rs-node |
| hxxps://violet-tricky-quelea-562.mypinata.cloud/ipfs/{CID} | api-rs-node |
| hxxps://cloudflare-ipfs.com/ipfs/{CID} | api-rs-node |
| hxxps://gateway.pinata.cloud/ipfs/{CID} | api-rs-node |
| hxxps://ipfs.io/ipfs/{CID} | api-rs-node |
| 65.21.30[.]171:8010 | ioredis-os |
| 65.21.30[.]171:8010 | ioredis-os |
| ws[://]65.21.30[.]171:8010 | ioredis-os |
| hxxp[://]65.21.30[.]171:8010 | ioredis-os |
| 204.10.194[.]64 | Wallet Management Bot稼働サーバ |
npmパッケージ
| パッケージ名 | npm user | |
|---|---|---|
| intquery | cddyw3260 | cddyw3260[@]outlook[.]com |
| logger-draft | mufu202633 | mufu202633[@]outlook[.]com |
| logger-active | ujmn103244 | ujmn103244[@]outlook[.]com |
| obfus-jsxy | hexalpha12 | hexalpha12[@]outlook[.]com |
| ioredis-om | tarrancetutson729 | tarrancetutson729[@]gmail[.]com |
| redis-om-type | jacksonkaandorp | jacksonkaandorp[@]gmail[.]com |
| forge-jsxy | jacksonkaandorp2 | jacksonkaandorp2[@]outlook[.]com |
| sodel-pych | jacksonkaandorp_0 | jacksonkaandorp[@]outlook[.]com |
| ioredis-os | hexalpha15 | hexalpha15[@]outlook[.]com |
| redis-type-os | hexalpha14 | hexalpha14[@]outlook[.]com |
| index-ulid | probull100 | pro.bull10[@]outlook[.]com |
| api-rs-node | shinydv412 | shinydv412[@]gmail[.]com |
| ts-logger-pack | jpeek886 | jpeek886[@]gmail[.]com |
| ts-utils-dev | jamesjamesjmaes123 | al.la.n.h.o.rca07[@]gmail[.]com |
| js-web3.prc | devcarron | devcarron[@]gmail[.]com |
| mojiprint-prettier | lorine93s | milosk920125[@]gmail[.]com |
| test-prettier | lorine93s | milosk920125[@]gmail[.]com |
| chalks-logger | lorine93s | milosk920125[@]gmail[.]com |
| chalki-pretty | lorine93s | milosk920125[@]gmail[.]com |
| picocolor-logger | lorine93s | milosk920125[@]gmail[.]com |
| chalk-pro-logger | lorine93s | milosk920125[@]gmail[.]com |
| emojiprint-logger | lorine93s | milosk920125[@]gmail[.]com |
MITRE ATT&CK マッピング
| Tactic | Technique ID | 説明 |
|---|---|---|
| Initial Access | T1204.002 | GitHubリポジトリのREADME.mdを通じて、ユーザー自身にnpm installを手動実行させる。 |
| Execution | T1059.007 | postinstallフックを利用し、Node.js環境で悪意のあるJavaScriptコード(clob.js)を実行する。 |
| Execution | T1059.005 | wscript.exeを利用してVBSランチャー(windows defender host-launcher.vbs)を実行する。 |
| Persistence | T1547.001 | Windows環境において、レジストリの自動実行キー(HKCU\...\Run)にclobという値名でコマンドを登録する。 |
| Persistence | T1543.001 | macOS環境において、~/Library/LaunchAgents/に.plistを生成し、launchctlで自動起動を登録する。 |
| Persistence | T1547.013 | Linux環境において、~/.config/autostart/にデスクトップエントリ(.desktop)を生成する。 |
| Defense Evasion | T1027 | XOR演算・Unicodeエスケープ・文字列の反転(Reverse)などの難読化処理を施す。 |
| Defense Evasion | T1036.005 | ペイロードを正規のシステムファイルを装った名称(windows defender host.exe)で保存する。 |
| Defense Evasion | T1564.003 | VBScript内で引数「0」を指定し、悪意のある実行ファイル(ペイロード)をウィンドウ非表示モードで起動する。 |
| Discovery | T1016 | 外部API(api.ipify.org)を利用し、感染端末のグローバルIPアドレスを動的に取得する。 |
| Collection | T1056.001 | logger-draft等の機能として、感染端末におけるキーボード入力を記録・収集する。 |
| Collection | T1113 | logger-draft等の機能として、感染端末のスクリーンショットを撮影する。 |
| Command and Control | T1105 | IPFSからペイロードをダウンロードする。 |
| Exfiltration | T1567.002 | logger-draft等の機能として、窃取した各種データを、攻撃者が管理するHugging Faceのデータセットへアップロードする。 |
参照文献
[1]
North Korean-Linked Threat Actor Targets Developers with New npm Infostealer RAT
[2]
DPRK npm packages
[3]
Malicious npm Package js-logger-pack Ships a Multi-Platform WebSocket Stealer
[4]
forge-jsxy: 22 Versions of an Actively Developed npm RAT
[5]
Contagious Interview: Evolution of VS Code and Cursor Tasks Infection Chains Part 2
[6]
Don't Fear the Repo: UNK_DeadDrop Phishing Campaign Targets Developers to Steal Cryptocurrency
