Skip to content

v0.3.5 — Kali 安装修复 + Stargaze 视觉精修

Choose a tag to compare

@Dest1ny-Sec Dest1ny-Sec released this 18 Aug 02:51
· 12 commits to main since this release

v0.3.5 — 2026-08-18 · 安装体验修复 · 三波视觉精修 (stargaze edition)

安装体验

  • 预构建 frontend/dist 提交到仓库:在 Kali / 裸 Linux 等没有 Node.js 的环境直接 ./scripts/start-dhunter.sh start 就能起来,Web UI 不会空白;
  • start-dhunter.sh 自带 build 兜底:检测到 frontend/dist/index.html 缺失时,自动 npm install --no-audit --no-fund && npm run build,npm 不可用则给出明确报错(不再静默 "no web UI found");
  • README 修正:Node.js 行从"必需"改为"可选",删掉"仓库已带预构建 dist"那种让人不敢信的表述。

视觉体系 (Stargaze Edition)

  • 字体体系:移除 Inter,改用 Fraunces(衬线展示体)+ Space Grotesk(无衬线正文)+ JetBrains Mono(代码),解决"AI 模板感";
  • 品牌符号 BrandMark.vue:纯 CSS 双星环 logo(外环 0.6px + 内环 0.9px 渐变描边,12/6 点位两颗四角星、3/9 点位两颗亮星、中央十字星),替换原来占位的 PNG;
  • 多色星图统计强调:仪表盘统计卡从"全紫"改为 nebula / aurora / red / aurora 多色 accent,配合 6px 发光圆点 + 字间距 0.16em 标签;
  • Status badge 改色:running/queued/claimed/open 从单色紫改为 aurora 青 + live pulse 动画;
  • 列表 stagger 入场:targets / runs / vulns 三类列表加 0/40/.../360ms 错峰上浮动画(cubic-bezier 0.16,1,0.3,1)。

交互细节

  • 目标卡 5 按钮 → 4 按钮 + 导出▾ 下拉:导出 Markdown 报告 / HTML 报告统一到上弹下拉菜单(避免压边框);
  • 设置页三轮呼吸空间:grid 14→20→28px、col 12→18→22px、card body 18→22px、form-grid 12→16px;
  • 漏洞页新增"运行"列:点击 run-id 芯片直达运行详情;
  • 搜索页空态 + 热门关键词:2 列布局,左 10 个关键词 chip(带 stagger),右 3 条搜索技巧;
  • 设置页三个 section title 配渐变下划线分隔。

工程

  • 新增 scripts/build-release.sh:跨平台编译(darwin/arm64 + linux/amd64,CGO=0、trimpath、-s -w)并打包 agents/ + frontend/dist/ + configs/ + scripts/ + README/LICENSE/notes 为 tarball;
  • README 截图全部刷新为 stargaze edition(assets/screenshots/*.png)。

v0.3.2 — 2026-08-16 · 上下文窗口压缩 · 增量规划 · 版本对比 · 收藏/通知/向导

Token 进一步优化

  • 滑动窗口压缩:tool loop 超过 20 轮后,最早的轮次折叠成「工具活动摘要」合并进首条消息,只保留最近 12 轮完整上下文——长 run 的上下文有硬上限(普通 run ≤ 20 轮完全不受影响,缓存不破坏);旧轮次的 thinking 块随整轮一起丢弃(thinking 不能单独裁剪,signature 会校验失败,整轮丢弃是安全等价的实现);
  • reason 增量规划:planner 从第 2 轮起只看到新增 facts(known_fact_ids),不再每轮全量重发已知情报。

功能

  • 报告版本对比:项目会话页勾选两次评估(最多 2 个)→ 展示漏洞差集(本次新增 / 已消失 / 两次均有),同一目标的"这次扫出了什么新的"一目了然;
  • 目标收藏:目标卡片 ★ 置顶(后端 favorite 列 + 列表排序,重启保留);
  • 浏览器通知:运行页挂载时请求一次权限,run 结束时桌面通知(成功/失败/状态);
  • 首启向导:首次进入且目标为空或未配置模型时,弹出三步引导(欢迎 → 配置模型 → 授权目标)。

⚠️ 免责声明:见仓库 DHUNTER_NOTES.md —— 仅对已获得书面授权的目标使用,未授权测试可能触犯法律。

v0.3.1 — 2026-08-16 · Token 优化 · 跨运行去重 · 预算可视化

Token 消耗优化(成本)

  • 显式 prompt caching:system 块标记 cache_control: ephemeral,Anthropic 原生端点跨轮次/跨 worker 复用前缀(DeepSeek 等兼容网关忽略该字段、走自动前缀缓存);DHUNTER_LLM_CACHE_SYSTEM=0 可关闭;
  • 工具结果截断 20k → 8k:上下文峰值直接砍半(tool_result 会在后续每轮重发);
  • verifier 瘦身:改用固定精简 system(不再转发含红线/知识注入的 worker system);证据/复现截断 4k/3k → 2k/1.5k;运行中验证从"每 10 秒定时"改为仅在新漏洞落地时触发,收敛后兜底全量复核。

功能

  • 跨运行漏洞去重:同一目标在后续 run 中重复上报同一漏洞 → 409 并指向已有记录(dismissed 的除外,允许重新验证),列表不再堆积重复发现;
  • 预算实时显示:运行详情页展示「已消耗 / 预算(百分比)」,随消耗变红预警(设置页红线依旧生效,到点自动停止)。

v0.3.0 — 2026-08-16 · 安全加固 · 契约修复 · 前端完善

安全加固(自身)

  • 前端报告/证据渲染接入 DOMPurify,堵住"目标页内容 → 管理员浏览器"的存储型 XSS 链;
  • 三进程统一 Bearer 鉴权:Python agent(9100)新增 DHUNTER_AGENT_TOKEN(Go server 自动携带),与平台/MCP 同一标准;
  • 删除默认静态 token(dhunter-admin-please-change-me 等):admin.token 留空时首次启动自动生成随机值并持久化,重启不变;
  • 登录接口新增 每 IP 限速(默认 10 次/分钟),防口令爆破;
  • Token 预算红线生效(此前是死代码):设置 → Token 预算 到点自动停止并保留进度;
  • 新增 force_reset_password 密码找回路径:configs/dhunter.yamlbootstrap_password + force_reset_password: true,重启即重置(无密码时拒绝执行)。

功能修复(用户可见)

  • 双账号 A/B IDOR 真正可用:后端接收 account_a/account_b(此前被静默丢弃),"已配置会话"标记不再误报;
  • 实时事件流修复:SSE 事件携带 type + call_id,推理/回复/工具调用三个 pane 恢复分类显示,run 结束后页面状态自动更新(此前一直停在 running 需手动刷新);
  • 运行记录列表显示目标名(后端 JOIN targets 返回 target_value/target_name);
  • 仪表盘趋势图改为真实数据(按漏洞发现时间聚合),不再展示硬编码假曲线;新增 30s 自动刷新;
  • 失败 run 的失败原因在详情页直接展示;创建表单提示 30 分钟运行上限;
  • 报告支持导出 HTML(DOMPurify 净化的独立文件);
  • 小修:BoardView 终态停止轮询、事件流 1000 条截断、搜索框 IME 守卫、paused 状态样式、Targets 页加载错误提示、删除死组件。

测试与工程

  • 新增 Go E2E 契约测试(10+ 用例):锁定 targets/runs/vulns/report/SSE/鉴权/密码重置的 HTTP 契约,杜绝前后端字段名再漂移;
  • 新增 前端测试框架(vitest)28 个用例 + CI 接入;
  • 端口默认值统一 13343(此前 Go/Python 多处写死 8080);vite dev 代理同步修正;
  • 新增 scripts/dev-env.sh:手动启动一键生成/复用三进程一致 token;
  • smoke-test.sh 结束时自动清理测试数据。