Skip to content

v2.5.1: 深度安全加固 + 管理鉴权增强 + 平台生命周期与并发稳固

Choose a tag to compare

@wenbin-wb wenbin-wb released this 23 Aug 06:18
· 29 commits to main since this release

🛡️ 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 自动构建、补齐 telegram keyword,Node.js 运行环境要求对齐为 ^22.19.0 || >=24.0.0

📦 安装与升级

dsh plugin --profile web add @wenbin_wb/dsh-bridge@latest