Skip to content

v2.9.0

Latest

Choose a tag to compare

@MG-Duan MG-Duan released this 03 Nov 02:03
· 1 commit to master since this release

WHartTest v2.9.0 版本更新说明
本次版本围绕 效率提升 与 安全加固 两大主题,新增Skill 沙箱、AI 自愈、一键生成用例等 5 项核心能力,并修复了 WebSocket 无鉴权安全漏洞。

🎉 新功能
一、Skill 沙箱
Skill 执行链采用「进程内护栏 → 独立容器沙箱 → 供应链体检」三层纵深防御架构,全面收敛 LLM 生成命令带来的执行风险,默认以 runner 独立沙箱模式执行:

  • 进程内执行护栏:废除 Shell 解释器,改为结构化命令解析并阻断元字符注入;启动器白名单仅放行 python / node / playwright-cli 等受信入口;禁止内联动态代码(-c / -e)与运行期动态装包;环境变量按白名单注入,名称含 SECRET / PASSWORD / TOKEN / KEY / AUTH / PRIVATE 的变量一律剥离,防止平台核心凭据泄漏;独立进程组运行、超时整组强杀,杜绝孤儿进程,并输出结构化安全审计日志
  • 独立容器沙箱(默认模式):Skill 在 skill-runner 独立容器中执行,非 root 降权、剥离全部 Linux Capability、只读根文件系统、tmpfs 内存临时工作区即用即销毁;与 Postgres / Redis / Qdrant 等核心存储网络物理隔离,执行接口经 Token 鉴权,并限制 CPU / 内存 / 进程数配额,防止资源被恶意耗尽
  • 供应链安全体检:外部导入的 Skill 压缩包 / Git 仓库入库前先做静态安全扫描,拦截恶意钩子、硬编码密钥等投毒风险
    二、一键生成接口用例、场景用例
  • 新增一键生成接口用例:依据接口导入时固化的接口约束,从 基本功能验证、参数验证 两个维度自动生成接口用例——基本功能验证覆盖接口的正常业务场景,参数验证覆盖必填校验、边界值、异常类型等参数级场景;生成完成后自动试跑验证,确保用例可直接执行
  • 新增一键生成场景用例:基于功能用例描述的业务步骤,自动匹配编排涉及的多接口调用链,生成贯穿业务流程的多接口场景用例,实现从单接口验证到业务链路验证的覆盖
    三、一键生成 UI 自动化用例
  • 新增一键生成 UI 自动化用例:选择功能用例与执行环境后,AI 驱动真实浏览器逐条读取功能用例步骤,探索目标系统页面 DOM,将功能步骤转化为页面元素与页面步骤,生成对应的 UI 自动化用例
  • 元素库复用:生成时按「页面 URL 匹配 → 元素语义匹配 → 定位器仲裁」三级信号优先复用元素库已有资产,无法复用才新建落库,避免元素冗余;页面改版导致主定位失效时自动将有效定位写入备用定位并提示人工确认
  • 试跑验证与自动绑定:每条用例生成后强制试跑验证,失败自动修复重试;试跑通过后自动回写与功能用例的绑定关系,未通过不绑定,确保交付的 UI 用例真实可用
    四、UI 自动化用例自愈 + 任务中心失败自愈
  • UI 自动化模块支持自愈功能:用例执行失败时,可手动触发AI自愈,自动诊断失败原因并尝试修复定位元素,自愈结果沉淀回用例资产
  • 任务中心执行 UI 自动化用例失败后可自动触发 AI 自愈任务,自愈过程在对话中实时展示
    五、登录态一键更新
  • 登录态支持一键更新,无需删除重建即可刷新原有登录态

🔒 安全修复


⬆️ 升级提示

  1. WebSocket 认证强制开启:本次更新后所有 ws 连接携带 Token 鉴权,平台与执行器需配套升级,旧版执行器将因认证失败无法建立 ws 连接,导致任务无法下发执行
  2. Skill 需重新安装:升级平台后请在技能管理中先卸载旧版 Skill,再安装最新版本,否则可能出现用例生成、执行失败等问题