エンジニアの思い立ったが吉日

このブログでは、「あ、これ面白い!」「明日から仕事で使えそう!」と感じたIT関連のニュースやサービスを、難しい言葉を使わずに分かりやすく紹介しています。ITに詳しくない方にも楽しんでもらえるような情報を発信していくので、ぜひ「継続的な情報収集」の場としてご活用ください。

Claude Code ソースコード流出騒動:被害を防ぐためのセキュリティ対策まとめ【2026年3月】

2026年3月31日、Claude Codeのソースコード(約51万行のTypeScript)がnpmに誤って公開されるという事態が発生しました。その後、この流出騒動を悪用したサイバー攻撃がGitHub上で展開されており、Claude Codeユーザーを標的にしたマルウェア配布が確認されています。本記事では事態の経緯・自分への影響・具体的な対策を解説します。

問題の症状

事件の概要:

[事態の経緯]
2026-03-31: Claude CodeのTypeScriptソースコード
            (約51万行)がnpmパッケージに
            誤って同梱・公開される
            ↓
2026-04-01: 流出騒動に便乗したGitHub上の
            マルウェア配布が開始される
            ↓
2026-04-02: Anthropicが流出を認め、
            該当バージョンを削除・修正版を公開

攻撃の手口:

攻撃者はClaudeの「流出ソースコード」を装った以下のGitHubリポジトリを作成し、ユーザーを誘導しました:

偽装リポジトリ例(実際には確認済みの悪意あるリポジトリ):
- github.com/[攻撃者]/claude-code-leaked-source
- github.com/[攻撃者]/anthropic-claude-full-source
- README.mdに「流出したClaudeのソースコード」と記載

これらのリポジトリをクローン・実行すると情報窃取マルウェアが動作し、以下の情報が漏洩するリスクがあります:

  • システム上のAPIキー・トークン
  • .envファイルの内容
  • SSH鍵
  • ブラウザに保存された認証情報

原因の解説

ソースコードが流出した経緯

Anthropicによると、npmパッケージのビルドパイプラインにミスがあり、本来含めるべきでなかったTypeScriptソースファイルがパッケージに同梱されてしまいました。これは意図的な情報公開ではなく、パッケージング工程での設定ミスによるものです。

流出したもの: - Claude CodeのTypeScriptソースコード(約51万行) - ただし、APIキー・ユーザーデータ・学習データは含まれていない

流出していないもの: - Claudeモデルの重み・パラメータ - ユーザーの会話データ - APIキーやシークレット

流出を悪用した攻撃の仕組み

1. 攻撃者が流出ソースを基に「偽公式ツール」を作成
2. GitHubに偽リポジトリを公開
3. X(Twitter)・Reddit・Discordで宣伝
4. ユーザーが「公式の詳細コード」と誤解してインストール
5. マルウェアが実行されAPIキー等を外部送信

解決策:被害を防ぐセキュリティ対策

対策1:Claude Codeを公式チャンネルのみからインストール・更新する

# 公式のインストール方法(npm経由)
npm install -g @anthropic-ai/claude-code

# バージョン確認(最新版か確認)
claude --version

# GitHubの公式リポジトリ確認
# https://github.com/anthropics/claude-code のみが公式

注意: GitHub上の非公式リポジトリから「流出コード」「詳細版」「拡張版」などをインストールしないでください。

対策2:インストール済みパッケージのハッシュ確認

# インストール済みClaude Codeのチェックサム確認(npmを通じた確認)
npm info @anthropic-ai/claude-code

# ローカルインストールのハッシュ確認
npm ls -g @anthropic-ai/claude-code

対策3:APIキーを直ちにローテーションする

3月31日〜4月2日の間に非公式のClaude関連ツールをインストールした場合、APIキーが漏洩した可能性があります:

APIキーのローテーション手順:
1. console.anthropic.com にログイン
2. 設定 → API Keys → 該当キーを「Revoke」
3. 新しいAPIキーを発行
4. 環境変数・.envファイルを更新

対策4:.envファイルと認証情報の保護

# .envファイルがGitに含まれていないか確認
cat .gitignore | grep .env

# .gitignoreに追加(なければ)
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore
echo ".env.*.local" >> .gitignore

# 過去のコミットに.envが含まれていないか確認
git log --all --full-history -- "**/.env"
# シークレットスキャンツールで漏洩チェック
npx trufflesecurity/trufflehog git file://. --only-verified

対策5:不審なプロセス・ネットワーク接続を確認する

# 不審なプロセスを確認(macOS/Linux)
ps aux | grep -v grep | grep -E "(node|python|bash)" | head -20

# 不審なネットワーク接続を確認
netstat -an | grep ESTABLISHED | grep -v "127.0.0.1"

# Windowsの場合
netstat -ano | findstr ESTABLISHED

補足・注意点

Anthropicの対応

Anthropicは以下の対応を実施しました: 1. 流出バージョンのnpmからの削除 2. 修正版(ソースコードを含まないビルド)の公開 3. 公式ブログ・Xで謝罪と経緯説明 4. ビルドパイプラインの改修

今回の教訓

  • AIツールも通常のセキュリティ原則が適用される:「AIツールだから信頼できる」ではなく、通常のソフトウェアと同様にインストール元を確認する
  • ソーシャルメディアの「流出コード」は疑う:本物の流出であっても、それを悪用した偽装コードが即座に登場するため
  • APIキーは定期的にローテーションする:漏洩したかどうかに関わらず、3〜6ヶ月ごとのローテーションを習慣化する

参考:正規のAnthropic関連リポジトリ

公式GitHubリポジトリ(確認済み):
https://github.com/anthropics/        ← 組織アカウント
https://github.com/anthropics/anthropic-sdk-python
https://github.com/anthropics/anthropic-sdk-js

参照URL一覧

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

engineer-kichizitsu.net

当サイトは、アフィリエイト広告を使用しています。