CLAUDE LABEN
MCP — 2026-07-28 仕様への対応が Claude 製品群で広がっています。双方向ステートフルなプロトコルからリクエスト・レスポンス型へ移り、MCP サーバーをサーバーレスやエッジに置けるようになりましたEXTENSIONS — 公式拡張が3種そろいました。サーバー側で UI を描く MCP Apps、非同期の長時間処理を扱う Tasks、IdP 経由で組織単位に払い出す Enterprise Managed Auth ですADOPTION — MCP の月間 SDK ダウンロードが4億を超え、年内で約4倍になりました。エージェントとアプリケーションを繋ぐ標準としての位置づけが固まりつつありますQUOTA — Claude Code 契約者向けの週次利用枠 50% 上乗せは本日8月19日が最終日です。長時間のエージェント実行を回すなら今日が最後の機会になりますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り12日ですFIX — タイムアウトが固定されたサーバーに対し MCP v2 接続がサブスクリプションを際限なく張り直す不具合が修正され、ユーザー帰属のための forward_user_identity 設定も追加されましたMCP — 2026-07-28 仕様への対応が Claude 製品群で広がっています。双方向ステートフルなプロトコルからリクエスト・レスポンス型へ移り、MCP サーバーをサーバーレスやエッジに置けるようになりましたEXTENSIONS — 公式拡張が3種そろいました。サーバー側で UI を描く MCP Apps、非同期の長時間処理を扱う Tasks、IdP 経由で組織単位に払い出す Enterprise Managed Auth ですADOPTION — MCP の月間 SDK ダウンロードが4億を超え、年内で約4倍になりました。エージェントとアプリケーションを繋ぐ標準としての位置づけが固まりつつありますQUOTA — Claude Code 契約者向けの週次利用枠 50% 上乗せは本日8月19日が最終日です。長時間のエージェント実行を回すなら今日が最後の機会になりますPRICING — Claude Sonnet 5 の導入価格 100万トークンあたり入力2ドル・出力10ドルは8月31日で終了し、9月1日から入力3ドル・出力15ドルへ移ります。残り12日ですFIX — タイムアウトが固定されたサーバーに対し MCP v2 接続がサブスクリプションを際限なく張り直す不具合が修正され、ユーザー帰属のための forward_user_identity 設定も追加されました
記事一覧/Claude Code
Claude Code/2026-07-25上級

strictAllowlist で Claude Code サンドボックスの外向き通信を締める

Claude Code v2.1.219 の sandbox.network.strictAllowlist で自動化の外向き通信を締めた実践メモ。接続先を洗い出すスクリプト、失敗までの時間で拒否とDNSと回線を切り分ける実測、許可リストをホスト名で書くべき理由まで。

Claude Code226サンドボックス8セキュリティ17自動化77ネットワーク

プレミアム記事

深夜に回している自動投稿パイプラインが、理由も告げずに途中で止まっていました。

ログには接続タイムアウトらしき痕跡だけ。回線を疑い、再実行すると通ることもある。よくある「たまに失敗するネットワーク」に見えました。けれど原因は回線ではありませんでした。許可リストに載せ忘れた一つのホストへの通信が、静かに拒否されていただけだったのです。

Claude Code v2.1.219(2026-07-24)で追加された sandbox.network.strictAllowlist を入れた直後のことでした。この記事は、その設定を個人開発の自動化に組み込んだときの実務メモです。設定を有効にする手順そのものよりも、有効にしたあとで何が壊れ、どう洗い出したかに紙幅を割きます。

「拒否」は障害の顔をしてやってくる

strictAllowlist の考え方はごく単純です。サンドボックス内で実行するコマンドに対して、許可リストにないホストへの外向き通信を拒む。自動化を安全側の既定で回すための、ちょうどよい締め方です。

ただ運用してみて分かったのは、拒否そのものより「拒否の見え方」が厄介だということでした。

