2025-11-29

北朝鮮のハッカーが197のnpmパッケージを展開し、OtterCookieマルウェアを拡散

北朝鮮の脅威アクターが、npmレジストリに197の悪意のあるパッケージを追加し、OtterCookieマルウェアの新しいバージョンを拡散しています。これらのパッケージは31,000回以上ダウンロードされ、ユーザーのクリップボード内容を盗む、キーストロークを記録する、スクリーンショットをキャプチャするなどの機能を持っています。また、攻撃者は偽の求人プロセスを利用して、個人を狙った攻撃を行っています。

メトリクス

このニュースのスケール度合い

5.0 /10

インパクト

7.0 /10

予想外またはユニーク度

6.0 /10

脅威に備える準備が必要な期間が時間的にどれだけ近いか

8.0 /10

このニュースで行動が起きる/起こすべき度合い

7.0 /10

主なポイント

  • 北朝鮮のハッカーが197の悪意のあるnpmパッケージを展開し、OtterCookieマルウェアを拡散しています。
  • これらのパッケージは、ユーザーの情報を盗むための高度な機能を持っています。

社会的影響

  • ! この攻撃は、求職者を狙った新たな手法であり、社会的な信頼を損なう可能性があります。
  • ! 特にリモートワークが普及する中で、偽の求人情報に対する警戒が必要です。

編集長の意見

北朝鮮のハッカーによるこの攻撃は、特にリモートワークが一般化する現代において、非常に巧妙で危険な手法です。彼らは、求職者をターゲットにした偽の求人プロセスを利用し、ユーザーが自らマルウェアをダウンロードするよう仕向けています。このような手法は、従来のフィッシング攻撃とは異なり、より高度な社会工学的アプローチを採用しています。特に、Node.jsのような人気のある開発環境を利用することで、開発者や技術者を狙った攻撃が容易になっています。さらに、OtterCookieマルウェアは、ユーザーのクリップボードやキーストロークを盗む機能を持ち、個人情報や機密情報の漏洩を引き起こす可能性があります。これにより、企業や個人のセキュリティが脅かされることになります。今後、開発者や企業は、npmパッケージの信頼性を確認するための対策を強化する必要があります。また、求職者は、求人情報の信憑性を確認するための教育を受けることが重要です。特に、偽の求人情報に対する警戒を高め、信頼できる情報源からの求人情報を優先することが求められます。これにより、個人情報の漏洩を防ぎ、サイバー攻撃から身を守ることができるでしょう。

解説

npmに197の悪性パッケージ、3.1万超ダウンロード──北朝鮮系がOtterCookie新型で“開発端末→供給網”の橋頭堡を狙う

今日の深掘りポイント

  • 開発者を起点とする二段構えの侵害が進化中です。npmレジストリ汚染と偽求人(課題コード実行)を組み合わせ、個人端末からCI/CD・リポジトリ・発行鍵へと踏み台化する設計です。
  • 197パッケージ/3.1万超ダウンロードは「露出規模」の指標であり、「実感染=同数」ではない一方、転依存解決や自動スクリプト実行の慣行が“感染増幅器”になり得ます。
  • OtterCookieはクリップボード・キーログ・スクリーンショット採取など情報窃取に最適化され、開発者の一時トークン・PAT・クラウド資格情報・レジストリ発行トークンに直結する現場リスクが高いです。
  • 供給網対策は「レジストリ・依存・ビルド・発行」の連鎖で面を張る必要があります。ignore-scriptsの既定化、凍結ロックファイル、プロキシ/キャッシュ型レジストリ、プロビナンス(署名・証跡)強制をセットで設計するべきです。
  • 本件の性質上、即応性と行動可能性が高いと読みます。開発端末は「新たな特権系資産」と捉え、EDRルールやネット分離の粒度見直しを伴う恒久対策に踏み込むべき局面です。

はじめに

報道によれば、北朝鮮系とみられるアクターがnpmレジストリに197個の悪性パッケージを投入し、情報窃取型マルウェア「OtterCookie(新バージョン)」を拡散しているとのことです。累計ダウンロードは3.1万回超で、クリップボード窃取、キーストローク記録、スクリーンショット取得などの機能を備え、偽の求人プロセスを通じた個別誘導も並行して観測されたとされています。この組み合わせは、開発者個人端末を起点とした供給網侵害の実害リスクを押し上げる構図です。The Hacker Newsの報道が第一報としてまとまっています。

