|
9 | 9 |
|
10 | 10 | 尚无已记录的未发布变更。 |
11 | 11 |
|
| 12 | +## [2.0.2 Ultimate] - 2026-07-22 |
| 13 | + |
| 14 | +### Agent 运行时 |
| 15 | + |
| 16 | +- 默认启用 Runtime v3,并保留 `agent_runtime: legacy` 兼容模式。 |
| 17 | +- 增加结构化 Agent 消息块,支持 text、reasoning、tool call、tool result 和 artifact reference,并为运行、轮次、步骤与工具调用分配稳定 ID。 |
| 18 | +- 修复 TUI 流式路径绕过 native tool calling 和单次响应只处理第一个 tool call 的问题;流式响应现在保留完整的 tool-call 增量、reasoning、usage 和局部错误。 |
| 19 | +- 兼容部分模型网关把旧版 `agent_action.tool_args` 包进原生工具参数的响应,能够安全解包匹配工具并避免一次无效重试。 |
| 20 | +- 支持同一模型响应中的多个工具调用;仅对低风险、只读、幂等调用受限并行,修改型或高风险操作仍串行审批。 |
| 21 | +- 增加按需工具发现,只向模型提供当前任务相关的候选工具,降低工具误选和上下文开销。 |
| 22 | +- 增加 dangling tool-call 修补,在取消、恢复丢失、执行失败或历史不完整时补入结构化 tool result,避免供应商拒绝后续消息。 |
| 23 | +- 增加模型路由和故障切换:对 rate limit、timeout、server error、connection 和 invalid output 进行结构化分类、退避重试及 fallback,并根据备选模型能力移除不兼容参数。 |
| 24 | +- 新增 `models[]` 与 `model_routing.failover_on`,旧的单模型配置会自动映射为 primary,保持配置兼容。 |
| 25 | +- 建立统一、脱敏的 RunEvent/JSONL trace,覆盖模型、工具、子 Agent、审批、压缩、重试、failover 和 checkpoint,记录耗时、Token、错误分类和 artifact 引用而不记录密钥或完整敏感输出。 |
| 26 | +- Checkpoint 升级为带 `schema_version`、完整性哈希、前一份可恢复快照、待处理/已完成工具调用和事件游标的执行快照;旧 checkpoint 只从真实轮次边界迁移。 |
| 27 | +- 在模型完成与一轮工具完成后增加安全取消点;恢复后不会重复执行已标记完成的修改型工具。 |
| 28 | +- 巨大工具结果会落盘为带来源、目标、SHA-256 和摘要的 artifact,长上下文摘要仍保留原始证据引用。 |
| 29 | +- 新增确定性 `host_incident_baseline` 和 `webshell_hunt` workflow,先并行收集固定证据,再交给模型研判,减少漏步骤和重复探测。 |
| 30 | +- 内置工具由 65 个扩展至 70 个,新增主机应急、WebShell 排查、网络设备快诊和比赛答案校验等确定性能力。 |
| 31 | + |
| 32 | +### 网络设备与远程协议 |
| 33 | + |
| 34 | +- 重写 Telnet 连接/登录状态机,兼容 Username、Login、Password、Passcode 等提示,支持可配置认证正则、自动提取 CLI prompt 和特权密码。 |
| 35 | +- SSH/Telnet 增加华为 VRP、H3C Comware、锐捷 RGOS 与 Cisco IOS 设备类型;SSH 在 Linux/SFTP 特征不成立时可回退到 PTY 交互 CLI。 |
| 36 | +- 华为/H3C 支持在配置特权密码后自动执行 `super`,并持续跟踪 `system-view`、子配置视图及 `quit`/`return` 引起的 prompt 变化;配置态仍需高风险审批。 |
| 37 | +- 自动识别 `<Huawei>`、`[Huawei]`、`<H3C>`、`Ruijie#` 等 prompt,支持自定义 prompt,并根据厂商自动执行 `screen-length 0 temporary`、`terminal length 0` 等关闭分页指令。 |
| 38 | +- 增加华为/H3C/锐捷/Cisco 常见 `---- More ----`、`More`、`Press Q to break` 分页处理,按设备语义发送空格或回车,避免长输出卡住。 |
| 39 | +- 执行器会继续排空设备输出直到找回 prompt,即使达到展示上限也不会污染下一条命令的边界。 |
| 40 | +- 区分设备端过滤投影与真实字节截断:`projection=filtered, output_truncated=false` 表示 `include/exclude/begin/section` 只返回匹配行,仅 `output_truncated=true` 表示真正超限。 |
| 41 | +- 新增 `network_device_baseline` 与 `network_device_diagnose`,支持版本、板卡、接口、路由、STP、日志及 interfaces/routing/l2/logs 限时快诊。 |
| 42 | +- 完善初始化向导与 Fleet 配置,SSH/Telnet 均可设置 `device_type`、`prompt`、认证提示及 enable password。 |
| 43 | +- 强化对控制端裸 `ssh/scp/sftp` 的拦截与引导,使已配置密码/私钥的目标统一走内置 Fleet,避免子进程卡在交互式密码提示。 |
| 44 | +- 重构 FTP 登录和数据通道:优先 EPSV,不支持时回退 PASV;PASV 复用控制连接对端 IP,不盲信服务端广播地址,降低 NAT 错址和 FTP bounce 风险。 |
| 45 | +- FTP 连接器新增显式 FTPS(AUTH TLS)和隐式 FTPS,默认校验证书链/主机名,支持私有 CA,并强制 `PBSZ 0` + `PROT P` 加密数据通道。 |
| 46 | +- FTP 数据通道新增主动和自动回退模式:优先 EPRT,IPv4 老服务端回退 PORT;主动回连限制为控制连接对端,且明确拒绝与控制端代理混用。 |
| 47 | +- FTP 增加连接、命令、传输分阶段超时,完整读取多行响应和最终状态,严格校验路径/参数以阻止 CRLF 命令注入。 |
| 48 | +- FTP 下载先写入 `0600` 临时文件,仅在成功终态后原子替换目标;中断、超时或截断不会留下伪完整证据。 |
| 49 | +- FTP 目标模式支持使用 `local_run` 在控制端复核已下载文件,避免传输成功后因目标协议不提供 Shell 而中断证据校验。 |
| 50 | + |
| 51 | +### 比赛与任务效果 |
| 52 | + |
| 53 | +- 新增 `--competition` 比赛模式,针对 6 题/60 分钟的「AI 智运」节奏,强化 10 分钟限时快诊、证据绑定、最小处置、复验和回滚。 |
| 54 | +- 新增 `competition_answer_check`,按任务完成度、技术准确性、AI 应用效率、输出规范、证据覆盖和 AI 幻觉纠正检查答案。 |
| 55 | +- 完善通用比赛模式的限时快诊、设备输出截断判断、证据绑定和答案自检流程。 |
| 56 | +- 保留「上下文隔离子 Agent + 有界线索共享」设计,强化子 Agent 任务参数、目标绑定、并行任务和结果聚合。 |
| 57 | +- 优化工具选择、证据完整度检查和故障恢复流程,降低漏步骤、无依据结论和重复调用。 |
| 58 | + |
| 59 | +### 代理与连接 |
| 60 | + |
| 61 | +- 新增类 fscan 的原生启动参数:`-proxy http://127.0.0.1:8080` 和 `-socks5 socks5://127.0.0.1:1080`,两者互斥且只影响当前进程。 |
| 62 | +- 新增持久化 `controller_proxy`,支持 HTTP、HTTPS、SOCKS5 和 SOCKS5H;命令行参数优先但不回写配置。 |
| 63 | +- 统一代理 LLM、MCP HTTP、普通 HTTP/Web、浏览器、TCP/CIDR/数据库探测和 SSH/Telnet/FTP 控制端连接;HTTP CONNECT 和 SOCKS5 均支持 TCP 隧道。 |
| 64 | +- 代理用户名、密码和完整 URL 会在 Banner、模型上下文、报告、trace 和 MCP 环境中脱敏。 |
| 65 | + |
| 66 | +### TUI 与交互体验 |
| 67 | + |
| 68 | +- 新增终端背景自适应主题:默认通过 OSC 11 / `COLORFGBG` 识别深浅背景并选择高对比色板,初始化向导、`terminal_theme` 和 `--theme` 支持 `auto|dark|light`。 |
| 69 | +- 优化 Markdown 正文和表格中的 Emoji 排版,数字键帽、状态图标与中英文保持稳定间距,且不影响原始命令、审计证据和中文输入法光标。 |
| 70 | +- 修复长时运行后 TUI 出现重复行、旧边框残留和板块错位的问题;内容刷新、滚动、窗口缩放与输入换行现在失效整帧物理缓存。 |
| 71 | +- 保留逐帧精确的 macOS/中文输入法光标锚点;用于强制重绘的私有标记在写入终端前移除,不影响字符宽度或候选框位置。 |
| 72 | +- 合并供应商/运行时重复上报的相邻思考和重复询问展示,但不修改原始审计或 checkpoint 内容。 |
| 73 | +- 修复后台 Web/HTTP 服务保持运行时 Agent 永久等待 stdout/stderr 管道 EOF 的问题;前台 shell 结束后 Agent 可继续下一步,已正确脱离的服务不必被关闭。 |
| 74 | +- 高风险确认升级为 `Y` 仅本次、`A` 本会话允许同类范围、`N/Esc` 拒绝,`Enter` 继续默认拒绝。 |
| 75 | +- 会话授权采用保守指纹:文件修改按“动作类型 + 精确路径”,Shell 按“目标 + 完整命令”,工具按“目标 + 工具 + 完整参数”匹配;授权不进入 checkpoint,新建或恢复会话时清空。 |
| 76 | +- 移除旧的进程级 Shell 批准缓存;`Y` 现在真正只批准当前一次,不再跨 `/new` 或恢复会话隐式放行。 |
| 77 | + |
| 78 | +### 兼容性与稳定性 |
| 79 | + |
| 80 | +- 改进 OpenAI Chat Completions、OpenAI Responses 和 Anthropic 协议兼容性,完整处理多工具调用、流式参数、usage、响应中断和取消。 |
| 81 | +- 加强 429、服务端错误、超时、连接重置、空响应、工具超时、MCP 断连、SSH 中断及 checkpoint 损坏时的错误提示和恢复能力。 |
| 82 | +- 修复多工具批次中单个调用失败却被 checkpoint 标记为完成的问题;失败的低风险调用可正常重试,结果不确定的修改型调用仍保守防重放。 |
| 83 | +- 同一交互式目标会话的只读工具保持模型顺序执行,独立控制端工具仍可受限并行,避免 SSH/Telnet/FTP 响应串线。 |
| 84 | +- 修复 `golang.org/x/text` 的 GO-2026-5970 以及 `golang.org/x/net` 的 DNS/HTML/IDNA 解析漏洞,升级到已修复依赖,并在 CI 增加二进制符号级可达漏洞扫描。 |
| 85 | +- 发布构建启用 `-trimpath` 并关闭 VCS 自动注入,避免公开二进制泄露构建机本地路径,提高可复现性。 |
| 86 | +- 公开 `SHA256SUMS` 与 Release ZIP 严格对齐为 7 个跨平台主程序,不再混入仅开发机使用的 benchmark/smoke 和本机别名。 |
| 87 | +- 修复初始化和远程配置向导中断后仍可能保存半成品配置的问题;现在取消任一关键输入都会中止且不继续落盘。 |
| 88 | +- 收紧控制端证据文件与目录权限为 `0600/0700`,处理 SFTP 远端目录创建错误,并让 MCP 热刷新和工具调用随连接关闭而取消。 |
| 89 | +- 发布配置模板默认使用本地模式且不预填远程主机,防止用户直接复制后误连外部目标。 |
| 90 | +- 进一步将 Memory、checkpoint、报告、调度、浏览器 artifact、WebShell 进度和新建的本地 Agent 文件收紧为 `0700/0600`;无法收紧内部证据目录时明确失败,而编辑已存在的业务文件仍保留原权限,避免影响 Web/服务账号读取。 |
| 91 | +- 修复部分内置工具直接读取本地超大文件时绕过 2 MiB 安全上限的问题,避免误读巨大日志或镜像时导致进程内存异常。 |
| 92 | +- 修复极快本地命令退出时流式输出偶发丢失的竞态,同时保持后台服务继承管道时的有界返回。 |
| 93 | +- WebShell/非 TTY 日志现在始终移除 ANSI 控制序列,避免在 Web 日志、CI 和文本审计中出现乱码。 |
| 94 | +- 受控容器可显式启用 Chromium 无 sandbox 兼容模式,默认仍保持 sandbox,并在降级时给出明确安全警告。 |
| 95 | +- CI 新增 gosec 高危静态分析门禁,并加入配置模板、TUI 命令与全部 70 个工具的公开文档一致性测试。 |
| 96 | +- GitHub CI 覆盖实际默认分支 `2.0`,并升级到 Node.js 24 代的官方 Actions,避免发布分支绕过门禁或触发弃用警告。 |
| 97 | +- 移除未被运行时调用的早期内置 Skill 命令实现,避免与当前 `SKILL.md`/中间件体系形成两套行为。 |
| 98 | + |
12 | 99 | ## [2.0.1 Ultimate] - 2026-07-15 |
13 | 100 |
|
14 | 101 | > 2026-07-18:该 Release 原位刷新了修正版源码和全平台二进制,版本号与 |
|
67 | 154 | - 自动生成包含任务步骤、执行输出和结论的 Markdown 报告。 |
68 | 155 | - 提供内置 SSH/SFTP 能力和 Windows、macOS、Linux 多架构单文件程序。 |
69 | 156 |
|
70 | | -[未发布]: https://github.com/asaotomo/DeepSentry/compare/DeepSentry_v2.0.1_Ultimate...HEAD |
| 157 | +[未发布]: https://github.com/asaotomo/DeepSentry/compare/DeepSentry_v2.0.2_Ultimate...HEAD |
| 158 | +[2.0.2 Ultimate]: https://github.com/asaotomo/DeepSentry/releases/tag/DeepSentry_v2.0.2_Ultimate |
71 | 159 | [2.0.1 Ultimate]: https://github.com/asaotomo/DeepSentry/releases/tag/DeepSentry_v2.0.1_Ultimate |
72 | 160 | [2.0 Ultimate]: https://github.com/asaotomo/DeepSentry/releases/tag/DeepSentry_v2.0_Ultimate |
73 | 161 | [1.0 Ultimate]: https://github.com/asaotomo/DeepSentry/releases/tag/DeepSentry_v1.0_Ultimate |
0 commit comments