許可リストから漏れたホストへの接続は、アプリケーションから見れば単なる接続失敗です。多くのツールはそこで「ネットワークが不調」と解釈し、リトライやタイムアウトのメッセージを出します。つまりポリシーによる意図的な遮断が、偶発的な回線障害と区別できない顔で現れる。ここが最初の落とし穴でした。この罠を回避するには、原因を推測する前に事実を観測することです。

そこで私が最初にやったのは、許可リストを書くことではなく、パイプラインが実際にどのホストへ出ていくのかを一度残らず観測することでした。

実際に触るホストを洗い出す

頭の中の「たぶんこのホストに繋ぐはず」は当てになりません。connect(2) をトレースして、宛先を事実として集めます。次のスクリプトは、任意のコマンドをラップして接続先ホスト名を吐き出します。

#!/usr/bin/env bash
# egress-recon.sh — コマンドが実際に接続するホストを洗い出す
# 使い方: ./egress-recon.sh <実行したいコマンド...>
#   例: ./egress-recon.sh bash deploy-pipeline.sh
set -euo pipefail
 
TRACE="$(mktemp)"
trap 'rm -f "$TRACE"' EXIT
 
# connect(2) だけを追い、宛先アドレスを記録する
# -f: 子プロセスも追跡(git や npm はサブプロセスを大量に生む)
strace -f -qq -e trace=connect -o "$TRACE" "$@" || true
 
# IPv4 の宛先を抽出(sin_addr=inet_addr("x.x.x.x"))
grep -oE 'inet_addr\("[0-9.]+"\)' "$TRACE" \
  | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' \
  | sort -u > "$TRACE.ip"
 
echo "# 接続先ホスト(逆引き済み・重複排除)"
while read -r ip; do
  # ローカル/リンクローカルは除外
  case "$ip" in 127.*|0.0.0.0|169.254.*) continue;; esac
  host="$(getent hosts "$ip" | awk '{print $2}')"
  printf '%-24s %s\n' "${host:-"(逆引き不可)"}" "$ip"
done < "$TRACE.ip" | sort -u

ポイントは -f です。git pushnpm install も、実処理は子プロセスに委ねます。親プロセスだけ見ていると、肝心の接続を丸ごと取りこぼします。逆引きが効かないIPは、そのIP自体を控えておきます。後述する正引き辞書で名前に戻す手順を用意しました。

私の環境でこれを一度回したところ、接続先は11ホストありました。事前に想定していたのは4つ。想定のおよそ2.7倍です。

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

この記事の続きを読む

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

この記事で得られること
パイプラインが実際に触るホストを connect(2) トレースで洗い出す実行可能なスクリプト
許可リストに一つのホスト名だけ載せても足りない理由と、私が踏んだ具体的な失敗
失敗までの時間(0.02ms/1.22ms/3秒ちょうど)で拒否・DNS・回線を切り分ける実測データ
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-08-05
秘密を渡さず、リクエストだけ通す — サンドボックス資格情報マスキングの差し替えが効く境界
Claude Code のサンドボックス資格情報マスキングは、センチネル値を読ませて送信時に実値へ差し替える設計です。差し替えが効く認証方式と効かない方式、そしてボディに載せたときに生じる長さのずれを、最小プロキシを自作して実測しました。
Claude Code2026-08-04
ファイルシステムの分離をネットワークと別に締める — 触ったパスを採り、書き込み面から絞る
Claude Code v2.1.216 でファイルシステムの分離をネットワークと切り離して指定できるようになりました。締める前にジョブが触ったパスを strace で採取し、読み取り面と書き込み面を分けて測った実務メモ。同じジョブを3回走らせたときのパス集合の安定率と、接頭辞に畳んだときの安定率の差まで実測しています。
Claude Code2026-07-19
コミット済みのシンボリックリンクが worktree の外を指す — AI に並列作業を預ける前のリポジトリ点検
Claude Code 2.1.212 で、コミット済みのシンボリックリンクを worktree 作成時に辿ってリポジトリ外へ書きうる不具合が修正されました。パッチが塞いだのは辿りの側です。危険なリンクがコミットされている側を点検する監査スクリプトと、隔離の手順をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →