週1億回ダウンロードされる部品が、3時間だけ汚染された
JavaScriptの定番ライブラリ「axios」が乗っ取られたのは2026年3月31日。そして2026年7月29日、Amazonが「あの一連の攻撃は北朝鮮系だ」と公表しました。世界では大きく報じられているのに、日本語ではほとんど誰も書いていません。日本の開発現場にこそ関係のある話を、確信度まで含めて整理します。
📋 この記事の内容
あなたの会社のWebサービスは、いくつの「他人が書いたプログラム」で動いているでしょうか。
現代のソフトウェア開発では、すべてを自分で書く人はいません。世界中の誰かが公開した部品(ライブラリ)を組み合わせて作ります。JavaScriptの世界では npm という巨大な部品倉庫があり、コマンドひとつで数千個の部品が自動的にダウンロードされます。
便利です。そして、その便利さがそのまま攻撃経路になります。倉庫にある部品のひとつに悪意あるコードを混ぜれば、それを使っている世界中の開発者のパソコンとサーバーに、自動的に配られるからです。
2026年3月31日、それが実際に起きました。標的は axios。週に1億回以上ダウンロードされる、JavaScript開発の超定番ライブラリです。
⚠️ この記事の前提
本記事は Amazon(AWS)の公式発表、axiosメンテナ自身が公開したポストモーテム(事後検証)、および複数の独立した報道にもとづきます。国家への帰属(アトリビューション)は、断定ではなく「確信度つきの評価」です。本記事ではその確信度も含めて正確に伝えることを重視し、誰が・どの程度の確からしさで・何を根拠に言っているかを明示します(詳しくは第4章)。
🇯🇵 日本語で誰も書いていない、という異常
まず、この記事を書いた理由から
当サイトでは、日本語と英語のセキュリティ情報を毎日集めて比較しています。2026年8月1日時点の集計は、次のようになりました。
| テーマ | 世界の報道 | 日本語の報道 | 偏り |
|---|---|---|---|
| 北朝鮮系の攻撃グループ | 9件 | 0件 | 🔴 10.4倍 |
| ランサムウェア(比較用) | 70件 | 59件 | 🟢 0.7倍 |
| フィッシング(比較用) | 63件 | 8件 | 🟠 4.6倍 |
表1:当サイトの収集データによる集計(日本語記事898本/世界1,500本を、同一事件の重複をまとめたうえで比較)
調べた全56テーマの中で、「北朝鮮系の攻撃グループ」の偏りは最大でした。日本語の記事898本を「Lazarus」「ラザルス」「北朝鮮」「DPRK」「Kimsuky」で全文検索して、本当に0件です。
「報道が無い」は「関係が無い」ではありません
むしろ逆です。この記事で扱う axios も debug も chalk も、日本のWeb開発現場で日常的に使われている部品です。日本語の情報が無いということは、日本の開発者が気づく手段が無いということでもあります。報道の空白は、安全の証明ではなく、単なる空白です。
ちなみに、この件については米国のCISA(サイバーセキュリティ・インフラセキュリティ庁)が2026年4月20日に公式アラートを出しています。国レベルで注意喚起されるほどの事案が、日本語ではほぼ流通していない。これがこの記事を書いた理由です。
第1章 おわり — 次は第2章
📈 3段階で進んだ、1年がかりの攻撃
いきなり本命を狙ったわけではありませんでした
Amazonの分析でいちばん興味深いのは、これが単発の事件ではなく、1年かけて規模を広げた「段階的な作戦」だったという指摘です。
| 時期 | 標的パッケージ | 手口 | 位置づけ |
|---|---|---|---|
| 2025年 3月 | typo-cryptoほぼ無名のパッケージ | 最初から偽物として公開(乗っ取りではない)。特定の入力を受けたときだけ、OSごとに使い分けた第2段階を外部から取得 | 🟡 練習台 小さな標的で手口を試す |
| 2025年 9月 | debug / chalk合計20億回超のDL規模 | メンテナがそっくりのnpm偽サイトでフィッシングされ、アカウントを奪われる。ブラウザ内で送金先アドレスを書き換える仕掛け | 🟠 中規模 暗号資産の窃取狙い |
| 2026年 3月31日 | axios週1億回超のDL | メンテナのPCが標的型の誘導とRAT(遠隔操作ウイルス)で侵害され、npmアカウントを奪われる。悪意ある依存パッケージを注入 | 🔴 本命 3OS対応のRATを配布 |
表2:3段階のキャンペーン(出典:Amazon Threat Intelligence、2026年7月29日)
Amazonの最高情報セキュリティ責任者 CJ Moses 氏は、最初の typo-crypto について「標的が小規模だったからこそ、大舞台に出る前に手口を試せた」という趣旨の説明をしています。本番前のリハーサルだったという見立てです。
debug / chalk の被害は、意外にも小さかった
2025年9月の debug / chalk 事件では、Wiz Research の観測で「約10件に1件のクラウド環境が、わずか2時間のうちに影響を受けた」とされます。規模は甚大です。
ところが攻撃者が実際に盗めた額は、Socket社の報告で約600ドル(日本円で10万円弱)でした。仕掛けが「ブラウザ上で暗号資産の送金先を書き換える」というピンポイントなものだったためです。規模の大きさと、実害の大きさは比例しません。
逆に言えば、同じ規模の配布力で、もっと悪質な仕掛けを配ることもできたということです。そして2026年3月の axios では、実際にそうなりました。
第2章 おわり — 次は第3章
⏱️ axios侵害を、分単位で追う
この章がいちばん実用的です
axios の開発チームは、事件後にポストモーテム(事後検証レポート)を公開しました。隠さず、時刻まで含めて公開されています。ここでは、その内容をそのまま紹介します。
| 時刻(UTC) | 出来事 |
|---|---|
| 3月31日 00:21 | axios@1.14.1 が公開される。悪意ある依存パッケージ plain-crypto-js@4.2.1 が注入されていた |
| 01:00頃 | axios@0.30.4 も公開される(旧系統にも手が回っていた)。同時に外部の検知が動き始める |
| 01:00頃 | コミュニティの利用者がGitHubに「おかしい」と報告。共同メンテナがnpmへ直接連絡 |
| 03:15 | 悪意あるバージョンがnpmから削除される |
| 公開されていた時間:約3時間 | |
表3:axios侵害のタイムライン(出典:axios公式ポストモーテム)
侵入経路は、技術的な脆弱性ではありませんでした。主要メンテナ個人のパソコンが、標的型の誘導とRAT(遠隔操作ウイルス)で乗っ取られ、npmアカウントの認証情報が盗まれたのです。人が狙われました。
この「人を狙う」部分こそが、いま最も進化している領域です。2026年のフィッシングは、ワンタイムパスワードを入れても止まらない段階に入っています。開発者アカウントを守るうえで直結する話なので、フィッシング3世代の進化もあわせてご覧ください。
そして注入された plain-crypto-js は、macOS・Windows・Linux の3つすべてにRATを仕込むものでした。開発者のパソコンも、ビルドサーバーも、区別なく対象です。
いちばん怖いのは、この一文です
ポストモーテムには「不正な公開を自動的に検知する手段は無かった」と書かれています。気づいたのは自動監視ではなく、たまたま様子がおかしいと気づいた利用者でした。世界で最も使われるライブラリのひとつでさえ、この状態だったのです。
🔧 あなたの環境が影響を受けたかを確認する
axios のメンテナが公式に案内している対処は、次の5点です。2026年3月31日ごろに依存パッケージを更新した心当たりがあるなら、必ず確認してください。
| # | やること | 補足 |
|---|---|---|
| 1 | バージョンを戻すaxios@1.14.0 または axios@0.30.3 へ | 汚染版は 1.14.1 と 0.30.4 の2つ |
| 2 | 残骸を消すnode_modules/plain-crypto-js/ を削除 | これが実体。存在したら侵害の可能性あり |
| 3 | 秘密情報を入れ替える 該当端末の認証情報・鍵をすべてローテート | ここが最重要。RATが動いていた前提で考える |
| 4 | 通信ログを確認するsfrclak[.]com または 142.11.206[.]73 のポート8000への接続 | 接続記録があれば実害を疑う |
| 5 | CI/CDも忘れない 該当期間のビルドで注入したシークレットをローテート | 見落としがちだが被害が大きい |
表4:axios公式が案内する確認・対処手順(通信先は無害化表記)
# いま自分が使っているバージョンを確認する
npm ls axios
上のコマンドで、依存関係の奥に潜んでいる axios も含めて一覧できます。自分で直接使っていなくても、別のライブラリの中で使われていることがほとんどなので、必ず確認してください。
第3章 おわり — 次は第4章
⚖️ 「北朝鮮の仕業」はどこまで確かなのか
ここを飛ばさないでほしい章です
ニュースの見出しは「北朝鮮のハッカーの仕業」と断定形で書かれます。しかし、元の発表を読むと、そこまで強い言い方はしていません。
Amazon の公式ブログの表現は、こうです。
Amazon の実際の言い方
これらのキャンペーンが北朝鮮に関連する攻撃者によるものであると、「中程度の確信度(medium confidence)」で評価する。
根拠:トロイの木馬化されたnpmパッケージ、post-installフックの利用、コードの再利用といった共通の戦術・技術・手順(TTP)、およびC2(指令サーバー)の指標の分析。
「断定」ではなく「中程度の確信度での評価」です。この違いは、とても大きい。
| 確信度 | 意味するところ | 読み手の姿勢 |
|---|---|---|
| 高(high) | 複数の独立した強い証拠が一致している | ほぼ事実として扱ってよい |
| 中(medium) | もっともらしいが、別の説明も否定しきれない | 「そう評価されている」と理解する |
| 低(low) | 断片的で、今後覆る可能性が高い | 参考程度にとどめる |
表5:脅威インテリジェンスにおける確信度の目安(一般的な用法)
では、なぜ「中」なのでしょうか。報道を丁寧に読むと、いくつか無視できない引っかかりがあります。
| 引っかかる点 | 具体的には |
|---|---|
| どの証拠がどの事案を結ぶのか不明 | Amazonは根拠の種類は挙げているが、「この証拠が、この事案とこの事案を繋ぐ」という対応関係は示していない |
| 手口が根本的に違う | debug/chalk はブラウザ内で送金先を書き換える仕掛けで永続化すらしない。axios はpost-installフックでRATを仕込む。設計思想が別物 |
| 他社は名指ししていない | debug/chalk について、Amazon以外のベンダーの公開研究は攻撃者を名指ししていない |
| 帰属までの時間差が不自然 | axios は2日で帰属。debug/chalk は10か月後。typo-crypto は16か月後 |
表6:帰属をめぐって指摘されている論点
公平を期すために書き添えると、axios 単体については、より強い裏づけがあります。Google は独自に UNC1069 という攻撃者に帰属させ、その根拠としてWAVESHAPER.V2 というバックドアと、この集団が以前使っていたVPNノードを挙げています。Microsoft も同じ事案を Sapphire Sleet に帰属させました。複数の組織が独立に、同じ方向の結論に達しているのは強い材料です。
この章でいちばん伝えたいこと
「北朝鮮の仕業だ」という情報に接したとき、「誰が」「どの確信度で」「何を根拠に」言っているのかを確認する。この3点を見る習慣があるだけで、情報の受け取り方がまったく変わります。
そして実務的には、攻撃者が誰かはあまり重要ではありません。やるべき対処(第3章と第7章)は、犯人が誰であっても同じだからです。
脅威インテリジェンスの読み方を、もう一段深く
確信度、IOC(侵害の痕跡)、MITRE ATT&CK。この記事で出てきた考え方を体系的に押さえたい方はこちらへ。今回の sfrclak[.]com のような指標を、自分で調べられるようになります。
第4章 おわり — 次は第5章
🎭 名前が多すぎる問題
調べようとした人が、まずここでつまずきます
この事件について調べ始めると、同じ集団が記事によって違う名前で呼ばれていることに気づきます。これは初心者が最初につまずくポイントであり、実は専門家でも混乱の元になっています。
| 呼び名 | 名付け親 | 備考 |
|---|---|---|
| Sapphire Sleet(サファイア・スリート) | Microsoft | 今回の報道で最もよく使われた名前 |
| BlueNoroff(ブルーノロフ) | セキュリティ業界で定着した呼称 | 金銭目的に特化した集団として知られる |
| UNC1069 | Google(Mandiant) | axios を独自に帰属させた際の呼称 |
| STARDUST CHOLLIMA | CrowdStrike 系の命名規則 | 「チョリマ」は北朝鮮関連集団に付く共通の語 |
| Alluring Pisces / CageyChameleon / CryptoCore | 各社 | いずれも重なりがあるとされる |
表7:同一とされる集団の呼び名(出典:Microsoft、Google、Amazon の各発表で言及された対応関係)
なぜこんなことになるのか。各セキュリティ企業が、自分たちの観測データにもとづいて独自に名前を付けているからです。観測範囲が違えば見える活動も違うので、「完全に同一」とは言い切れないまま、重なりだけが確認されるという状態になります。
⚠️ 「Lazarus」という言葉の使われ方に注意
ここで、この記事で最も注意深く書きたい点をお伝えします。
日本語で北朝鮮のサイバー攻撃といえば、まず Lazarus(ラザルス) という名前が挙がります。しかし今回の一連の発表で、Amazon も Microsoft も Google も、「Lazarus」という名前は使っていません。使われたのは Sapphire Sleet / BlueNoroff / UNC1069 です。
Lazarus は「傘」の名前です
Lazarus は、北朝鮮に関連するサイバー活動全体をざっくり指す傘のような言葉として使われることが多く、その下にいくつもの下位グループがあると整理されます。BlueNoroff はその中でも「金を稼ぐ」役割を担うとされる集団です。
ただしこの階層関係の描き方は企業ごとに違い、統一された正解はありません。「Lazarusの仕業」という表現は、間違いとまでは言えないが、解像度が粗いと考えてください。
実務上のコツをひとつ。集団の名前を追いかけるより、「手口」を追いかけるほうが役に立ちます。名前は会社ごとに変わりますが、「メンテナのアカウントを乗っ取って、正規のパッケージに悪意あるコードを混ぜる」という手口は変わりません。そして守り方も、手口に対して決まります。
第5章 おわり — 次は第6章
🇰🇷 もうひとつの顔 ── 韓国での動き
日本にとって、いちばん他人事でない話
npm の話と同じ時期に、韓国からもうひとつの重要な発表がありました。今度はLazarus そのものについてです。
2026年7月末、韓国の4つの機関(国家情報院・警察庁・KISA・金融保安院)が合同で注意喚起を出し、セキュリティ企業 AhnLab がその裏づけとなる調査を公表しました。作戦名は 「Operation Double Barrel(二連銃作戦)」。
| 項目 | 内容 |
|---|---|
| 誰が | Lazarus(国家系)と Gunra ランサムウェア(犯罪系) |
| いつ | 2025年〜2026年上半期 |
| どこを | 韓国の政府機関・暗号資産取引所・IT事業者など。少なくとも72組織にスパイ用バックドアが展開された |
| 入口 | 韓国で導入が義務づけられている金融セキュリティソフトの脆弱性(両者が同じ穴を悪用) |
| 繋がりの根拠 | 同じマルウェアのファイル名・同じ権限昇格ツール・同じC2インフラ・同じSSH鍵のフィンガープリント |
| 役割分担 | Lazarus が諜報のために侵入し、Gunra が同じアクセスを使って暗号化・恐喝 |
表8:Operation Double Barrel の概要(出典:韓国4機関の合同アドバイザリ、AhnLab の調査)
この発表が重い理由は、「国家がやるスパイ活動」と「金目当ての犯罪」の境界が溶けていることを、具体的な技術的証拠つきで示した点にあります。
「うちは狙われるような組織じゃない」が通じなくなる
これまでは「国家系に狙われるのは政府や防衛産業だけ」と考えることができました。しかし国家系が開けた穴を、そのままランサムウェア犯罪者が使うのであれば、話は変わります。諜報価値がゼロの組織でも、身代金の対象としては十分な標的だからです。
そして日本にとって重要なのは、入口が「その国で導入が事実上必須になっているソフト」だったという点です。日本にも、業界ごとに「これを入れることになっている」というソフトウェアは数多くあります。全員が同じものを入れている=一箇所破れば全員に届くという構造は、韓国だけの話ではありません。
取引先の「格付け」で選ばれる時代へ
サプライチェーン攻撃が増えた結果、いまや取引先のセキュリティ体制そのものが取引条件になりつつあります。文字で読むのが大変な方には漫画版もあります。
サプライチェーンの格付けとは → 📖 漫画で読む →第6章 おわり — 次は第7章
🛡️ 日本の開発現場が、今すぐやること
犯人が誰であっても、やることは同じです
第4章で書いたとおり、攻撃者が誰かは実務上あまり重要ではありません。重要なのは「同じ手口が来たときに耐えられるか」です。立場別に整理します。
| 立場 | やること | この事件のどこに対応するか |
|---|---|---|
| 個人・一般利用者 | 直接の対処はほぼ不要。ただし暗号資産を扱うなら送金先アドレスを画面で必ず目視確認する習慣を | debug/chalk の送金先書き換え |
| Web開発者 | npm ls axios で確認。バージョンを固定(lockfile をコミット)し、勝手に上がらないようにする | 3時間だけ存在した汚染版 |
| 開発者(防御強化) | インストール時スクリプトを既定で無効化する(npm ci --ignore-scripts の検討) | axios のpost-installフック |
| ライブラリのメンテナ | npmアカウントに耐フィッシングのMFA(パスキー/セキュリティキー)を設定する | debug/chalk の偽サイトでのフィッシング |
| 情シス・SOC | ビルドサーバーからの外向き通信を制限。CI/CDのシークレットを短命化 | 3OS対応RATの通信 |
| 経営・管理職 | 自社製品に何が入っているかの一覧(SBOM)を作れる状態にする | 「使っているか分からない」問題 |
表9:立場別・今日からやること
特に強調したいのは3行目「インストール時スクリプトの無効化」です。
npm には、パッケージを入れた瞬間に自動でプログラムを実行する仕組み(post-installフック)があります。便利な機能ですが、axios の攻撃はまさにこれを使いました。多くのプロジェクトでは、この機能を使っていない依存パッケージがほとんどです。既定で止めておけば、同種の攻撃の大半は不発になります。
# インストール時スクリプトを実行せずに依存を入れる(CI環境で特に有効)
npm ci --ignore-scripts
ただし、いきなり本番に入れないこと
ネイティブモジュールのビルドなど、インストール時スクリプトが本当に必要なパッケージもあります。無効化するとビルドが壊れることがあるので、まず検証環境で試し、必要なものだけ個別に許可するという順序で進めてください。安全策を入れて業務が止まっては本末転倒です。
📝 確認チェックリスト
npm ls axiosを実行して、1.14.1 と 0.30.4 が入っていないことを確認しましたかnode_modulesの中に plain-crypto-js が残っていませんか- 2026年3月31日前後にビルドしたCIのシークレットをローテートしましたか
- lockfile(
package-lock.json)をリポジトリにコミットしていますか - 依存パッケージの更新を自動で本番に反映していませんか
- ビルドサーバーは外向き通信が制限されていますか
- あなたがメンテナなら、npmアカウントに耐フィッシングのMFAを設定していますか
- 自社サービスがどの外部部品を使っているか一覧できますか
「配布物を汚染する」はAIの世界でも起きています
今回はnpmパッケージでしたが、まったく同じ構造の攻撃がAIモデルの配布でも起きています。悪意あるモデルファイルを見抜く練習もどうぞ。
AIモデルのサプライチェーン攻撃 → 🎮 AIモデル鑑定士で練習 →第7章 おわり — この先はまとめです
📋 まとめ ── 3つの持ち帰り
読んで終わりにしないために
| # | わかったこと | だから何をするか |
|---|---|---|
| 1 | 狙われたのは技術ではなく「人」だった axios も debug/chalk も、メンテナ個人が騙されて始まった | アカウントの守り(耐フィッシングMFA)が最優先。ライブラリの安全性は、メンテナの安全性で決まる |
| 2 | 汚染はわずか3時間。それでも世界中に届く debug/chalk では2時間で1割のクラウド環境に到達したとの観測も | バージョンを固定し、自動更新をそのまま本番に流さない。「速く上げる」より「一拍おく」 |
| 3 | 帰属は「断定」ではなく「中程度の確信度」 見出しの断定形と、元発表の慎重さには差がある | 誰が・どの確信度で・何を根拠に、を確認する。そして犯人が誰でも対処は同じと割り切る |
表10:この記事の結論と、次の行動
✅ 今日やる3ステップ
ステップ1(3分・開発者):手元のプロジェクトで npm ls axios を実行し、1.14.1 / 0.30.4 が無いことを確認する。
ステップ2(10分・開発者):package-lock.json がリポジトリにコミットされているか確認する。されていなければ、今日コミットする。
ステップ3(5分・全員):自分が管理している開発系アカウント(npm・GitHub・クラウド)のMFAを見直し、SMSではなくパスキーやセキュリティキーに切り替える。
最後に、この記事を書きながら考えたことを書いておきます。
今回いちばん印象に残ったのは、axios のメンテナが公開したポストモーテムにあった「不正な公開を自動的に検知する手段は無かった」という一文でした。
週に1億回ダウンロードされるライブラリです。世界中の企業が、金融も医療も含めて、その上にサービスを載せています。それでも守っていたのは、たいてい少人数の、多くは無償の開発者でした。そして異変に最初に気づいたのは、自動監視ではなく「なんかおかしい」と思った一人の利用者だったのです。
私たちは、この構造の上に生活しています。誰かの善意で公開された部品を、無料で、当たり前のように使っている。だからこそ、使う側にもできることがあります。バージョンを固定する。更新を確認してから入れる。おかしいと思ったら報告する。どれも地味ですが、今回axiosを救ったのは、まさにその地味な行動でした。
そして最後にもう一度。日本語の情報が無いことは、日本が安全であることを意味しません。この記事が、その空白を少しでも埋められていれば幸いです。
第8章 おわり — お読みいただきありがとうございました
🧭 このシリーズについて
当サイトでは、日本語と海外のセキュリティ報道を毎日集めて突き合わせ、「世界では動いているのに、日本ではまだ話題になっていない」テーマを探しています。この記事も、その分析から生まれた1本です。
- 【出発点】世界のニュースは、日本の数週間後を映しているか第1章の「世界9件・日本0件」という数字の出どころ。全56テーマ中で最大の偏りだったことが分かります
- 📍 いまお読みの記事:週1億回ダウンロードされる部品が、3時間だけ汚染されたnpmサプライチェーン攻撃と、北朝鮮系への帰属をめぐる確信度
- AIが実在する会社を勝手に攻撃した同じ「配布物を汚染する」攻撃のAI版。評価中のAIが悪意あるパッケージをPyPIへ公開し、15の実システムで実行されました
- 守るための機器が、いちばん狙われている同じ「信頼した相手」経由の侵入。こちらは取引先のVPN認証情報が入口になり、最後はESXiの暗号化に至ります
- ワンタイムパスワードを入れても、もう止まらないメンテナが狙われた「フィッシング」そのものが、今どこまで進化したか
- 「いつものChrome」が攻撃者の通り道になる日Chaosランサムウェアの新バックドア msaRAT。ブラウザにC2通信を代行させる手口
📁 参考にした情報源
- 【一次情報】Amazon Web Services 公式ブログ(2026年7月29日)─ Amazon identifies North Korean hacker group behind open source supply chain attacks(「medium confidence」の原文)
- 【一次情報】axios 公式ポストモーテム ─ Post Mortem: axios npm supply chain compromise(GitHub Issue #10636)(バージョン・時刻・対処手順の出典)
- 【公的機関】CISA(2026年4月20日)─ Supply Chain Compromise Impacts Axios Node Package Manager
- The Hacker News(2026年7月30日)─ Amazon Links Debug and Chalk npm Hijack to North Korea’s Sapphire Sleet(帰属の根拠に残る不明点を指摘)
- CyberScoop(2026年7月30日)─ A little-known npm package was North Korea’s warm-up act for the axios hack
- BleepingComputer(2026年7月31日)─ Amazon links Debug, Chalk NPM supply-chain attacks to North Korean hackers
- Infosecurity Magazine(2026年7月31日)─ AWS Blames North Korean Group for Axios and Other npm Supply Chain Attacks
- The Record(2026年7月30日)─ North Korea’s Lazarus Group sharing tools with ransomware hackers, South Korean agencies warn(Operation Double Barrel)
- Unit 42(2026年7月15日更新)─ The npm Threat Landscape: Attack Surface and Mitigations
- 集計データ:日本語/世界の報道量比較は、当サイトが独自に収集した記事(日本語898本・世界1,500本/2026年8月1日時点)を、同一事件の重複をまとめたうえで集計したものです
- 次回見直しの目安:2026年11月(帰属の確信度が更新される可能性、追加のnpm侵害、国内での注意喚起の有無を反映)


コメント