mirror of
https://github.com/Ed1s0nZ/PrivHunterAI.git
synced 2026-10-24 16:44:26 +00:00
4.4 KiB
4.4 KiB
重构验收记录
日期:2026-10-07。测试均使用虚构账户和临时 SQLite,不使用真实模型密钥。
需求与证据
| 需求 | 当前实现 | 验证 |
|---|---|---|
| 可维护目录,移除 AIAPIS | cmd、internal 分职责模块、frontend pages/components/api/hooks | 旧源码移除,go build 和 TypeScript 构建 |
| React 前端与侧边栏 | React 19 / TypeScript / Vite;桌面与窄屏布局 | Playwright 初始化、导航;1280 与 390px 截图检查 |
| Gin 后端 | httpapi Router,中间件与处理器分离 | Gin 接口测试与浏览器同源调用 |
| 登录鉴权 | bcrypt,哈希会话,HttpOnly/Strict Cookie,同源与 CSRF,角色控制 | 登录/退出/密码变更测试、只读接口拒绝 |
| SQLite3 | WAL、外键、事务初始化、用户/会话/结果/设置/审计 | store 关闭重开持久化测试 |
| 扫描保留与优化 | 有界队列、范围检查、头副本、超时、重试、解压上限、去重 | HTTP 代理完整链路与竞态测试 |
| 新增场景功能 | 概览、搜索筛选、证据对比、复核备注、用户管理、审计、暂停设置 | 2 个连续浏览器流程;代理→UI→复核→刷新 |
| 导出 | 同一 SQLite 查询快照,10000 条/32 MiB 上限,CSV/JSON | 浏览器 CSV 下载;公式防护单元测试 |
| 敏感信息不上传 | config/env/data/db/证书/日志/导出排除;请求证据脱敏;设置不返回凭证 | 敏感格式位置扫描无命中;config/data check-ignore;未 push |
| 旧配置迁移 | -import-config 显式本地导入,保持暂停 | 虚构旧配置导入测试 |
执行检查
go test ./...:通过。go test -race ./...:通过。go vet ./...:通过。go build -o bin/privhunter ./cmd/privhunter:通过。npm run build:通过(严格 TypeScript 检查与 Vite 构建)。npm run test:e2e:2 项通过;初始化、登录、导航、设置、用户创建、审计、导出、密码变更、只读权限、退出,及真实 HTTP 代理采集/脱敏/复核/刷新。git diff --check:通过。
边界
真实外部模型供应商未调用,避免消耗密钥和传输真实数据。模型适配协议已用本地测试服务验证;模型判断仍需人工复核。HTTPS 证书安装依赖操作系统信任设置,自动化目前验证 HTTP 代理路径。关键词脱敏不是任意敏感内容检测器,业务特殊字段应扩展规则。
不宣称本次覆盖所有可能新增功能;已实现 rebuild-plan 中列出的场景范围。未执行提交或远程推送,所有变更留在本地供审阅。
管理页反馈迭代(2026-10-07)
扫描控制与系统设置采用分组卡片、说明侧栏、固定保存栏;用户管理采用统计、成员身份列表与新增成员弹窗。检查了桌面和手机截图。保留草稿离开提示、敏感字段不回显及管理员权限保护。
结果列表只返回摘要,详情通过鉴权接口按需读取完整脱敏证据,导出仍保留证据。新增摘要/详情/导出一致性测试、详情鉴权与缺失记录测试;扫描脱敏测试从详情读取正文进行验证。
本轮 go test ./...、React 构建与 2 项端到端测试通过;补充测试后 scanner/httpapi/store 测试、go vet ./...、Go 构建和 diff 检查通过。本地 8222 服务已重启到新版本。未调用真实模型服务,未上传配置、凭证或数据库。
导航与样式维护迭代
- 页面地址使用
#/overview、#/findings等路径。浏览器测试覆盖刷新后保留系统设置、返回/前进、拒绝历史导航后保留配置草稿、只读用户直接访问管理员页面回概览,以及直接打开结果页。 - 新导航 hook 独立于认证编排;侧栏使用
aria-current,文档标题显示当前页面。退出登录复用草稿保护。 - 1590 行样式按基础、登录、布局、组件、概览、证据、配置、成员、响应式覆盖拆分;入口保持原顺序。拆分前后构建 CSS SHA-256 一致(字节内容完全相同)。
- API 类型区分
FindingSummary和完整Finding,列表调用不能假定已加载正文。 - 最终运行
go test -race ./...、go vet ./...、TypeScript/Vite 构建、2 项完整浏览器流程及 diff 检查均通过。当前本地服务返回 HTTP 200。 - 待提交/未忽略源码与本地旧配置的凭证值比对无命中;运行目录 0700、数据库 0600;生产前端依赖
npm audit --omit=dev返回 0 项漏洞。