CLAUDE LABEN
OPUS5 — Claude Code v2.1.219でClaude Opus 5が既定のOpusモデルになりました。1Mコンテキストに対応し、fastモードは100万トークンあたり入力$10・出力$50ですSONNET5 — Claude Sonnet 5が全世界のFree・Proの既定モデルになりました。導入価格は100万トークンあたり入力$2・出力$10で、8月31日までですSANDBOX — Claude Codeにsandbox.network.strictAllowlistが追加され、サンドボックス実行で許可リストにないホストへの通信を拒否できますSTREAM — stream-json出力が入れ子のサブエージェント転送に対応し、多段のエージェント連携でも内側のやり取りを追えますSKILL — Messages APIとManaged Agentsの最新リファレンスを8言語で提供するオープンソースのClaude API skillがClaude Codeに同梱されましたVOICE — ボイスモードがOpus・Sonnet・Haikuで動作し、GmailやSlackなど接続済みツールに届き、対応言語も増えましたOPUS5 — Claude Code v2.1.219でClaude Opus 5が既定のOpusモデルになりました。1Mコンテキストに対応し、fastモードは100万トークンあたり入力$10・出力$50ですSONNET5 — Claude Sonnet 5が全世界のFree・Proの既定モデルになりました。導入価格は100万トークンあたり入力$2・出力$10で、8月31日までですSANDBOX — Claude Codeにsandbox.network.strictAllowlistが追加され、サンドボックス実行で許可リストにないホストへの通信を拒否できますSTREAM — stream-json出力が入れ子のサブエージェント転送に対応し、多段のエージェント連携でも内側のやり取りを追えますSKILL — Messages APIとManaged Agentsの最新リファレンスを8言語で提供するオープンソースのClaude API skillがClaude Codeに同梱されましたVOICE — ボイスモードがOpus・Sonnet・Haikuで動作し、GmailやSlackなど接続済みツールに届き、対応言語も増えました
記事一覧/Claude Code
Claude Code/2026-07-25上級

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

Claude Code v2.1.219 の sandbox.network.strictAllowlist を使い、自動化パイプラインの外向き通信を最小の許可リストで締める実践メモ。接続先を洗い出すスクリプトと運用の落とし穴まで。

Claude Code203サンドボックス6セキュリティ14自動化71ネットワーク

プレミアム記事

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

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

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) トレースで洗い出す実行可能なスクリプト
許可リストに一つのホスト名だけ載せても足りない理由と、私が踏んだ具体的な失敗
拒否された通信を観測可能にして、ネットワーク障害と切り分ける運用パターン
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Claude Code2026-07-19
コミット済みのシンボリックリンクが worktree の外を指す — AI に並列作業を預ける前のリポジトリ点検
Claude Code 2.1.212 で、コミット済みのシンボリックリンクを worktree 作成時に辿ってリポジトリ外へ書きうる不具合が修正されました。パッチが塞いだのは辿りの側です。危険なリンクがコミットされている側を点検する監査スクリプトと、隔離の手順をまとめました。
Claude Code2026-07-05
Trusted Devices を小規模チームで運用する — メンバー端末の検証とローテーション設計
Team/Enterprise の Trusted Devices を2〜5人規模で導入する際の、端末登録・無人実行前のプリフライト・端末ローテーション時の漏れ対策を、実運用の手順とスクリプトで整理します。
Claude Code2026-06-29
Trusted Devices の発想を一人運用に翻訳する — 自動実行を「許可した端末からだけ」に縛る
2026年6月28日に Claude Code へ入った Trusted Devices は Team / Enterprise 向けの端末検証機能です。同じ仕組みは使えなくても、その発想は一人の自動運用に翻訳できます。端末を壊れにくく識別し、許可した端末以外では即座に止める実装を、動くコードとつまずきどころ付きでまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →