Xを見ていたら「Anthropicのソースコードが漏洩した」という話が流れてきました。
普段からClaude Codeを使いまくっている自分にとって、これは他人事じゃないです。「え、自分のパソコン大丈夫?」と思って調べてみたら、思いのほか学びが多かったので全部書きます。
結論から言うと、自分の環境は安全でした。でもその確認プロセスで「npmって何?」「axiosって何?」を理解してはじめてわかったことがたくさんありました。やってみて初めて、自分でも確認できるんだとわかりました。
目次
何が起きたのか
2026年3月31日、Anthropicが「Claude Code」というAIコーディングツールのソースコードを誤って公開してしまいました。
ハッキングされたわけじゃないんです。Anthropicの開発チームが、リリース作業の中でうっかり内部デバッグ用のファイルを一緒に公開してしまったというヒューマンエラーでした。具体的には、Bun(開発で使っているランタイム)がデフォルトでソースマップ(.mapファイル)を生成するのですが、それを除外する設定をし忘れたまま公開してしまったようです。
漏洩の規模
- 約1,906ファイル・513,000行のコードが外から丸見えに
- 59.8MBのJavaScriptソースマップが含まれていた
- 未リリース機能の詳細・内部アーキテクチャまで入っていた
- 数時間でGitHubにコピーされ、数千スターを獲得
Anthropicは「顧客データや認証情報の流出はない」と声明を出しましたが、世界中の開発者たちがその中身を解析し始めました。「安全第一」を売りにしているAI企業が自分のコードをうっかり公開してしまうという、なんともいえない事態でした。
同時に「もう一個」の事件が起きていた
実はこれと同じタイミング(3月31日)に、まったく別の攻撃が起きていました。
「axios(アクシオス)」というツールへのサプライチェーン攻撃です。こっちのほうが、一般ユーザーへの直接的な被害という意味では深刻でした。
Googleの脅威インテリジェンスグループの調査によると、攻撃者はUNC1069と呼ばれる組織的なハッカーグループ。金銭目的のサイバー犯罪集団です。
- axiosのメンテナー(管理者)のnpmアカウントを乗っ取る
- アカウントのメールアドレスを変更してロックアウト
- 悪意あるコードを仕込んだ偽バージョンを公開(1.14.1・0.30.4)
- GitHubのCIパイプラインを使わずnpm CLIから直接公開(検知を回避するため)
この偽バージョンをダウンロードすると、パソコンにRAT(リモートアクセス型トロイの木馬)がインストールされます。つまり、パソコンを遠隔操作される状態になってしまうわけです。
npmって何?axiosって何?
正直に言うと、最初この騒動を読んでいて「npmって何?」「axiosって何?」状態でした。説明なしに「npm経由でインストールした人は確認してください」と言われても、自分がnpm経由かどうかすら判断できなかったんです。
調べてわかったことを自分なりにまとめてみます。
npmとは
npm(Node Package Manager)は、JavaScriptのプログラムやツールを配布・インストールするための仕組みです。Macのアプリで例えるとわかりやすかったので、表にしてみました:
| 普通のMacアプリ | npmパッケージ |
|---|---|
| App Store | npmレジストリ(公開場所) |
| アプリのインストール | npm install コマンド |
| アプリの更新 | npm update コマンド |
開発者向けのツールはApp StoreではなくnpmComで配布されていることが多く、Claude CodeのCLI版もnpmで配布されています。
axiosとは
axiosは、プログラムがインターネット通信をするときに使うJavaScriptのライブラリ(部品)です。
調べていて面白い例えを見つけました:
アプリが「このデータをサーバーから取ってきて」とお願いするときの宅配便みたいな存在。
世界中のアプリやツールで使われている超メジャーな部品で、月間ダウンロード数は1億回以上だそうです。Claude Codeもこのaxiosを内部で使っていました。
だから「axiosが汚染された=Claude Codeを経由して感染する可能性がある」という話になったわけです。
サプライチェーン攻撃とは
これも最初は意味がわからなかったのですが、サプライチェーン攻撃とはターゲット本体を直接攻撃せず、そのターゲットが使っている部品・ツールに攻撃を仕込む手法のことです。
食べ物で例えると「食品工場ではなく、全工場が使っている材料メーカーに毒を入れる」ような感じ。axiosは1億回ダウンロードされているので、そこに仕込めば一度に膨大な数のパソコンに被害を与えられるわけですね。
「自分は大丈夫?」を実際に調べた
「うわ、やばい」と思いながらターミナルを開きました。正直、コマンドを打っても何が起きているのかよくわからない状態でしたが、一個ずつ確認していきました。
影響を受ける条件を確認
以下の条件に全部当てはまる人が要確認:
- Claude Codeをnpmコマンドでインストールしていた
- 2026年3月31日(日本時間:午前9時21分〜12時29分)の間にインストールまたはアップデートした
この時間帯以外、またはnpm以外の方法で使っている人はほぼ無関係です。
ステップ1:Claude Codeの場所を確認
which claude
自分の結果は not found。which というコマンドを打つと、そのツールがどこにインストールされているかを教えてくれます。「not found」と出たということは、npmでClaude Codeをインストールしていないということです。この時点でほぼ安全確定でしたが、念のため続けました。
ステップ2:npmにaxiosが入っているか確認
npm list -g axios
自分の結果:
/usr/local/lib
└── (empty)
-g はグローバルインストール(システム全体)という意味だそうです。(empty) ということは、axiosがグローバルにインストールされていません。クリアでした。
ステップ3:デスクトップアプリの中を確認
find /Applications/Claude.app -name "package.json" -path "*/axios/*" 2>/dev/null
Finderで「Claude.appを右クリック→パッケージの内容を表示」を開いてみたら中が真っ白でした(そういう構造のアプリもあるんですね)。なのでコマンドで中身を直接検索しました。何も表示されませんでした。axiosなし。クリアでした。
ステップ4:攻撃の証拠となるパッケージを確認
npm list -g plain-crypto-js
plain-crypto-js は今回の攻撃で使われた悪意あるパッケージの名前です。これが入っていれば「感染の証拠」になります。自分の結果は (empty) でクリアでした。
番外編:ホームディレクトリ全体も検索してみた
念のため、もう一歩広い範囲でも確認してみました。
find ~ -type d -name "plain-crypto-js" 2>/dev/null
これはMacのホームディレクトリ全体の中に plain-crypto-js というフォルダが存在するかどうかを探すコマンドです。2>/dev/null はエラーメッセージを非表示にするおまじないで、見つかった場合だけ結果が表示されます。
実行したら、かなり時間がかかりました。ホームディレクトリ全体を検索するので、ファイル数が多いとしばらく待つことになります。待ち続けて…何も表示されませんでした。何も出ない=存在しないということなので、これもクリアです。
「あった!」と焦ったら安全なaxiosだった
確認中に一度だけ、ドキッとした瞬間がありました。
~/wordpress-mcp/node_modules/ の中に axios というフォルダを見つけたんです。「これ…入ってる?」と思って焦ったんですが、これはwordpress-mcp(WordPressと連携するツール)が依存関係として自動的に使っているもの。バージョンを確認してみると…
"version": "1.11.0"
v1.11.0 でした。問題のあったバージョンは 1.14.1 と 0.30.4。完全に無関係です。
今回改めてわかったのは、「axiosが入っている=危険」ではなく、「問題のバージョンかどうか」を確認することが大事だということ。axiosは世界中のツールで使われている超メジャーなライブラリなので、どこかのフォルダの中に入っていること自体は普通のことなんですね。「入ってること」より「バージョンが何か」を見る、というのが今回の学びでした。
全部クリアだった
| 確認項目 | 自分の結果 |
|---|---|
which claude | not found(npm経由でない)✅ |
| npmグローバルのaxios | empty(なし)✅ |
| Claude.app内のaxios | なし ✅ |
| plain-crypto-js(感染の証拠) | empty(なし)✅ |
全項目クリア。安全確認完了でした。
ちなみにWindowsのVSCodeでも使っているので、そちらも確認しました。コマンドプロンプトで:
dir "%USERPROFILE%\.vscode\extensions" /s /b | findstr "axios"
こちらも何も表示されませんでした。
VSCode拡張・デスクトップアプリはなぜ安全なのか
自分も最初「なんでVSCode拡張は安全なの?」と疑問に思って調べました。
VSCode拡張はVSCode Marketplace(Microsoftが管理する拡張機能の配布場所)からインストールされます。これはnpmレジストリとはまったく別の仕組みなんです。今回の攻撃はnpmレジストリを狙ったものだったので、Marketplace経由のツールは影響を受けないということでした。
| インストール方法 | 経由先 | 今回の影響 |
|---|---|---|
npm install でインストール | npmレジストリ | 要確認 |
| VSCode拡張(Marketplace) | VSCode Marketplace | 影響なし |
| デスクトップアプリ(dmgファイル) | Anthropic公式サイト | 影響なし |
| 公式Native Installer | Anthropic公式サイト | 影響なし |
つまり「npmを経由していなければ無関係」ということです。ちなみにAnthropicは今後、CLIのインストール方法についてもnpmではなくNative Installerを推奨する方向に動いているようです。今回の件を踏まえて、より安全な配布経路への移行が進みそうですね。
もし感染していた場合はどうするか
万が一、確認の結果 plain-crypto-js や汚染されたバージョンのaxiosが見つかった場合:
- そのパソコンは完全に侵害されたと考える
- そのパソコンで使っていたAPIキー・パスワードをすべて変更(ローテーション)する
- OSのクリーンインストールを検討する
「念のためツールだけ削除すればOK」という話ではないようです。RATが入っている場合、何が抜き取られたか追跡が難しいので、慎重に対応するのが安全だと思います。
まとめ
Xで「漏洩した」と流れてきたとき、正直かなり焦りました。でも落ち着いて調べたら、自分の環境は完全に安全でした。
今回の件で整理できたこと:
- ソースコード漏洩(Anthropicのヒューマンエラー)とaxios攻撃は別の事件が同日に起きていました
- npmを使っていない人(VSCode拡張・デスクトップアプリ)は基本的に無関係です
- 不安なときは上のコマンドで自分で確認できます
plain-crypto-jsがない=安全- axiosが入っていてもバージョンを確認すれば判断できる(問題外のバージョンなら無関係)
「セキュリティのニュースが出るたびに不安になるけど、何をどう確認すればいいかわからない」という人は多いと思います。今回みたいに「SNSで見た→自分で確認→安全を確認」という流れを自分で踏めたことは、ちょっと自信になりました。
同じ状況で「え、自分大丈夫?」と思った人の参考になれば嬉しいです。
参考にしたサイト
- Axios Supply Chain Attack Pushes Cross-Platform RAT via Compromised npm Account – The Hacker News
- Inside the Axios supply chain compromise – Elastic Security Labs
- Axios NPM Supply Chain Compromise – SANS Institute
- Axios supply chain attack chops away at npm trust – Malwarebytes
- Axios npm package compromised to deploy malware – Sophos












コメントを残す