脆弱性  ·  2026-10-18

Claude Agent SDK (Python) resume-flag injection → arbitrary command execution at CLI startup

脆弱性High 影響度GlobalCVE-2026-96620
SubprocessCLITransport._build_commandにおけるCVSS 9.2(v4.0)の引数インジェクションの欠陥:resumeオプションは検証なしで別個のargvトークンとしてClaude CLIに渡されるため、ダッシュで始まる値は新しいCLIフラグとして解析される。攻撃者は--mcp-configフラグを注入してstdio MCPサーバーを登録し、CLI起動時に任意のコマンド実行を達成でき、SDKの権限ゲートをバイパスできる。0.2.121で修正済み。NVD RESTで検証済み(2026-10-16公開)。
これは一般的なエージェント自動化パターン(外部から供給されたセッションIDでClaude Codeセッションを再開する)を、エージェントを実行するマシンでの任意のコード実行に変換する。これはAnthropic自身のSDKにおける新しいCLIフラグインジェクション攻撃クラスである:エージェントのガードレールは注入されたMCPサーバーを認識も承認もしないため、Webリクエスト、メッセージ、またはプロンプトインジェクションされたドキュメントから取得した汚染されたセッション参照が、ユーザーの完全なClaude Code権限で攻撃者のコードを静かに実行できる。
サブプロセストランスポートはClaude CLIのargvを2つの別々のトークン(["--resume", value])として構築する。CLIはダッシュで始まる値を新しいフラグとして扱うため、resume値を制御する攻撃者は--mcp-configを注入してstdio MCPサーバーを定義でき、SDKの権限制御の外でCLI起動時に任意のコマンドが実行される。アプリが攻撃者の影響を受けた入力でセッションを再開するとトリガーされる。
anthropics/claude-agent-sdk-python < 0.2.121
claude-agent-sdk-python 0.2.121(コミット347a1cb、GHSA-h4mw-j7qp-8mwm)にアップグレードする。修正により--resume=<value>が単一のトークンとして出力され、ダッシュで始まる値は無効なセッションIDとして拒否される。--session-idも同様に強化された。アップグレードするまで、呼び出し元から提供されたセッション/resume識別子はすべて信頼できないものとして扱うこと。
NVD CVE-2026-96620GitHub Advisory GHSA-h4mw-j7qp-8mwmFix commit
ライブフィードで見る AIセキュリティとガバナンスの関連情報をさらに見る — 毎朝更新。
フィードを開く →