Anthropicの Claude Code が再びニュースになりました。そして、最高の理由ではありません。
Anthropic が Claude Code のソースコードを流出させ、その直後に Adversa AI によって重大な脆弱性が発見されました。
Claude Code 流出
2026年3月31日、Anthropic は誤って Claude Code v2.1.88 のデバッグ JavaScript ソースマップを npm に含めてしまいました。数時間以内に、研究者の Chaofan Shou がソースマップを発見し、X に投稿することで、難読化された Claude Code のコードを検査する世界規模の競争が始まりました。
ブリティッシュコロンビア大学の25歳の学生である Sigrid Jin は、Yeachan Heo と協力して Claude Code を再構築しました。Yahoo によると、「2人の人間、10個の OpenClaws、MacBook Pro ラップトップ、そして数時間で、人気のある AI エージェントのソースコードを再作成し、世界と共有しました」とのことです。インターネットに上がったものは、インターネットから降りてくることはないことが証明されました。
その結果、1,900 個のファイルで構成される 512,000 行の TypeScript がインターネット上に残っています。
Anthropic にとっては、ぎこちないですが、壊滅的ではありません。「Claude Code の流出は実際のリスクを提示していますが、モデルの重み、トレーニングデータ、または顧客データが漏洩するのと同じではありません。公開されたのは、現在のバージョンの Claude Code がどのように設計されて機能するかについての、より運用上の設計図のようなものです」と、Tanium のセキュリティとプロダクト設計研究の上級ディレクターである Melissa Bischoping は説明しています。
重要な点は、研究者が Claude Code がどのように機能することを意図しているかを見ることはできますが、流出に Claude モデルの重み、トレーニングデータ、顧客データ、API、認証情報が含まれていないため、それを再作成することはできません。「エクスプロイテーションへの絶対確実なロードマップではありませんが、ツールが入力をどのように処理し、権限を強制し、悪用に抵抗するかについての意味のある洞察です」と Bischoping は続けています。
「この流出からの別のリスク層は、敵対者がこの設計図を使用して、Claude Code のように見えて動作するが、マルウェアをインストールするか、認証情報とデータを収集する見た目に似たものを構築する可能性があります」と彼女は付け加えています。
Anthropic にとってはぎこちなく、恥ずかしいことですが、Claude Code に直接的な害はありません。
Claude Code の脆弱性
しかし、Adversa AI Red Team によって Claude Code 自体に本物の重大な脆弱性が発見されました。「Claude Code は、開発者がコマンドラインから Claude と直接対話できる 519,000 行以上の TypeScript アプリケーションです。ファイルを編集したり、シェルコマンドを実行したり、コードベースを検索したり、git ワークフローを管理したり、複雑なマルチステップの開発タスクを調整したりできます」と Adversa は報告しています。
Claude Code には、許可ルール(特定のコマンドを自動承認)、拒否ルール(特定のコマンドをハードブロック)、および質問ルール(常にプロンプト)に基づく権限システムが含まれています。Adversa は例を示しています:
{ "deny": ["Bash(curl:*)", "Bash(wget:*)"],
"allow": ["Bash(npm:*)", "Bash(git:*)"] }
curl または wget を許可しないでください(データ流出を防ぐため)。ただし、npm と git コマンドを自動許可します(一般的な開発ツール)。
これは正しく、合理的に見えます。ただし、欠陥は拒否ルールをバイパスできるということです。「権限システムは AI エージェントと開発者のシステム間の主要なセキュリティ境界です」と Adversa は報告しています。「それが静かに失敗すると、開発者はセーフティネットを持ちません。」
この問題は、パフォーマンスの問題の発見に続く Anthropic の改善への欲求から生じています。複雑な複合コマンドは UI をフリーズさせていました。Anthropic は、分析を 50 のサブコマンドでキャップし、それ以上の場合は汎用の「質問」プロンプトにフォールバックすることでこれを修正しました。コードコメントは「50 は太っ腹です:正当なユーザーコマンドはそんなに分割されません。キャップ上では、「質問」にフォールバックします(安全なデフォルト — 安全性を証明できないため、プロンプトを求めます)」と述べています。
Adversa が発見した欠陥は、このプロセスが操作される可能性があるということです。Anthropic の仮定は、プロンプトインジェクション(悪意のある CLAUDE.md ファイルが AI に正当なビルドプロセスのように見える 50 以上のサブコマンドパイプラインを生成するよう指示する)から生成された AI コマンドを考慮に入れていません。
これが完了すると、「behavior: ‘ask’, // NOT ‘deny’」が即座に発生します。「拒否ルール、セキュリティ検証関数、コマンドインジェクション検出 — すべてスキップされました」と Adversa は書いています。51 番目のコマンドは必要に応じて ask に戻りますが、ユーザーにはすべての拒否ルールが無視されたという表示はありません。
Adversa は、動機付けられた攻撃者が悪意のあるリポジトリの CLAUDE.md に本物そっくりのビルドステップを埋め込む可能性があると警告しています。それはルーチンに見えるでしょうが、カウントが 50 を超えると、サブコマンドごとの分析は実行されません。これにより、攻撃者は SSH 秘密キー、AWS 認証情報、GitHub トークン、npm トークン、または Env シークレットを流出させることができます。大規模な認証情報窃盗、サプライチェーン侵害、クラウドインフラストラクチャ侵害、および CI/CD パイプライン中毒につながる可能性があります。
「テスト中、Claude の LLM セーフティレイヤーは独立して明らかに悪意のあるペイロードをキャッチし、実行を拒否しました。これは優れた多層防御です」と Adversa は書いています。「ただし、権限システムの脆弱性は LLM レイヤーに関係なく存在します — これはセキュリティポリシー施行コード内のバグです。正当なビルド命令として見える十分に構成されたプロンプトインジェクションは、LLM レイヤーもバイパスできる可能性があります。」
翻訳元: https://www.securityweek.com/critical-vulnerability-in-claude-code-emerges-days-after-source-leak/