v2.5.1: 深度安全加固 + 管理鉴权增强 + 平台生命周期与并发稳固
🛡️ v2.5.1 深度安全加固与全架构稳固更新
本版本针对网络通道、鉴权防御边界、执行命令安全与前端并发进行了全方位的深度加固与架构重构,并通过 110 项全量自动化测试验证。
1. 🔒 核心安全漏洞与边界防护
- 自建隧道 loopback 绕过彻底封堵:在 CustomTunnelClient 内部注入动态私钥标头,服务端严格识别隧道流量并强制鉴权,不再误判为本机 loopback 免密直通;
- Secret Token 严格脱敏:状态查询与 RPC 接口默认强制脱敏返回
dsh_xxxx****************,仅限已解锁的管理员 Session 允许查看明文 Token 与免密专属二维码; - 升级命令注入防御:彻底移除
exec()与 Shell 字符串拼接,改用spawn()参数数组隔离执行,配合严格的 SemVer 正则白名单校验; - 管理员 RPC 授权强化:服务端强制校验
adminToken,完全移除客户端传入的isLocalhost标识,杜绝伪造身份绕过; - token_only 模式防绕过:严格阻断任何密码登录尝试,仅放行携带专属有效 Token 的请求;
- Scope 标头防伪造:公网标记仅信任来自本地回环端口且带有效凭证的流量,局域网攻击者伪造标头直接被忽略。
2. ⚡ 平台生命周期与并发稳固
- 事件监听器彻底回收:飞书、Telegram、QQ、微信 Node 在注册
ctx.on时全量收集 Disposer,在重连与销毁时彻底注销,杜绝事件监听泄漏; - 配置持久化原子排队锁:引入
configWriteQueue互斥队列,防止多平台同时保存配置时相互覆盖损坏文件; - 微信媒体配额熔断:未授权消息直接在下载前丢弃,下载接口严格增加 25MB 大小熔断,防止资源滥用;
- QQ 群聊附件自动注入:
sendMediaFile自动根据当前对话注入对应scope: group / c2c。
3. 🎨 客户端体验与工程化完善
- 请求序列号与防乱序:为平台状态轮询与刷新操作引入递增序列号机制与 in-flight 锁,彻底杜绝慢网络下的响应乱序覆盖;
- 重连状态正确识别:完善平台卡片连接状态判定,
reconnecting状态正确展示为「重连中…」黄色警示标签; - 前端操作错误回滚:所有安全配置与平台操作严格校验
res.ok,失败时自动回滚开关并展示错误通知; - 工程化与 Node.js 兼容性:配置
prepack自动构建、补齐telegramkeyword,Node.js 运行环境要求对齐为^22.19.0 || >=24.0.0。
📦 安装与升级
dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest