安全模型
Tactic Remote 的安全边界如何跨设备、网络和运行时工作。
Tactic Remote 连接两个信任区——主机(Mac/Windows)上执行代码,移动客户端(iPhone)上控制操作。理解这些边界有助于做出合理的安全决策。
架构
iPhone 不会直接与 Claude API 通信。它向 Mac 服务器发送命令,由服务器在本地管理 Claude Code 进程。
信任区
主机(Mac/Windows)
Claude Code 在此运行、读取文件、执行命令。这是最高敏感度的组件。
你的职责:
- 保持操作系统和 Claude Code 更新。
- 在你的用户账户下运行服务器(不要用 root)。
- 无人看管时锁定机器。
移动客户端(iPhone)
iPhone 是远程控制器。它发送文本提示并接收终端输出,没有直接的文件系统访问权限。
你的职责:
- 启用设备锁定 / 生物识别。
- 保持应用更新。
- 发送破坏性命令前确认活跃会话路径。
传输(网络)
- 局域网模式: 未加密的 WebSocket(
ws://),适用于可信网络。 - 隧道模式: 加密的 WebSocket(
wss://),通过 Cloudflare 传输,适用于公共网络。
凭据
以下内容应视为机密:
- 服务器 API Key
- Cloudflare Tunnel 凭据
- Anthropic API Key(由 Claude Code 管理)
服务器防护范围
| 威胁 | 缓解措施 |
|---|---|
| 未授权连接 | API Key 认证 |
| 通过会话名注入命令 | 输入验证(仅允许字母数字) |
| 路径遍历 | 路径限制 + 屏蔽敏感目录 |
| 请求洪泛 | 速率限制(30 次/分钟) |
| 断连后残留会话 | tmux 清理 + 心跳监控 |
服务器不防护的范围
- 已被入侵的 Mac(如果有人已获得 Mac 的 shell 访问权限,服务器无法提供额外保护)。
- 指示 Claude Code 执行有害操作的提示(Claude Code 有自身的安全机制,但你仍应审查自己的请求)。
- 泄露的 API Key(泄露后立即轮换)。
建议
- 默认使用局域网模式。 仅在确实需要远程访问时使用隧道。
- 隧道连接必须设置 API Key。
- 将 allowed path 缩小到 项目目录。
- 启动高影响任务前确认 活跃会话路径。
- 在团队成员离开或疑似泄露后 轮换 Key。