CLAUDE LABEN
MODEL — Claude Fable 5.1 と Claude Mythos 5.1 が9月1日に公開されました。両者は同一のモデルで、違うのは安全装置の強度だけという設計ですPRICING — トークン単価の $10/$50 per MTok は据え置きで、下がったのはキャッシュ読み取りだけです。75% 引き下げられて $0.25 per MTok になりましたCOST — 効き方は使い方次第です。典型ワークロードで約25%減、コンテキストとツールの重い作業では最大約45%減。自分の内訳を測らずに一律25%と書くと外れますBENCH — Terminal-Bench-Science 0.1 が Fable 5 の 24.7% から 52.6% へ。ただし公式が標準誤差 ±3.5〜4.5 ポイントと明記しているので、小さな差の扱いには注意が要りますSAFEGUARDS — サイバー安全装置が精密になり、Claude Code のセッションあたり介入が平均で約60%減りました。脆弱性の発見は可能、エクスプロイトの開発は引き続き不可ですAPI — 本日以降に作られた新規 API アカウントでは、思考トランスクリプトを保ったままの過去コンテキスト編集ができなくなりました。蒸留対策で、既存アカウントは当面対象外ですMODEL — Claude Fable 5.1 と Claude Mythos 5.1 が9月1日に公開されました。両者は同一のモデルで、違うのは安全装置の強度だけという設計ですPRICING — トークン単価の $10/$50 per MTok は据え置きで、下がったのはキャッシュ読み取りだけです。75% 引き下げられて $0.25 per MTok になりましたCOST — 効き方は使い方次第です。典型ワークロードで約25%減、コンテキストとツールの重い作業では最大約45%減。自分の内訳を測らずに一律25%と書くと外れますBENCH — Terminal-Bench-Science 0.1 が Fable 5 の 24.7% から 52.6% へ。ただし公式が標準誤差 ±3.5〜4.5 ポイントと明記しているので、小さな差の扱いには注意が要りますSAFEGUARDS — サイバー安全装置が精密になり、Claude Code のセッションあたり介入が平均で約60%減りました。脆弱性の発見は可能、エクスプロイトの開発は引き続き不可ですAPI — 本日以降に作られた新規 API アカウントでは、思考トランスクリプトを保ったままの過去コンテキスト編集ができなくなりました。蒸留対策で、既存アカウントは当面対象外です
記事一覧/Claude Code
Claude Code/2026-07-19上級

コミット済みのシンボリックリンクが worktree の外を指す — AI に並列作業を預ける前のリポジトリ点検

Claude Code 2.1.212 で、コミット済みのシンボリックリンクを worktree 作成時に辿ってリポジトリ外へ書きうる不具合が修正されました。パッチが塞いだのは辿りの側です。危険なリンクがコミットされている側を点検する監査スクリプトと、隔離の手順をまとめました。

Claude Code245worktree3セキュリティ19自動化85

プレミアム記事

Claude Code 2.1.212 の変更履歴に、一行だけ手を止めた項目がありました。リポジトリにコミットされたシンボリックリンクが .claude/worktrees にあると、worktree の作成時にそれを辿ってリポジトリの外にファイルを作りうる、という不具合の修正です。すでに直っています。

ただ、直ったと知って安心する前に、自分が何を Claude Code に預けているかを思い出しました。個人開発の自動化で、私はいくつかのリポジトリを日々 clone しては worktree を切り、その上で並列に作業を走らせています。clone してくるリポジトリの中身を、シンボリックリンクという観点で一度も見たことがありませんでした。

パッチが塞いだのは「辿り」の側です。ツールが悪意あるリンクを辿らないようにする修正です。けれど「危険なリンクがそもそもコミットされている」側は、リポジトリを扱う私にしか点検できません。パッチは全ての AI ツール・全ての操作を守ってくれるわけではなく、辿りうる経路は worktree だけでもありません。この記事は、その点検を手元でどう回すかの記録です。

git はシンボリックリンクを「行き先の文字列」ごとコミットする

前提を一つ確認します。git はシンボリックリンクを特別扱いせず、中身が「リンクの行き先の文字列」であるファイルとして保存します。ファイルモードだけが通常ファイル(100644)と異なり、120000 になります。

