すべての記事
一時的な401が長期トークンを置き換える — ヘッドレス実行の資格情報に「出所」を持たせる
共有した資格情報ファイルは、たった一度の一時的な401で長期トークンを失うことがあります。24並列の実行に401を1回だけ注入して被害範囲を実測し、資格情報に出所フィールドを持たせるガードと隔離のコストを比較、24マイクロ秒で現在地を確定する起動時カナリアまで検証しました。
同じコミットから作った zip なのに SHA-256 が変わる — プラグイン配布のピン留めを壊さない正規化
HTTPS 経由の zip からプラグインを導入できるようになり、SHA-256 のピン留めも選べるようになりました。同一内容の zip を2回作って測ったところ、22,669 バイト中 50 バイトだけが異なりハッシュが毎回変わりました。原因の測定と、20回連続で同一ハッシュになる正規化手順をまとめます。
権限モードを変えても止まらない書き込み — サブエージェント用 PreToolUse ゲートを150通りで測る
ワークフローのサブエージェントによるファイル編集は、セッションの権限モードに関わらず自動承認されます。残る境界である agent_id / agent_type ベースの PreToolUse フックを150通りのペイロードで測り、素通りしていた54件の内訳と、フェイルクローズへ寄せた実装を共有します。
呼んだはずのスキルが何も返さない — 起動前に名前の解決順序を確定させる
端末の組み込みコマンドと同名のスキルは、非対話セッションで呼び出しが解決されないことがあります。実効名の表を起動前に作る preflight を書いて走らせ、検査器自身が取りこぼしていた2件までを実測で洗い出した記録です。
秘密を渡さず、リクエストだけ通す — サンドボックス資格情報マスキングの差し替えが効く境界
Claude Code のサンドボックス資格情報マスキングは、センチネル値を読ませて送信時に実値へ差し替える設計です。差し替えが効く認証方式と効かない方式、ボディに載せたときの長さのずれ、そしてチャンク分割転送で置換そのものが空振りする境界を、最小プロキシを自作して実測しました。
ファイルシステムの分離をネットワークと別に締める — 触ったパスを採り、書き込み面から絞る
Claude Code v2.1.216 でファイルシステムの分離をネットワークと切り離して指定できるようになりました。締める前にジョブが触ったパスを strace で採取し、読み取り面と書き込み面を分けて測った実務メモ。同じジョブを3回走らせたときのパス集合の安定率と、接頭辞に畳んだときの安定率の差まで実測しています。
存在チェックが通っても書けない — 無人実行の前提を能力プローブで測る
ディレクトリが存在することと、そこへ書けることは別の問題です。無人で走るClaude Codeのセッションが静かに止まる原因を実測し、存在チェックの代わりに実際の読み書きを試す能力プローブ方式のプリフライトを設計しました。書けるのに消せない場所、静的な手掛かりが健全と答える落とし穴、シェル側の穴まで扱います。
予算上限で止まった実行の再開設計 — 停止点36通りを総当たりして分かったこと
ヘッドレス実行が予算上限で止まると、成功でも失敗でもない第三の終了が生まれます。停止点36通りを総当たりして再開の健全性と総支出を測った実験から、原子的な書き込みとインデックス優先の再開、上限をバッチ全体でなく最小の再開単位に掛ける設計へ至った記録です。
作業ルートを途中で足したとき、無視規則と deny はどこまで届くのか — DirectoryAdded で境界を測り直す
セッション途中で作業ルートを追加すると、無視規則も deny パターンもそのままでは新しいルートに届きません。git check-ignore と照合器の比較で境界を実測し、DirectoryAdded から呼ぶ差分監査スクリプトの実行結果まで記録しました。
MCPサーバーは繋がっているのに、ツールが0件で返る — 無人実行の権限劣化をツール表の差分で止める
資格情報が抜けてもMCPのハンドシェイクは成功し、tools/list は空配列を返します。例外が飛ばないまま実行が完走する構造と、期待ツール表との差分で無人実行を止めるpreflightの実装を、実測値つきで記録しました。
許可リストに書いた環境変数は誰の環境で展開されるのか — Managed MCP の実効ポリシーを指紋で確かめる
Managed MCP の allowlist・denylist に書いた環境変数参照の解決元が、起動時環境と managed-settings の env に変わりました。同じ設定ファイルが環境ごとに別のポリシーになる仕組みを手元で再現し、実効ポリシーを指紋で突き合わせる起動前チェックを組みました。
strictAllowlist で Claude Code サンドボックスの外向き通信を締める
Claude Code v2.1.219 の sandbox.network.strictAllowlist で自動化の外向き通信を締めた実践メモ。接続先を洗い出すスクリプト、失敗までの時間で拒否とDNSと回線を切り分ける実測、そして観測スクリプト自身が壊れていた三つの欠陥と修正版まで。