1. 痛みの分解:露出は開放ポート以上の問題
(1)バインドの意味:0.0.0.0 は全 IF 待受で手早いが、本番ではゲスト無線等と組み合わさり危険が増す。IPv6 漏れや片手間修正で公開面が復活する。リスナー監査はリリース毎に繰り返す。
(2)スキル層のサプライチェーン:ClawHub スキルは依存を引く。CI に解決グラフとハッシュを保存し、未レビューでハッシュが漂ったらビルドを止める。
(3)コンテナ:read-only でも緩いボリューム許可はシークレット流出の穴。注入下では seccomp/AppArmor でホスト権限を重ねる。
2. アクセストポロジ・マトリクス
| モード | 向く場面 | コスト/注意 |
|---|---|---|
127.0.0.1 のみ |
ソロ開発、LAN 露出の最小化 | リモートはトンネル必須;ローカルマルウェアはループバックに届き得る |
| リバースプロキシ+TLS(必要なら mTLS) | TLS 終端、ログ集約、レート制限 | 証明書ライフサイクル;上流を平文のまま伸ばさない |
| Tailscale/WireGuard | 公開管理ポートなしのチーム遠隔 | 端末インベントリとポート単位 ACL;退職端末の失効 |
SSH -L |
インシデント対応、ジャンプホスト既存 | 人間のトンネルは劣化する;恒久対策はアプリの bind 修正 |
主パターンは環境ごとに一つ、切替時はヘルスと代表スキルへ同一スモーク。リバプロ上流の全 IF 再待受を防ぎ、Tailscale は ACL 後に短い到達性テストを残す。
3. 五段階ハードニング・ランブック
- データフローを描く:チャネル入口、ゲートウェイ待受、モデル出口、ワークスペース入出力。欠けた辺は暗黙の
0.0.0.0に繋がりやすい。 - バインド契約を凍結する:アドレス・ポート・TLS 終端を文書化し、変更は PR と待受の前後差分で行う。
- スキルを固定し監査する:取得元 URL/コミット、導入時刻、必要権限を記録。更新は差分レビュー付きのみ。
- 読み取り専用コンテナ雛形:read-only ルート、tmpfs または専用キャッシュボリューム、明示ワークスペースマウント。便宜のためのフル
$HOMEは禁止。 - 観測とロールバック:リモート IP、チャネル ID、スキル終了コードをログ化。ワンクリック戻し手順は systemd/launchd ガイド に沿って維持する。
4. 引用しやすい閾値
- チームが 30 分以内に 正確なバインドアドレスとポート一覧を出せないなら 設定ドリフト高とみなし、新チャネル追加前に文書と自動プローブを凍結する。
- スキルが 15 個超かつ 半数超がハッシュ/ソース未レビューなら 四半期監査+版固定を義務化する。
- コンテナの書き込み可能パスが 業務上最小集合を超えてホスト秘密と重なるなら、次の変更窓で マウント分割する。
5. リモート Mac ゲートウェイの兆候と対応
| シグナル | アクション |
|---|---|
| ノートのスリープでチャネル切断/Webhook 滞留 | 専用リモート Mac または VPS へ移し、電源と launchd を検証—SSH/VNC 選択ガイド |
| GPU/トランスコードとポートやメモリを争奪 | プロセスまたはホストを分離する |
| 管理者がオフィス LAN 外で運用する必要 | Tailscale ACL と tailnet 内バインドのみ;公開エッジは Webhook 用プロキシに限定 |
| アップグレード後の認証ずれ | 無応答診断ランブックを実施し、移行手順に沿ってバックアップを確認 |
6. FAQ:現場が実際に抱える判断
問:本番で 0.0.0.0 を許すべきか。 チケット・期限・ロールバック付きの意図的例外のみ。既定はループバックか名前付き tailnet+プロキシ。ベンダーの「全 IF」は WAN 承認なしならループバック+リバプロへ翻訳する。
問:Webhook と管理/デバッグの分離は。 ホスト名・パス・レート枠・可能なら証明書を分ける。認証なしでヘルスと Webhook を同一接頭に混ぜない。ログに種別タグを付けノイズを切る。
問:ClawHub 導入前の最低監査は。 発行者、コミット/ tarball ハッシュ、宣言権限、外向き先、固定版の読み取り専用差分。資格情報パスやグロブ拡大は第二レビュア必須。
問:自動更新は。 内部レジストリ・検証ミラー・CI 固定スモークがある時のみ。公開 latest はサンドボックスに閉じ、長寿命トークン本番と分離する。
問:MEMORY.md は。 断片やパスがデータ面を広げる。権限・暗号化・バックアップをアプリ秘密並みに扱い、MEMORY/トークン運用と併せて設計する。
問:read-only 下の設定や ACL・SSH は。 許可ボリューム・tmpfs・不変設定のみ。chmod 逃げは拒否。ACL は人事突合と拒否ログ観測。SSH フォワードは非常口のみ、定常は bind+メッシュを優先し長期は失効日を記録する。
7. 深掘り:ガバナンスがアドホックな FW 調整に勝つ
不可信チャネルと強力ツールの交差点。バインド・上流 TLS はアプリ変更管理へ、ポート PR にプローブ。スキルは版固定+ハッシュ、動くタグ上流はミラー昇格。最小マウントを図示し GPU 争奪なら分離。リモート Mac は常時答えだがパッチと秘密ローテが代償。四半期ロールバックと二世代ダイジェスト、ログ最小化とオーナーで緊急拡張の赤線を守る。
8. オブザーバビリティとアラート経路
ルート別 QPS、スキルエラー、p95、再起動、署名失敗、ディスク急増を計装。アラートはバインド/スキル担当にも届ける。変更 ID はメトリに載せ個情は抑え、図外リスナーを定期確認。
| シグナル | 取得方法 | 最初の切り分け |
|---|---|---|
| 管理 UI が想定外 ASN からプローブされる | 方針が許す範囲で ASN を残したリバプロアクセスログ | バインド、IPv6 リスナー、クラウドセキュリティグループを確認 |
| スキル p95 の劣化 | スキル名とメジャー版ごとのヒストグラム | モデルエンドポイント、ディスク I/O、競合バッチを確認 |
| launchd またはコンテナの再起動嵐 | 集中ログと終了コード | read-only パスへの書き込み、ヘルスチェック失敗を疑う |
| 外向き接続の扇状拡散 | ホストフローログまたは利用可能なら eBPF 要約 | 最近更新したスキルに新ドメインが無いか差分する |
9. セキュリティレビュー向けエビデンスパック
待受一覧、マスクプロキシ、注釈 ACL、read-only 強調 Compose/K8s、ハッシュ付きスキル表、直近二回ロールバック演習ログを一枚紙に添付する。
10. 締め:「手元では動く」を本番チャネルから切り離す
ノートはスリープや VPN で不安定化しやすい。専用リモート Mac/サーバで予測性を得る。MACGPU は容量を借りる摩擦を下げる。文書化表面へ外部スキャンし不一致を欠陥扱いにし、バインド・遠隔パターン・スキル・最小マウントに計測と証跡を重ねる。
11. インストール経路の整合:npm、Docker、systemd/launchd
npm/Compose/pnpm で状態とロールバックが異なる。OS ごとゴールデンを一本化し短表にまとめる。三経路比較、Docker 本番デプロイ、systemd/launchdを相互リンクする。
12. 週次オペレータリズム:七つの確認
- 稼働中リスナーを凍結済みバインド契約と差分比較し、漂いがあればチケット化する。
- Webhook 署名エラー率を確認し、チャネル事業者のステータスページと突き合わせる。
- スキル版を走査し、浮動 latest や移動タグを固定する。
- ワークスペースとメモリファイルのバックアップ成功を確認する。
- ログと成果物ディレクトリのディスク増加を監視し、飽和前にローテートする。
- Tailscale または VPN の端末台帳を現職員・委託先と突合する。
- ステージングで前世代のゴールデンアーティファクトを用いた制御されたロールバック演習を行う。
七項目は五ステップを補完しドリフトを捕捉。年数回鍵漏洩テーブルトップでローテ速度を確認。