本稿では、開発組織のCISO/SOC/Threat Intelの視点で、確認できる事実と設計上の弱点、想定シナリオ、優先アクションを掘り下げます。なお、数値と固有名称は上記報道に依拠し、対策指針やフレームワークは一次情報(ドキュメント/規格)へリンクします。

深掘り詳細

事実関係(報道から読み取れる点)

  • npm上に197の悪性パッケージがアップロードされ、累計ダウンロードは31,000回超です。機能としてはクリップボード内容の窃取、キーログ取得、スクリーンショット採取が挙げられています。偽の求人プロセスを使い、ターゲットにNode.jsアプリ実行を促す社会工学も併用されています。
  • OtterCookieの新バージョンは「BeaverTail」の機能を取り込み、情報収集と持続・操作性が高まっているとされます。
  • 以上はThe Hacker Newsの報道に基づく事実関係です。IoCやパッケージ名の一覧などは一次の技術レポート公開が待たれる段階です。

インサイト(構造的な弱点と読み解き)

  • npmのライフサイクルスクリプト(preinstall/postinstallなど)は、開発端末・CIで平易に任意コードを実行できるため、レジストリ汚染が「即コード実行」に直結しやすい構造です。ignore-scriptsを既定無効にしない限り、ゼロクリックに近い侵害面が残ります(参考: npm CLI設定のignore-scripts項目公式ドキュメント)。
  • クリップボードとキーログの組み合わせは、開発者が日常的にコピペする機密(クラウドの一時資格情報、リポジトリのPAT、npm発行トークン、アプリの環境変数やAPIキー)の“横取り”に極めて有効です。これらは直接的にリポジトリ改ざんやパッケージ発行ハイジャックに繋がります。
  • 偽求人は、過去の北朝鮮系の恒常的なTTP(いわゆる“Dream Job”型)と整合します。課題コードの実行や依存インストールを正当化でき、企業のメール・ゲートウェイを迂回して個人端末から侵入するため、従来の境界防御にかかりにくいです(背景事例としてGoogle TAGが継続的に注意喚起してきた偽求人型ソーシャルエンジニアリングの系譜があります。参考: Google TAGブログ(偽求人による攻撃の分析))。
  • ダウンロード数は露出の指標であり、実害は「どれだけCI/端末でスクリプトが走ったか」「奪取トークンがどれだけ高権限か」で決まります。とくにモノレポやモジュール自動更新の運用では、被弾範囲が指数関数的に広がるリスクがあるため、更新ガバナンス(ロックファイルの厳守、強制レビュー、承認付きバージョニング)が決定的です。
  • 本件の「すぐに動ける度」は高いです。レジストリの切り替え、ignore-scriptsの一括適用、CIのfrozen lockfile、プロキシ/キャッシュ型レジストリの導入、発行時のプロビナンス強制など、現行のエコシステムが提供する機能で即効性のある対策が可能です(参考: GitHubによるnpmパッケージ・プロビナンスの導入発表)。

脅威シナリオと影響

以下は、MITRE ATT&CKに準拠しつつ、本件特性から組み立てた想定シナリオです(仮説を含みます)。

  • シナリオ1:偽求人からの個別侵入→開発端末窃取

    • 誘導・初期侵入
      • T1566.002 Spearphishing via Link(課題提示URLやリポジトリへ誘導)ATT&CK
      • T1195.001 Compromise Software Dependencies and Development Tools(課題プロジェクトに悪性依存を混入)ATT&CK
    • 実行・防御回避
      • T1059.007 Command and Scripting Interpreter: JavaScript/Node.js(ライフサイクルスクリプト実行)ATT&CK
      • T1027 Obfuscated/Compressed Files & Information(難読化)ATT&CK
    • 資格情報・情報収集
      • T1056.001 Keylogging(キーストローク窃取)ATT&CK
      • T1115 Clipboard Data(クリップボード窃取)ATT&CK
      • T1113 Screen Capture(スクリーンショット)ATT&CK
    • C2・流出
      • T1071.001 Application Layer Protocol: Web Protocols(HTTPSでの送出)ATT&CK
    • 影響
      • 個人PATやレジストリ発行トークン、クラウド一時認証の奪取→Git/CI/CD・パッケージ発行チャネルの乗っ取り、顧客向け配布物の汚染。
  • シナリオ2:npm経由の無差別拡散→CI/CD踏み台化

    • 初期侵入
      • T1195.001(悪性依存の解決でpostinstallが自動実行)
    • 永続化・横展開(仮説)
      • T1053 Scheduled Task/Job(ビルドサーバにタスク登録)
      • T1552 Unsecured Credentials(CIの環境変数や設定ファイルから秘密抽出)
    • 影響
      • CIランナーのクラウド資格情報・リポジトリ書き込み権限の窃取→内部ソフトウェア供給網の改ざん。
  • シナリオ3:暗号資産・支払い情報の直撃(仮説)

    • クリップボード監視によりウォレットアドレスやOne-Time Code、カード情報の窃取・すり替え。
    • 北朝鮮系の外貨獲得TTPとの親和性が高く、金銭化の迅速性が特徴(本件で実施されたかは未確認のため仮説とします)。

組織影響としては、ソース改ざん・証明書/トークン失効対応・顧客向けインシデント対応・サードパーティ通知義務・ブランド毀損・契約違反リスクが連動します。特に「開発端末の資格情報が“全社の鍵束”」である現実を前提に、資産分類・監査・保護のレベルを一段引き上げる必要があります。

セキュリティ担当者のアクション

短期(0–7日)

  • npmスクリプト実行の既定禁止
    • 端末・CIでNPM_CONFIG_IGNORE_SCRIPTS=trueを既定化し、必要ジョブのみ明示許可にします(参考: npm ignore-scripts)。CIはnpm ci --ignore-scriptsで固定運用にします。
  • 依存の固定と更新ガバナンス
    • lockfileの厳守(frozen/immutable)、範囲指定の厳密化(^/~削減)、transitive依存の変更検知を強制します。
  • ハンティングと一時封じ込め
    • EDRで「node(node.exe/node)→ powershell/cmd/wget/curlの子プロセス生成」「npmスクリプトからの外向きHTTPS通信」を検出強化します。
    • 端末でのスクリーンショットAPI頻呼、クリップボードAPI継続アクセス、キーボードフックの新規登録を監視します。
  • 資格情報の先回り無効化
    • 開発者のPAT/発行トークン、CIの長期資格情報をローテーションし、最小権限化・有効期限短縮を徹底します。
  • 社会工学の即時啓発
    • 偽求人・課題実行は「私物端末のサンドボックスでのみ」「企業ネットワーク遮断」で扱うルールを全社展開します。

中期(8–30日)

  • プロキシ/キャッシュ型レジストリの導入
    • 社内レジストリ(例:Artifactory/Nexus/verdaccio)を経由点として、外部パッケージの検疫・署名検証・バージョン凍結を行います(参考: JFrog Artifactory npmレポジトリ)。
  • プロビナンス/署名の強制
  • CI/CDハードニング
    • ランナーのネットワーク分割、シークレットの短期化・スコープ最小化、未署名依存の拒否、build-timeの外部取得禁止(vendoring)を適用します。

中長期(30–90日)

  • エンタイトルメント再設計
    • リポジトリ書き込み・発行権限は短期トークン+Just-in-Time付与へ移行し、発行操作は多要素承認(4-eyes)にします。
  • 検知工学の定着
    • 「npm install=コード実行」という前提のユースケースベース検知(振る舞い+通信+資格情報アクセスの相関)をSOCのルールに組み込みます。
  • サプライチェーン全体の可視化
    • SBOM生成・継続監視、依存ツリー健全性スコアリング、外部リスクフィードとの相関分析をパイプラインに組み込みます。

リスク評価の考え方(メトリクスからの総合判断)

  • 緊急度と実行可能性が高く、波及ポテンシャルも大きい案件です。一方で、ダウンロード数=被害ではなく、実害を規定するのは組織の依存更新運用とスクリプト実行ポリシーです。したがって、今すぐ変えられる「プロセスと設定」を優先し、長期は発行・受領の両面で“検証可能性(verifiability)”を高めることが、コスト効率のよい投資になります。

参考情報

本件は「開発者=境界」の常識が逆手に取られていることを、痛烈に突きつける出来事です。レジストリ、依存、ビルド、発行、運用の全段に“実行=リスク”の視点を持ち込み、構成とプロセスを刷新することが、最短で最大の効果を生みます。いますぐ着手します。

背景情報

  • i OtterCookieは、ユーザーのクリップボードやキーストロークを盗むために設計されたマルウェアです。最近のバージョンは、BeaverTailの機能を統合しており、攻撃者はこれを利用してユーザーの情報を収集します。
  • i 攻撃者は、偽の求人プロセスを通じてターゲットを狙い、Node.jsアプリケーションを実行させることで感染を広げています。これにより、ユーザーは知らず知らずのうちにマルウェアをダウンロードしてしまいます。