-
-
Notifications
You must be signed in to change notification settings - Fork 0
Security Model
DNTOF edited this page Sep 24, 2026
·
9 revisions
对齐 2.6.0 PEAK(main / tag v2.6.0_PEAK)。责任边界见仓库 SECURITY.md。
插件自身全部 明文:HTTP、ws:// 控制与语音。对外暴露须自行加 HTTPS/WSS 与网络隔离。不要对公网裸奔明文端口。
| 凭据 | 用途 |
|---|---|
verify_token |
数据口:/get_sl_data、/plugins/adapted 等 |
| API Key | 控制 HTTP/WS、语音、事件订阅 |
- 出厂默认
your_secret_token、空、或未通过强度校验(长度 ≥8 且同时含大写/小写/数字/特殊符号)时:Enable 打 Error 并关闭数据口;若控制面也未启用则不绑定 HTTP。 - 数据口优先:
Authorization: Bearer/X-SLDataAPI-Token/X-SLDataAPI-Verify-Token。 -
?token=仍兼容但已弃用。
- 磁盘仅存指纹;明文只在
apikey create时写入一次性文件(命令 response 不含明文)。 -
control_token已废弃:若仍配置,启动警告后忽略,不作为鉴权。 - 锁定表与只读数据分表。
- 401 = 未认证 / Key 错;403 = Key 对但被拒绝。
-
sldataapi/slda全子命令不能经/control/console/command或控制 WS 执行。 - Key CLI(
create/revoke/list)在远程执行上下文一律拒绝;仅本地控制台。
- duty 模板默认不授予
/control/audit/list。 - 即便 override 打开,非 admin 也只能看到自己这条的请求体;其他 Key 的写操作 payload 显示
[redacted]。 - 落盘会打码常见密钥字段 / Bearer 前缀。
- 当前程序集未强签名时:拒绝自动安装(即使
auto_update_install: true),只打日志。 - 已签名构建要求下载文件公钥令牌与当前一致。
- 启动 + 默认 72h 静默复查;跳过 GitHub 上标记为 prerelease/draft,以及 tag 名含
beta/alpha/rc/preview/dev等标识的版本(避免装到非正式包)。
- 可选;默认关。启用后定稿 zip 以 HTTPS PUT + Basic Auth 上传。
-
只接受
https://;http://校验失败并跳过。 - 密码与 Authorization 头不写日志。
| 2.5 | 2.6.0 PEAK |
|---|---|
control_token 控服 |
API Key + ACL |
| 扁平控制路径 | RA 对齐路径(无别名) |
| 无远程硬拒绝 Key CLI | 远程一律拒绝 sldataapi / Key CRUD |
完整旧接口见 Old-HTTP-API。
| 层 | 措施 |
|---|---|
| HTTP | Slowloris 总时限 15s;并发 64;头 16KB;体 64KB |
| 控制 WS | 分片组装 30s;空闲 90s;单消息 256KB;连接 8;单连接并发 call 4 |
| 语音 WS | 连接 8;握手 10s;发送 Poll + 超时,避免主线程卡死 |
- 路径限定在
file_root内(防..) - Windows 系统目录禁读写
- 扩展名白名单(yml/json/txt 等)
- 禁止游戏数据目录与插件自身配置目录
-
control_enabled默认 关;非必要不启。 - 必须设置强随机
verify_token(勿用出厂默认)。 - 按需要分多把 API Key;控制面凭据泄露即等同本机控制台权限。
-
/control/console/command等同本机控制台——凭据泄露即沦陷。 - 对外请反代 HTTPS + 限制来源。