安全模型
手机是运行中会话的远程键盘
这句话就是整个安全模型的核心。下面把它拆开讲清楚。
Joint 可以做什么
- —读取运行中 run 会话的终端画面
- —把手机上的输入写进本地 PTY
- —发送方向键、Tab、Esc、Ctrl+C 等控制键
- —远程中断或推进正在执行的命令
只有你主动用 joint-notify run 起来的会话会被同步;未启动的终端不会被读取或控制。
已有保护
- —登录/配对验证码只保存 HMAC 摘要,不存明文
- —验证码最多 5 次猜测,超过即作废
- —按 IP 限流
- —设备令牌可随时吊销,吊销后 WebSocket 立即断开
- —不同设备、不同 sessionId 的会话互相隔离
- —手机端令牌存放在系统安全存储中
已知限制
- —后端默认监听 http://,生产部署必须自行配置 HTTPS/WSS
- —用户令牌有效期较长(180 天)
- —暂无服务端用户令牌吊销名单
- —手机账号泄露意味着运行中的终端可能被他人控制
- —实时会话注册表在内存中,后端重启会断开会话
安全披露
- —披露邮箱:security@joint.dev
- —我们会在 72 小时内首次回复,并在修复后同步进展
- —支持的版本:主分支及最新一次发布
- —请不要在公开 issue 中附带令牌、后端地址或终端录屏