Skip to content

Security Model

Cursor Agent edited this page Sep 18, 2026 · 5 revisions

安全模型

传输

全部 明文:HTTP、ws:// 控制与语音。对外暴露须自行加 HTTPS/WSS 与网络隔离。责任边界见仓库 SECURITY.md


稳定线(2.5.x · main

凭据 用途
verify_token GET /get_sl_data(低权限)
control_token /control/*、控制 WS、语音 WS、subscribe_events(高权限)
  • 比较:常量时间;格式建议 ≥8 位且含大小写/数字/符号(control_token 启动校验)。
  • 暴力破解:分表锁定——刷 verify_token 不会锁死 control_token 通道。
  • 规则:10 次失败 / 5 分钟 → 锁 5 分钟(按来源 IP)。

预览线(2.6 · preview/v2.6.0-DevOnly

凭据 用途
verify_token /get_sl_data
API Key 控制 HTTP/WS、语音、事件订阅 ACL
  • 磁盘仅存指纹;明文只在 sldataapi apikey create 时显示。
  • 锁定表与 2.5 控制通道相同(与只读数据分表)。
  • 401 vs 403:未认证 / Key 错 → 401;Key 对但端点未授权 → 403。
  • 远程禁发 Keysldataapi / slda 全子命令不能经 /control/console/command 或 WS call 执行;create/revoke 另需本地控制台人工确认(不可配置关闭)。
  • admin 非万能endpoint_catalogfalse 的路径(远程控制台、插件、文件等)不随 admin 模板自动打开。

详见 Preview-HTTP-API


DoS 与资源上限

措施
HTTP Slowloris 总时限 15s;并发 64;头 16KB;体 64KB
控制 WS 分片组装 30s;空闲 90s;单消息 256KB;连接 8;单连接并发 call 4
语音 WS 连接 8;握手 10s;发送 Poll + 超时,避免主线程卡死

文件端点(若启用 file_root

  1. 路径限定在 file_root 内(防 ..
  2. Windows 系统目录禁读写
  3. 扩展名白名单(yml/json/txt 等)
  4. 禁止游戏数据目录与插件自身配置目录

使用建议

  • control_enabled 默认 ;非必要不启。
  • 2.5:强随机 control_token,与 verify_token 分离。
  • 2.6:按职责分 Key;慎用 endpoints_override 放开 console/files。
  • /control/console/command(2.6 路径)等同本机控制台——凭据泄露即沦陷。

Clone this wiki locally