# Saker v0.3.9 ## 发布重点 这是护网前的稳定性收口版本。目标不是继续堆功能,而是把真实使用时最容易 “看着能跑、现场掉链子”的路径修到可验证、可恢复、可解释。 ## 修复与加固 - **dsh 0.1.6-alpha.1 适配与思考强度**:模型配置支持 `off / low / high / max`, 真宿主验证了配置写入、请求参数与面板回显;测试默认走低思考强度,避免无谓消耗。 - **宿主流式截断可恢复**:`llm-pi-ai` 把工具调用参数 JSON 截断 (`Unterminated string in JSON...` / `Unexpected end of JSON input`)归为可重试 `TRANSPORT`,不再以不可重试错误中止整个长任务。 - **nuclei 模板目录修复**:Windows 版 nuclei 不跟符号链接;现在选择确实含模板的 目录并传真实路径,避免空模板集联网初始化卡十几分钟。 - **dirsearch 输出治理**:默认 `-q --no-color`,避免进度条把命中行淹没在 800KB 输出里,模型预览只看到开头而漏掉真实入口。 - **扫描证据与对账**:扫描全文落盘、模型只读封顶预览;ffuf JSON 命中回传; 并发落盘使用毫秒 + 随机后缀,避免同秒覆盖证据原件。 - **WebShell 管理**:修复 Windows 命令马分块上限、certutil 中文状态行污染、 中文 `dir` 解析、连接错误对象契约与参数映射;覆盖、删除、恢复走可恢复备份。 - **知识库**:修正连接层错误形状与异步拒绝导致的 UI 卡死;删除/覆盖/恢复走 `.trash` / `.backups`;自动清理同步残骸;列表布局在空右栏时不再被挤窄。 - **成果与报告**:修复跨会话导出统计全零;证据等级、二次评级与结构化报告 校验保持可用;报告草稿不覆盖旧稿,证据不足的草稿仍过不了 P2 门禁。 - **任务与恢复**:单机任务队列、中断恢复、子代理结果回收、结果冲突不覆盖终态; 项目工作台按工作区聚合目标、准则、任务、证据与待处理项。 - **出站与脱敏**:模型代理、知识同步、MCP 包运行器接入统一出站策略; Authorization、Cookie、私钥、云密钥与常见 token 做字段级脱敏。 ## 上下文与知识 - 三 preset 的 tool-result pruner 控制在有界体积,工具包按需加载, 避免功能面增长直接把上下文打爆。 - 知识检索保持 FTS5 + 中文 bigram + BM25 + metadata boost。 52 条人工核对评测最近结果为 Top-1 94.2% / Top-5 100% / MRR 0.965, 平均约 32ms;当前证据不支持先引入向量 RAG。 ## 验证 - 全量回归:37 套,2104 ok / 0 fail / 16 skip。 - release gate:6/6;扩展检查 21/21。 - 真实与隔离 profile:228 个文件 / 23 个插件字节一致。 - 任务基线:40 个任务,成功率 90%,过期中断恢复率 100%。 - 知识评测:Top-1 94.2% / Top-5 100% / MRR 0.965 / 约 32ms。 - 带标注本地靶场:2 个真漏洞全部发现;5 个诱饵均完成差分排除或明确标注。 - 真实宿主流式重试已复现:本轮基准运行中出现 `llm/retry` 后继续执行。 ## 已知边界 - 不做 Docker/Kali 隔离执行面;不要把 Saker 当成内网横向、样本分析或高权限 利用的隔离沙箱。 - 尚未接入 Argus / CAIBench / Cybench 等外部标准基准;当前数据主要来自本地 真实宿主、真实模型与标注靶场。 - 本地 JSP AntSword 马的 scriptlet 已通过 `javac` 语法/类型校验; Saker 的 WebShell 管理通道并不原生实现 AntSword 的 Java class payload 协议。 现场需要该协议时应使用 AntSword 客户端,或改用 Saker 的 `cmd-system` 兼容马。 ## 升级 ```bash git pull node scripts/pack-all.mjs node scripts/install-all.mjs ``` 安装后重启 `dsh web`。修改过宿主层补丁的机器还需要按 `core-patches/README.md` 重新构建宿主。