安全模型

把端点暴露出去之前,先想清楚要应对哪些威胁。

OpenCode 服务可以读写源文件、执行命令、调用已配置的 AI Provider。远程接入因此相当于给开发机开了一条特权路径。仅仅 HTTPS 并不能让这条路变安全。

最近更新: 2026-08-03中文

要防备的威胁

  • 公共扫描器发现了暴露的 OpenCode 端点。
  • 弱密码或被复用的 Basic-auth 密码被猜中或泄露。
  • 丢失的手机仍然持有有效的服务器 URL 和凭证。
  • 反向代理转发普通 HTTP,但破坏了 realtime 和 terminal 流并把它们暴露出去。
  • 用户没有看清当前项目和会话就批准了一个危险工具动作。
  • 临时隧道 URL 被贴到公开 issue、日志或截图里。

最低控制

  1. 用 VPN / 隧道 / 本地反向代理时,把 OpenCode 绑到 127.0.0.1
  2. 配一个唯一的用户名 + 强密码。
  3. 优先用 Tailscale 私有路径,而不是公网 hostname。
  4. 用 Cloudflare Tunnel 时,OpenCode 鉴权必须开,同时保护好 Cloudflare 账号。
  5. 把防火墙规则和 tailnet ACL 限制到最小必要范围。
  6. KKCode 和 OpenCode 服务都保持最新版本。
  7. 接受完成前,看清权限、提问、改动文件和当前项目。

凭证处理

KKCode 把连接信息加密保存在设备 keystore(iOS Keychain / Android Keystore 背书的 SecureStore)以便重连。把设备当作"持有开发机访问权"的东西对待。开启设备加密 + 强密码锁屏;设备丢失或转赠后立刻轮换 OpenCode 密码。

不要把 AI Provider 的 API key 当作 OpenCode 服务器密码复用 —— Provider 鉴权和服务器连接鉴权保护的是不同的东西。

事件响应

如果端点或凭证泄露了:

  1. 立刻停用隧道或反向代理路由。
  2. 轮换 OpenCode 用户名和密码。
  3. 检查服务端、反向代理、Provider 日志,找异常活动。
  4. 如果工具或环境可能暴露,吊销受影响的 Provider 凭证。
  5. 路由重新加固后,再更新 KKCode 的连接信息。

涉及安全的问题发邮件到 kkcode.app 页脚的邮箱。跟安全无关的连接失败,用 排错清单