本文へスキップ
Claude Media
Claude Code v2.1.2 — bashコマンド乗っ取り脆弱性の修正と、ツール出力のディスク永続化

Claude Code v2.1.2 — bashコマンド乗っ取り脆弱性の修正と、ツール出力のディスク永続化

Claude Code v2.1.2はbashコマンドインジェクション脆弱性の修正と、tool出力を打ち切らずディスクに永続化する挙動変更を含むセキュリティ + 長時間運用パッチです。tree-sitterメモリリーク解消や @include のバイナリ混入修正もまとめて入っています。

読了目安 約6

このリリースで何ができるようになるか

Claude Code v2.1.2は、v2.1.0で広がった拡張機構の表面積を締め直すパッチです。セキュリティ修正と長時間運用の安定化が中心で、機能追加よりも「v2.1系を本格運用に耐える形にする」方向の変更が並びます。

  • bashコマンドインジェクション脆弱性が解消: 悪意ある形式の入力で任意コマンドが実行され得た問題が修正されました
  • 大きなツール出力を打ち切らずディスクに永続化: ビルドログ・テスト失敗一覧・git log の長文をClaudeが後から全量参照できるようになります
  • tree-sitterのパースツリーが解放されない問題が解消: 長時間セッションでWASMメモリが膨れていた症状が直ります
  • @include 経由でバイナリがCLAUDE.mdに混入する不具合が修正: 画像 / PDFが誤って取り込まれてコンテキストが圧迫される問題が解消

あなたの開発フローはどう変わるか

自動化環境でbashツールを開放しているチーム

bashコマンド処理でのコマンドインジェクション脆弱性が修正されました。CIランナーやヘッドレス実行環境でbashを広めの権限で開放している場合、本版以上への更新が穏当です。あわせてMCPツール名がユーザー固有のサーバ設定を含んだまま分析イベントに露出していた問題も解消されています。社内MCPサーバ名に機微情報を含めていたケースで効きます。

長時間セッションを回す運用

Claude Codeを1セッション数時間単位で使う運用では、本版以降で次の摩擦が消えます。

  • tree-sitterのパースツリーが解放されない問題で、解析するファイルが多いほどWASMメモリが積み上がる挙動
  • 監視対象ディレクトリにsocketファイルが存在するとクラッシュする問題(EOPNOTSUPP 由来)
  • @include 参照のCLAUDE.mdに画像・PDFなどのバイナリが混入してコンテキストを圧迫する不具合

CLAUDE.mdで @include の相対パスを広めに切っているリポジトリは、更新後に一度 /context で内訳を確認すると、コンテキスト消費の改善が体感できる可能性があります。

ビルドログ・テスト出力など長文をClaudeに読ませるフロー

大きなbash出力 / tool出力が、従来の打ち切り表示ではなくディスクに保存されClaudeが全量参照可能になります。長大な出力で末尾が切れてClaudeが中途半端な情報のまま次に進む現象が減ります。一方で、ディスクへの書き込みが増えるため、CIで一時領域が限られたコンテナでは、tmpfs のサイズや一時ディレクトリの確保を事前に見直しておくと安全です。

Windows / iTerm利用

winget 経由のインストールが検出され、更新手順がガイドされます。OSC 8対応ターミナル(iTermなど)ではtool出力内のファイルパスがクリッカブルになり、ドラッグで貼った画像にはソースパスのメタデータが付きます。

Agent SDKを組み合わせているプロジェクト

SDKのzod peer dependencyが ^4.0.0 に引き上げられました。zod@^3 を固定している場合は、Claude Code SDKを更新する前にプロジェクト側のpeerを揃える段取りが必要です。

主な変更点

セキュリティ

  • bashコマンドインジェクション脆弱性: 悪意ある形式の入力で任意コマンドが実行され得た問題を修正
  • MCPツール名の露出修正: ユーザー固有のサーバ設定を含んだまま分析イベントへ露出していた箇所をsanitize
  • CLAUDE.md @include バイナリ混入: 画像 / PDFなどが誤って取り込まれていた問題を修正

メモリ・安定性

  • tree-sitterパースツリーが解放されないことによるWASMメモリ膨張を修正
  • socketファイルでクラッシュ: 監視対象にsocketが存在すると落ちる問題を防御的に修正(EOPNOTSUPP 由来)

Tool出力の扱い

  • 大きなbash出力をディスクに永続化: 打ち切り表示から、ファイル参照経由でClaudeが全量を読める方式へ
  • 大きなtool出力もディスク永続化: 同様にファイル参照で全量アクセス可能に

追加機能

  • 画像ドラッグにソースパスのメタデータ: Claudeが画像の出所を把握できる
  • OSC 8対応ターミナルでファイルパスがクリッカブル: iTermなどでtool出力内のパスが直接開ける
  • Windows Package Manager(winget)サポート: 自動検出と更新手順案内
  • プランモードのShift+Tab: 「auto-accept edits」を即選択
  • FORCE_AUTOUPDATE_PLUGINS 環境変数: メイン自動更新が無効でもプラグインだけ自動更新できる
  • SessionStartフックに agent_type: --agent 指定時に値が入り、エージェント別の初期化が書ける

その他の修正・UI改善

  • 更新処理の誤検知: 「別のインストールが進行中」と誤って主張する問題を修正
  • /tasks の破損: リモートセッションURLとteleportが壊れる問題を修正
  • macOS Option-as-Metaヒント: iTerm2 / Kitty / WezTermなどCSIu対応ターミナルごとの具体手順を表示
  • SSH越しの画像貼り付けエラーメッセージ: 「scp を使ってください」に変更
  • Permission explainerの調整: git fetch / rebasenpm install、テスト、PR作成をmedium riskとして警告しすぎない

挙動変更

  • /plugins のinstalledタブ: プラグインとMCPを統合してスコープ別グルーピング表示

非推奨化(Windows)

  • 管理設定の旧パス: C:\ProgramData\ClaudeCode\managed-settings.json を非推奨化、C:\Program Files\ClaudeCode\managed-settings.json への移行を案内

SDK / VSCode

  • SDK: zod minimum peer dependencyを ^4.0.0 に引き上げ
  • VSCode拡張: 手動compact後の使用量表示が更新されない問題を修正

ツール出力の永続化が運用に与える意味

打ち切りからディスク永続化への転換は、地味ですが「Claudeに長文を読ませる前提」を一段階強くした変更です。

従来本版以降
大きなbash出力は末尾打ち切りディスクに保存、ファイル参照で全量アクセス
Claudeが末尾を見ずに次に進むケースあり全量を後から確認可能
ディスク使用量は増えない一時領域に書き出しが増える

ビルドログの末尾にスタックトレースが寄っているケース、テスト失敗の詳細が長く続くケース、git log の大量出力など、「末尾に重要情報が来る長文」をClaudeに読ませるワークフローでとくに効きます。一方で、CIの一時領域が小さいコンテナでは事前にディスク見積りを確認しておくと安全です。

前後版との位置付け

バージョン主要トピック本版との関係
v2.1.0Skill / Hooks / 権限モデルの再編v2.1系の土台
v2.1.2(本版)セキュリティ修正 + tool出力永続化 + 細部改善v2.1.0で広がった表面積の副作用を消す
v2.1.3以降週次の磨き込みv2.1.2の地均しを前提に運用面を継続改善

v2.1.0の新機能を意欲的に使っているほど恩恵が大きいパッチです。tree-sitterメモリリーク・@include バイナリ混入・/tasks 破損・MCPツール名露出のいずれも、v2.1.0で広がった拡張機構の使い込みで踏みやすい箇所に集中しています。

まとめ

  • CI / ヘッドレスでbashを開放しているチーム: コマンドインジェクション修正のため即更新推奨です
  • 長時間セッションを回す運用: tree-sitterメモリリーク解消で実用域が伸びます
  • 長文出力をClaudeに読ませるワークフロー: ディスク永続化で末尾打ち切りの摩擦が消えます
  • @include を多用するリポジトリ: バイナリ混入修正後に /context 内訳の見直しを
  • Agent SDK連携プロジェクト: zod ^4.0.0 へのpeer揃えを忘れずに

派手な新機能はありませんが、セキュリティ修正を含み、v2.1.0以降を利用している環境では更新しておく意味が明瞭なリリースです。

この記事を共有:XLinkedIn