セキュリティモデル
Tactic Remote のセキュリティ境界がデバイス、ネットワーク、ランタイムをまたいでどう機能するか。
Tactic Remote は2つの信頼ゾーンを接続します — コードが実行されるホストマシン(Mac/Windows)と、それを制御するモバイルクライアント(iPhone)。これらの境界を理解することで、適切な判断ができます。
アーキテクチャ
iPhone は Claude の API と直接通信しません。Mac サーバーにコマンドを送信し、サーバーがローカルで Claude Code プロセスを管理します。
信頼ゾーン
ホストマシン(Mac/Windows)
Claude Code が動作し、ファイルを読み取り、コマンドを実行する場所。最も高感度なコンポーネントです。
責任範囲:
- OS と Claude Code を最新に保つ
- サーバーを自分のユーザーアカウントで実行(root ではない)
- 不在時はマシンをロック
モバイルクライアント(iPhone)
iPhone はリモコンです。テキストプロンプトを送信し、ターミナル出力を受信します。ファイルシステムへの直接アクセス権はありません。
責任範囲:
- デバイスロック / 生体認証を使用
- アプリを最新に保つ
- アクティブなセッションパスを確認せずに破壊的コマンドを送信しない
トランスポート(ネットワーク)
- ローカルモード: 暗号化されていない WebSocket (
ws://)。信頼できるネットワーク向け。 - トンネルモード: 暗号化された WebSocket (
wss://)。Cloudflare 経由。パブリックネットワーク向け。
認証情報
以下を秘密情報として扱う:
- サーバー API キー
- Cloudflare Tunnel の認証情報
- Anthropic API キー(Claude Code が管理)
サーバーが保護するもの
| 脅威 | 対策 |
|---|---|
| 不正接続 | API キー認証 |
| セッション名を介したコマンドインジェクション | 入力検証(英数字のみ) |
| パストラバーサル | パス制限 + 機密ディレクトリのブロック |
| リクエストフラッディング | レート制限(30/min) |
| 切断後の古いセッション | tmux クリーンアップ + ハートビート監視 |
サーバーが保護しないもの
- 侵害された Mac(Mac にシェルアクセスを持つ人に対しては、サーバーは追加の保護を提供しません)
- Claude Code に有害な指示を送るプロンプト(Claude Code 自体に安全機構がありますが、送信内容は確認すべきです)
- 漏洩した API キー(漏洩した場合は即座にローテーション)
推奨事項
- デフォルトはローカルモード。 本当にリモートアクセスが必要な場合のみトンネルを使用。
- トンネル接続には必ず API キーを設定。
- 許可パスをプロジェクトディレクトリに限定。
- 高影響タスクの前にアクティブなセッションパスを確認。
- チームメンバーの離脱時や漏洩の疑いがある場合はキーをローテーション。