安全概览
Captain Who 采用本地优先的桌面架构:应用状态主要保存在本机,Agent 的 Tool 调用经过类型校验、权限判断和必要的用户审批。但它不是通用操作系统沙箱,不能替代账户隔离、磁盘加密、备份和终端安全软件。
主要保护边界
- 聊天界面不能直接获得任意 Node.js、文件系统或进程能力;敏感操作由受信应用层处理。
- Tool 名称和模型说明不构成授权;应用根据真实 Tool 身份、当前项目、权限和参数决定允许、询问或拒绝。
- 批准绑定具体动作。模型不能仅通过文字让一次批准自动扩大为永久权限。
- 外部 MCP、Skill、网页内容、附件和模型输出都按不可信输入处理。
- 文件、命令、浏览器目标、上传下载和生成制品经过各自的路径与身份校验。
- 对可能已经产生副作用但无法确认结果的调用,系统会报告未知状态,而不是自动重放。
用户仍需承担的判断
- 选择可信的模型 Provider、Skill、MCP Server 和网页;
- 检查每次审批中的目标、参数和可能影响;
- 只在确有需要时启用完全权限或自动执行;
- 保护本机账户、应用数据、项目目录和凭据;
- 在外部调用超时或断开后,先到目标系统核实再决定是否重试。
重要残余风险
- 文件和命令限制是应用策略,不是进程容器;被授权的进程可能访问操作系统允许的其他资源。
- 外部 MCP Server 是本机进程,其自身行为和供应链不由 Captain Who 保证。
- 模型 Token 和 Tavily Key 与普通配置分离;签名 macOS 发行版使用系统钥匙串,SQLite 只保留不透明引用。
- Full/Custom Automation 可以在用户不看屏幕时产生副作用,暂停任务也不会停止已开始的 Run。
- 原生通知可能缺失、延迟或在极小崩溃窗口重复,并可能出现在锁屏通知中心。
- 如果设备或用户账户已经被攻破,Captain Who 不能提供可信执行环境保证。
实际数据去向和权限模式见数据与权限。