北朝鮮関連の脅威アクターによるAxios npmサプライチェーン攻撃についてのFAQ
2026年3月31日、北朝鮮に関連する脅威アクターUNC1069が、広く使用されているaxios npmパッケージを攻撃し、クロスプラットフォームのリモートアクセス型トロイの木馬を開発者環境に配布しました。この攻撃により、悪意のあるバージョンが約3時間の間npmレジストリに存在し、macOS、Windows、LinuxシステムにWAVESHAPER.V2バックドアを配布しました。開発者は影響を受けたシステムを完全に侵害されたものとして扱い、すべての認証情報を回転させ、クリーンなスナップショットから再構築することが推奨されています。
メトリクス
このニュースのスケール度合い
インパクト
予想外またはユニーク度
脅威に備える準備が必要な期間が時間的にどれだけ近いか
このニュースで行動が起きる/起こすべき度合い
主なポイント
- ✓ axios npmパッケージは、2026年3月31日に攻撃を受け、悪意のあるバージョンが約3時間の間公開されました。
- ✓ UNC1069は、WAVESHAPER.V2というバックドアを使用して、macOS、Windows、Linuxに対して攻撃を行いました。
社会的影響
- ! この攻撃は、開発者コミュニティに対して大きな影響を及ぼし、信頼性の低下を招く可能性があります。
- ! サプライチェーン攻撃は、ソフトウェア開発の安全性に対する懸念を高め、今後の対策が求められます。
編集長の意見
解説
Axiosのnpmが3時間ハイジャックされ開発端末にRAT配布──UNC1069のサプライチェーン攻撃が突きつけた「3時間の深淵」です
今日の深掘りポイント
- 世界的に利用されるaxiosのnpmパッケージが約3時間だけ悪性化し、開発者端末にクロスプラットフォームRAT(WAVESHAPER.V2)を配布した事案です。
- 「短時間だから安全」とは言い切れず、CIの自動更新・Renovate/Dependabotの検証ジョブ・開発者のローカル更新が連鎖して実行されうる時間幅です。
- 侵害前提での対応(端末再構築・全クレデンシャル回転)が推奨され、ソフトウェアサプライチェーンの統制設計をやり直す必要がある案件です。
- npmの発行者アカウント侵害と長期トークン悪用という古典的パターンが、依然として巨大エコシステムで致命傷になりうる現実を示しました。
- 当面は影響確認と封じ込めを最優先にしつつ、中期的には「更新の速さ」と「検証の深さ」の再バランスが鍵になります。
はじめに
開発の現場はスピードが命です。だからこそ、依存の自動更新は私たちの武器であり、同時に最大の弱点でもあります。本件は、世界的に使われるaxiosが約3時間だけ攻撃者の手に落ち、開発端末にRATをばらまくための踏み台になったという出来事です。たった3時間──しかし、CIの複数ジョブが回り、各国の勤務時間帯が重なり、数多のローカル環境でコマンドが叩かれるには十分な時間です。今回のニュースは、スピードを落とさずに安全側に倒すための「設計変更」を、私たちに静かだが強い口調で求めています。
以下、一次情報に基づく事実を整理し、組織のCISO/SOC/Threat Intelにとっての実践的な示唆を掘り下げます。
深掘り詳細
事実関係(確認済み)
- 2026年3月31日、北朝鮮関連のUNC1069が、広く利用されるaxiosのnpmパッケージを悪用し、開発者環境にクロスプラットフォームのRAT「WAVESHAPER.V2」を配布したと報告されています。悪性版は約3時間npmレジストリに存在したとされます。推奨対応として、影響端末は「完全侵害」前提で全認証情報の回転とクリーンなスナップショットからの再構築が示されています。Tenable GTIGのFAQが一次報告です。
- axiosはHTTPクライアントとして世界的に普及し、1.x系は週あたり1億回超のダウンロード規模に達しています(同FAQの前提説明より)です。
- 攻撃は、メンテナのnpmアカウント侵害と長期アクセストークンの悪用により、正規の公開フローを迂回して悪性版を発行したと説明されています(Tenable FAQ)です。
出典:
- Tenable: FAQ about the Axios npm supply chain attack by North Korea-nexus threat actor UNC1069(2026-04-01)です。
編集部インサイト(仮説・推測を含む)
以下は一次報告に基づく推測と一般論であり、公式続報で修正されうる前提で記します。
- 3時間の意味合いです。CI/CDは地域ごと・製品ごとにジョブスケジュールや自動バンプの周期が散在します。短時間でも、Renovate/Dependabotの検証ブランチ作成や、開発者の「手癖のnpm install」で新パッチが解決され、postinstall/prepareスクリプト経由で不正バイナリが落とされる条件は十分に満たされます。特にローカル環境やPoC用の一時環境はlockfileの厳守率が低く、打撃が出やすいです。
- 爆発半径の実相です。axiosは一次依存だけでなく「便利だから雑に入れる」性質があり、各社のユーティリティ層・CLIツール・サンプルコードに潜り込みやすいです。CIのe2eテストやブラウザ外のNodeタスクが走るだけで、RATが実行される「機会」は作られます。
- 攻撃者視点のコスパです。単一パッケージの短期ハイジャックでも、開発者端末からクラウド・VCS・レジストリ・署名鍵へ横展開できれば、直接金銭・間接収益(暗号資産・クリエイティブな社内詐欺)双方の回収ルートを確保できます。国家系の継戦資金確保という文脈を踏まえると、開発者狩りは費用対効果が高い狙い目です。
- 組織設計の課題です。「高速更新」と「ゼロトラストな依存解決」の両立が未成熟な組織は、CIだけ安全にしてもローカルで穴が空きます。逆も然りです。更新ポリシーを層ごと(開発端末/CI/本番)に分け、実行スクリプトを既定で無効化しつつ、例外申請で最小有効化するガバナンスが要ります。
脅威シナリオと影響
以下はMITRE ATT&CKに沿った仮説シナリオです。各技術IDは参照用で、実際のインシデントは今後の一次情報で確定させる必要があります。
-
初動(Supply Chain経由の侵入)
- Supply Chain Compromise(T1195)により、悪性版パッケージが公開され、開発端末やCIで取得・実行されます。MITRE T1195です。
- Valid Accounts(T1078)の前段として、メンテナアカウントやトークンが侵害されます。MITRE T1078です。
-
実行・永続化
- Command and Scripting Interpreter(T1059)で、Node/Powershell/シェル等が実行され、RATが取得・起動されます。MITRE T1059です。
- Scheduled Task/Job(T1053)やLaunchAgents等で永続化される可能性があります。MITRE T1053です。
- Boot or Logon Autostart Execution(T1547)相当の手口(ログオン時の自動起動)が用いられる可能性があります。MITRE T1547です。
-
資格情報窃取・横移動
- Unsecured Credentials / Credentials in Files(T1552)でクラウド/レジストリ/VCSのトークン・鍵が窃取されます。MITRE T1552です。
- OS/ブラウザ/キーチェーンからの取得(Credential from Password Stores: T1555)も脅威です。MITRE T1555です。
- 盗んだトークンでCI・クラウド・Gitに再侵入(T1078)し、より広いサプライチェーン改ざん(別パッケージや別プロダクト)に発展し得ます。
-
C2とデータ流出
- Application Layer Protocol: Web(T1071.001)でHTTPS越しのC2・エクスフィルトレーションが行われます。MITRE T1071.001です。
想定インパクトです。
- 開発者端末からのクラウド横展開により、ストレージバケットやCIシークレットの一括窃取、本番環境への踏み台化が起き得ます。
- VCSやパッケージレジストリの権限が奪取されると、当該組織自身が次の供給元攻撃の「発信者」になってしまいます。
- 署名鍵・リリース自動化の侵害は、サプライチェーン全体の信用を毀損し、法的・規制対応コストと機会損失が長期化します。
セキュリティ担当者のアクション
優先度順に、現実的な手順へ落とし込みます。時間軸で段階化することで、現場の実装負荷をならします。
-
0〜24時間(封じ込めと初動)
- 影響範囲の特定です。
- 2026-03-31の約3時間の悪性公開窓に、開発端末・CI・検証環境で「axios関連の依存解決」が走った痕跡を確認します。EDR/プロキシ/DNSログで、node/npm/npxが外部へ接続し追加バイナリを取得したイベントを時系列で抽出します。
- リポジトリのlockfile(package-lock.json/yarn.lock/pnpm-lock.yaml)とビルドログを突合し、当該時間帯に解決されたaxiosのバージョン・リゾルブ元レジストリを棚卸します。ローカル端末はシェル履歴・ターミナルのコマンド実行ログも参照します。
- 侵害前提の封じ込めです。
- 開発端末は完全侵害として扱い、重要端末はクリーンなゴールデンイメージから再構築します(Tenableの推奨に一致)です。
- 全クレデンシャル回転です。範囲は少なくとも、GitHub/GitLabのPAT・SSH鍵、クラウド(AWS/GCP/Azure/OCI)の長期キー、コンテナ/パッケージレジストリのトークン、CIシークレット、SSO/OAuthアプリのトークン、npmのアクセストークンを含みます。使い回しの再発防止も同時に徹底します。
- 永続化の確認と除去です。
- Windowsはスケジュールタスク・Runキー・サービス、macOSはLaunchAgents/LaunchDaemons、Linuxはcrontab/systemdユーザユニットを点検し、当該時間帯に作られた不審エントリを除去します。
- 影響範囲の特定です。
-
2〜7日(再発防止の設計更改)
- 依存解決の安全化です。
- CIではデフォルトでスクリプト実行を無効化します(npmは環境変数npm_config_ignore_scripts=trueや--ignore-scriptsが利用できます)。ネイティブ拡張のビルド等で必要な場合は、パッケージとスクリプトの厳格な許可リストを実装します。
- lockfileの厳守です。CIはnpm ci/pnpm --frozen-lockfile/yarn --frozen-lockfileを標準化し、ジョブ中の自動再解決を禁止します。ローカルの自動更新はプレリリース系ブランチに限定します。
- 自社キャッシュ/プロキシレジストリを導入し、アップストリームからの新規/更新パッケージは初回取り込み時にサンドボックス実行・静的解析・署名/プロヴェナンス検証を通過させる「検疫」を設けます。
- 発行者アカウントとトークン管理の強化です。
- npm・GitHub/GitLab等の発行権限は組織管理下に一元化し、2FAを「書込必須」に設定します。発行トークンは短期・スコープ限定・IP制限を原則とし、長期トークンは廃止します。
- リリースパイプラインから人手の秘密情報を排除し、署名/プロヴェナンスの自動付与と検証をCIに組み込みます(ソース由来の追跡可能性の確保)です。
- 検知とハンティングです。
- ハイレベルのハイシグナル検知を用意します。例として、node_modules配下からのプロセス生成、npm実行直後のPowerShell/curlの起動、開発端末からの新規国・新規ASN宛のTLS外向きフロー、開発端末からのクラウドメタデータサービスアクセス(169.254.169.254)等を相関します。
- 依存解決の安全化です。
-
30日以内(文化とガバナンス)
- 「更新の速さ」と「検証の深さ」の再定義です。自動バンプは三層(パッチ/マイナー/メジャー)でゲートを分け、パッチでも「実行スクリプトを含む更新」は人間の承認またはサンドボックスの合格を必須にします。
- 依存の所有権マップです。ビジネスクリティカルなアプリが依存する上位100パッケージの台帳を作り、各メンテナのセキュリティ衛生(発行体制・2FA・組織)を定期評価します。
- レッドチーム/ピンクチーム演習で「開発端末からのクラウド横展開」シナリオを年2回以上テストし、検知・封じ込めの現実解像度を上げます。
なお、今回の手口に対応するATT&CKの主要参照は以下です(技術的理解の助けとして)。
- Supply Chain Compromise(T1195): https://attack.mitre.org/techniques/T1195/
- Valid Accounts(T1078): https://attack.mitre.org/techniques/T1078/
- Command and Scripting Interpreter(T1059): https://attack.mitre.org/techniques/T1059/
- Scheduled Task/Job(T1053): https://attack.mitre.org/techniques/T1053/
- Boot or Logon Autostart Execution(T1547): https://attack.mitre.org/techniques/T1547/
- Unsecured Credentials(T1552): https://attack.mitre.org/techniques/T1552/
- Credentials from Password Stores(T1555): https://attack.mitre.org/techniques/T1555/
- Application Layer Protocol: Web(T1071.001): https://attack.mitre.org/techniques/T1071/001/
最後に一言です。3時間の事故は、不運な偶然ではなく、設計の歪みが可視化された瞬間です。スピードを損なわずに安全を高める方法はあります。更新の自動性を「検証の自動性」とペアで設計し直すこと。開発端末を「本番と同格の高価値資産」として扱うこと。これらを今日から実装していくことが、次の3時間を凡ミスの時間ではなく、平穏な3時間に変える一歩になります。
参考情報
- Tenable GTIG: FAQ about the Axios npm supply chain attack by North Korea-nexus threat actor UNC1069(一次分析): https://www.tenable.com/blog/faq-about-the-axios-npm-supply-chain-attack-by-north-korea-nexus-threat-actor-unc1069
- MITRE ATT&CK(テクニック参照): https://attack.mitre.org/techniques/T1195/ ほか(本文リンク参照)です。
背景情報
- i axiosは、HTTPリクエストを簡素化するために広く使用されているJavaScriptライブラリであり、1.xブランチは毎週1億回以上ダウンロードされています。攻撃者は、axiosのメンテナアカウントを侵害し、悪意のある依存関係を注入しました。
- i 攻撃者は、npmアカウントを侵害し、悪意のあるバージョンを公開するために長期的なアクセス・トークンを使用しました。これにより、正当なリリースのプロセスを回避しました。