更新日志
本文档记录 TestNet 平台的主要版本演进、新增功能和问题修复。
NOTE
v2.x 版本的 AI 应用、AI 模型、AI 知识库、AI 流程编排、Ollama/DeepSeek 集成、gRPC、Elasticsearch 等功能已在 v3.0 架构重构中移除。如需了解当前功能,请以 v3.0 及之后版本为准。
[3.0.2] 2026-08-04
🐞 问题修复
- 客户端外网出口(Docker):
testnet-client此前仅挂载testnet-backend网络(internal: true),该网络无外网路由。Docker 内置 DNS(127.0.0.11)无法转发至上游解析器,对外部域名(如0.zone)返回 SERVFAIL(server misbehaving),随后被 SSRF 预检查拦截(blocked as SSRF precaution)。已为 client 新增testnet-frontend(非内部)作为第二网络,与testnet-server的双网络写法一致,使原生 HTTP/DNS/TCP 执行器可访问外网,同时 db/redis 仍隔离于内部网络。 testnet.sh update配置文件同步从未触发:fetch_latest_version在 update 命令读取local_version之前就把TESTNET_VERSIONexport 成远端版本,导致VERSION == local_version恒成立、sync_latest_files永不执行——docker-compose.yml等托管文件在update时不会被更新。现已在 fetch 之前捕获本地版本,版本比对恢复正常,配置文件可正确同步。
[3.0.1] 2026-08-04
🚀 新增功能
- 版本管理与更新检查:授权管理页面新增产品版本检查能力,展示当前运行版本与远端最新版本,检测到新版本时提示更新。新增端点
GET /api/v1/license/version与POST /api/v1/license/version/refresh,通过拉取testnet-public远端version.yml进行版本比对(Guava 缓存 + 失败降级,离线不阻塞)。 - 授权到期感知:
LicenseInfoDTO新增expiresAt、expiringSoon、expired字段,授权状态可感知即将到期(30 天内预警)与已过期。
⚡ 优化
- 授权管理页面重构:重构为状态查看页(授权信息 + 版本信息双区块),展示授权状态、机器码、到期时间与到期预警;激活流程统一收敛至登录页,避免重复入口。
🐞 问题修复
- 修复批量操作组件(BatchActions)中
WorkflowConfig/ToolConfig类型缺失version/description字段导致的 TypeScript 类型错误。
[3.0.0] 2025-07-01
重大升级提示
本版本包含破坏性变更,请务必先完整备份数据后再升级。数据库已从 MySQL 迁移至 PostgreSQL 16,不支持从 v2.x 直接升级,请全新安装后通过 Excel 导出/导入迁移资产数据。
🚀 新增功能
- MCP 协议集成:支持 Model Context Protocol,Claude Code、Cursor 等 AI Agent 可直接调用 TestNet 执行资产查询、工作流触发等 8 种操作(
testnet_query_assets、testnet_run_workflow等) - vNext DSL 引擎全面切换:工具与工作流 DSL 规范(
kind: Tool/Workflow),DAG 结构采用dependsOn+inputs.*.from表达控制流与数据流,内置 JSON Schema 实时校验 - 资产关联图谱:新增跨资产类型关联拓扑图(ECharts force-directed 可视化),在图谱视角下一览资产关联关系,端点
GET /api/v1/asset/graph - 工具商店(Registry):支持从远程 DSL 仓库一键安装、更新工具与工作流,内置 22 个安全工具 + 8 个预置工作流
- 熔断/限流保护:工作流与任务执行支持自动熔断与指数退避重试,系统告警实时推送
- 配置文件远端同步:扫描节点支持从服务端拉取配置文件并自动同步
⚡ 架构升级
- 数据库升级:主数据库全面迁移至 PostgreSQL 16,数据处理性能与并发稳定性显著提升
- API 端口调整:后端服务端口由
:8080调整为:8081(分布式客户端连接时需相应修改) - 通信架构重构:扫描探针升级为更可靠的长轮询任务接收模式,大幅改善复杂网络下的任务丢失与断连问题
- 前端全面重构:页面加载速度大幅提升,全新交互设计,且支持在 Web 界面上对 DSL 规则进行代码高亮在线编辑与格式校验
🐞 问题修复
- 修复工作流 DAG 在循环依赖场景下无限等待的问题
- 修复多节点并发执行时任务状态竞争条件
- 修复 Web 资产批量导入时 URL 去重逻辑错误
- 修复工作流定时触发(Cron)在时区偏移场景下误触发的问题
⚠️ 迁移说明
- 数据库改为 PostgreSQL 16,
docker-compose.yml中数据库容器名为testnet-db(非testnet-mysql),卷名为testnet-db-data - 后端 API 端口改为 8081,扫描节点配置
TESTNET_SERVER_URL需使用 8081 - 客户端环境变量
TESTNET_SERVER已更名为TESTNET_SERVER_URL - 备份命令由
mysqldump改为pg_dump,恢复命令由mysql改为pg_restore
[2.2] 2025-04-21
🚀 新增功能
- AI 应用管理:新增普通应用、高级流程应用配置
- AI 模型管理:统一管理对接的各家大模型 API 接口
- AI 知识库:支持上传本地资产背景与知识条目,建立本地知识图谱
- AI 流程编排:支持基于图形化拖拽的 AI Agent 任务编排
- AI 向量库:提供向量数据库本地化存储与检索接口,方便智能 Agent 进行资产语义搜索
🐞 问题修复
- 修复了大文件批量导入资产时偶尔内存泄露的 bug
- 修复了 Web 资产未自动导入到 API,以及 API 资产录入报错的问题
- 修复了 Web 资产导入时没有正常去重的 Bug
- 修复了 Httpx 扫描的 Web 资产在并发下解析错位的问题
- 修复了 Httpx 扫描没有返回状态码和包大小的问题
- 修复了部分特定 Linux 内核不兼容导致扫描节点崩溃报错的问题
[2.1] 2025-04-11
重新部署提示
本次更新对分布式通信机制进行了重构,已部署的分布式扫描节点(Client)需要拉取最新代码重新编译部署。
🚀 新增功能
- 多端口输入:端口列表支持一次录入/导入多个端口(以逗号分隔)
- 多项目上下文:新增顶部导航栏项目切换器,支持快速过滤和切换项目上下文
- 优化页面跳转:对资产点击跳转逻辑进行优化,防止误触导致离开当前编辑页面
- 日志搜索强化:任务日志实时监控查看器新增关键词全局过滤与高亮
- Web 资产路径支持:Web 资产 URL 支持非根路径识别
- 数据确权:资产新增分配归属人与部门,支持数据权限控制
🐞 问题修复
- 修复了子域名导入时自动提取顶级主域名规则错误的 Bug
- 修复了节点自定义工具加载失败后不重新加载的 Bug
- 修复了资产列表页「批量删除」特定条件下不生效的 Bug
- 修复了扫描任务完成上报结果时导入到资产中台报错的 Bug
⚡ 性能优化
- 优化了百万级资产 Excel 导入导出速度,内存消耗减少 40%
[2.0] 2025-02-07
全新安装提示
本版本移除了外部 Elasticsearch 依赖,重构了数据库模型,升级前请务必先将资产数据导出备份,并进行全新数据库初始化。
🚀 新增功能
- AI 助手升级:官方集成 DeepSeek API 以及 Ollama 本地私有部署(如 DeepSeek-R1 蒸馏模型)
- 空间引擎增强:支持 0.zone(零零信安)网络空间搜索引擎数据拉取与导入
- 系统安全性:管理员初始密码调整为容器启动时随机生成(可查看日志
docker logs testnet-server | grep '随机密码:') - 资产中台优化:端口服务支持主动标记为 OPEN 或 CLOSED 状态
⚡ 性能优化
- 移除 Elasticsearch:优化原生 SQL 查询,去除 ES 组件,整体系统内存占用降低 30% 以上
- 底层通信升级:优化服务端与分布式客户端的同步性能
- 资产搜索性能:高级查询与列表搜索响应速度提升 50%
- 结果上报重试:当扫描节点由于网络波动无法上报结果时,支持本地队列暂存与自动指数退避重传
- 高可用改善:解决因 Docker 容器执行异常导致 Go client 挂起或不在线的问题
- API 资产去重:新增 API URL 与 Methods 联合唯一联合索引,自动过滤重复数据
🐞 问题修复
- 修复了空间测绘引擎结果导入时项目选择对话框错位的 bug
- 修复了 Web 资产导出时个别技术栈 JSON 显示异常的问题
- 修复了高级查询中关于资产时间筛选的时间戳解析逻辑错误
- 修复了任务列表中分页数量跳转失效的问题
[1.9] 2024-12-05
🚀 新增功能
- 新增内置 URLFinder 路径扫描工具,支持抓取 Web 前端页面 JS 提取 API
- 新增内置 wih 敏感信息扫描工具,扫描 Web 响应和源码中的敏感凭据与邮箱
⚡ 性能优化
- 镜像预置工具:为了解决用户在节点机器拉取和编译 Go 二进制工具过慢的问题,扫描节点镜像默认集成了 Naabu、Subfinder、Nuclei 等 10 多个安全工具,免除首次运行安装的等待时间(镜像增加 1GB,但体验大幅提升)
- 支持在工具全局配置与节点配置中自定义
timeout参数(单位:分钟),默认脚本超时为 2 小时 - 优化了节点容器重启后临时安装的外部工具丢失的问题
- 任务执行失败时在任务详情中展示具体的标准错误(stderr)提示,降低排查难度
[1.8] 2024-10-11
🚀 新增功能
- 资产黑名单:支持配置基于正则表达式的黑名单过滤规则,自动拦截不需要关注的内网或特定资产
- 端口扫描优化:Naabu 和 Nmap 扫描节点新增防火墙(WAF/IDS)识别防拉黑过滤器
- 多渠道通知:系统通知新增企业微信、钉钉和飞书的群机器人 Webhook 推送支持
🐞 问题修复
- 修复了并发执行任务导致部分客户端节点长连接被服务端断开的问题
- 修复了工具自动安装在离线/无公网环境未生效报错的 Bug