安全模型
把端点暴露出去之前,先想清楚要应对哪些威胁。
OpenCode 服务可以读写源文件、执行命令、调用已配置的 AI Provider。远程接入因此相当于给开发机开了一条特权路径。仅仅 HTTPS 并不能让这条路变安全。
最近更新: 2026-08-03中文
要防备的威胁
- 公共扫描器发现了暴露的 OpenCode 端点。
- 弱密码或被复用的 Basic-auth 密码被猜中或泄露。
- 丢失的手机仍然持有有效的服务器 URL 和凭证。
- 反向代理转发普通 HTTP,但破坏了 realtime 和 terminal 流并把它们暴露出去。
- 用户没有看清当前项目和会话就批准了一个危险工具动作。
- 临时隧道 URL 被贴到公开 issue、日志或截图里。
最低控制
- 用 VPN / 隧道 / 本地反向代理时,把 OpenCode 绑到
127.0.0.1。 - 配一个唯一的用户名 + 强密码。
- 优先用 Tailscale 私有路径,而不是公网 hostname。
- 用 Cloudflare Tunnel 时,OpenCode 鉴权必须开,同时保护好 Cloudflare 账号。
- 把防火墙规则和 tailnet ACL 限制到最小必要范围。
- KKCode 和 OpenCode 服务都保持最新版本。
- 接受完成前,看清权限、提问、改动文件和当前项目。
凭证处理
KKCode 把连接信息加密保存在设备 keystore(iOS Keychain / Android Keystore 背书的 SecureStore)以便重连。把设备当作"持有开发机访问权"的东西对待。开启设备加密 + 强密码锁屏;设备丢失或转赠后立刻轮换 OpenCode 密码。
不要把 AI Provider 的 API key 当作 OpenCode 服务器密码复用 —— Provider 鉴权和服务器连接鉴权保护的是不同的东西。
事件响应
如果端点或凭证泄露了:
- 立刻停用隧道或反向代理路由。
- 轮换 OpenCode 用户名和密码。
- 检查服务端、反向代理、Provider 日志,找异常活动。
- 如果工具或环境可能暴露,吊销受影响的 Provider 凭证。
- 路由重新加固后,再更新 KKCode 的连接信息。
涉及安全的问题发邮件到 kkcode.app 页脚的邮箱。跟安全无关的连接失败,用 排错清单。