手元のリポジトリで実際に見てみます。

# 危険な例を意図的に作る(検証用。すぐ消します)
ln -s /etc/hosts ./link-to-hosts
git add ./link-to-hosts
 
# git がどう記録したかを見る
git ls-files -s ./link-to-hosts
# 100644 ではなく 120000 で入る:
# 120000 a1b2c3...   0   link-to-hosts
 
# blob の中身は「行き先の文字列そのもの」
git cat-file blob :./link-to-hosts
# /etc/hosts

120000 のエントリは、blob の中身が丸ごとリンクの行き先です。/etc/hosts でも ../../../../home/user/.ssh/authorized_keys でも、文字列である限り git は淡々とコミットします。ここに検証はありません。つまり、リポジトリ外を指すリンクは、通常の変更と見分けがつかない形でリポジトリに紛れ込めます。

さらに厄介なのが core.symlinks の存在です。この設定が true(多くの環境の既定)なら、checkout でリンクは本物のシンボリックリンクとして復元されます。false なら、行き先の文字列を中身に持つ通常ファイルとして書き出され、辿られません。同じコミットが、環境設定次第で「辿られるリンク」にも「ただのテキスト」にもなる。この差が、点検を難しくしています。

なぜ worktree の作成で外に出られたのか

シンボリックリンクをまたいだ書き込みが外に出る仕組みは、worktree に限った話ではありません。一般に、あるパスへの書き込みが途中にシンボリックリンクを含んでいると、OS はリンクを辿った先へ書き込みます。a/b/cb/tmp/evil へのリンクなら、a/b/c への書き込みは /tmp/evil/c に落ちます。

worktree の作成では、ツールが .claude/worktrees 配下に管理用のファイルを書きます。もしそのパスの一部が、リポジトリにコミットされたリンクとして「リポジトリ外」を指していたら、書き込みはリポジトリの外へ抜けます。checkout の順序次第では、書こうとした瞬間にはリンクが実体として存在している、という時間差も絡みます。いわゆる TOCTOU(Time-of-check to time-of-use)の隙です。

2.1.212 の修正は、この辿りをツール側で止めるものでした。評価に値する対応です。一方で、私が引き受けるべきなのは別の問いでした。「そもそも、そんなリンクが混ざったリポジトリを、自分は AI に触らせていないか」。clone 元が自分の管理下にあるとは限りません。フォークやテンプレート、依存として取り込む外部リポジトリを worktree で開くなら、点検の対象は広がります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
リポジトリ内のシンボリックリンクから、絶対パスやリポジトリ外を指す危険なものだけを洗い出す監査スクリプト(コピペで動きます)
git がシンボリックリンクを mode 120000 と行き先の文字列ごとコミットする仕組みと、core.symlinks の違いで辿られるかどうかが変わる理由
パッチ適用済みでも自衛として回す、clone → 監査 → 隔離 → worktree 作成 の 4 手順と、CI に差し込む最小チェック
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-08-05
秘密を渡さず、リクエストだけ通す — サンドボックス資格情報マスキングの差し替えが効く境界
Claude Code のサンドボックス資格情報マスキングは、センチネル値を読ませて送信時に実値へ差し替える設計です。差し替えが効く認証方式と効かない方式、そしてボディに載せたときに生じる長さのずれを、最小プロキシを自作して実測しました。
Claude Code2026-08-04
ファイルシステムの分離をネットワークと別に締める — 触ったパスを採り、書き込み面から絞る
Claude Code v2.1.216 でファイルシステムの分離をネットワークと切り離して指定できるようになりました。締める前にジョブが触ったパスを strace で採取し、読み取り面と書き込み面を分けて測った実務メモ。同じジョブを3回走らせたときのパス集合の安定率と、接頭辞に畳んだときの安定率の差まで実測しています。
Claude Code2026-07-25
strictAllowlist で Claude Code サンドボックスの外向き通信を締める
Claude Code v2.1.219 の sandbox.network.strictAllowlist で自動化の外向き通信を締めた実践メモ。接続先を洗い出すスクリプト、失敗までの時間で拒否とDNSと回線を切り分ける実測、許可リストをホスト名で書くべき理由まで。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →