
关于
分五个阶段(目录、点击、追踪、分类、报告)审计实时网页,识别模拟数据、硬编码值和未连接的 UI 组件。
name: mock-hunter description: "通过五个阶段(编目、点击、追踪、分类、报告)审计实时网页,识别模拟数据、硬编码值、LLM生成的指标和失效端点。为每个可见值输出包含 REAL/MOCK/LLM/HARDCODED/BROKEN/UNKNOWN 判定的 Markdown 报告。" category: testing risk: critical source: community source_repo: CodeShuX/mockhunter source_type: community date_added: "2026-05-07" author: CodeShuX tags: [testing, qa, playwright, mock-detection, web-audit, ai-testing, vibe-coding, claude-code] tools: [claude] license: "MIT" license_source: "https://github.com/CodeShuX/mockhunter/blob/main/LICENSE" plugin: targets: codex: blocked claude: blocked
MockHunter — 实时页面真实性检查
概述
MockHunter 是一个 Claude Code 技能,用于审计实时网页,并告诉你每个可见值是真实的、模拟的、LLM生成的、硬编码的、失效的还是未知的。它专为 vibe-coded 应用(Lovable、Bolt、v0、Replit、AI Studio、Cursor Composer)设计——这类应用的 UI 看起来可能已经完成,但数据层往往并非如此。它使用 Playwright MCP 驱动真实浏览器,然后通过网络和 DOM 追踪每个可见值的来源。
本技能改编自上游 CodeShuX/mockhunter 项目(社区来源)。
由于此工作流会驱动真实浏览器访问实时页面,请将其视为交互式审计工具,而非插件安全的只读助手。默认仅观察,直到用户确认目标页面归其所有、指定安全的测试账户或环境,并明确批准任何可能改变状态的点击、提交或认证操作。
何时使用此技能
- 审计 AI 生成的 UI,确认哪些值实际已连接数据
- 在签收前审查承包商或团队成员的交付物
- 在向客户或投资者展示 vibe-coded MVP 之前使用
- 当仪表盘看起来太干净时——所有指标都是整数、时间戳集中、无变化——怀疑是预设数据
工作原理
第一阶段:设置与智能提问
- 问候用户,询问目标 URL
- 从 URL 自动检测技术栈(
*.lovable.app、*.bolt.new、*.v0.app、*.replit.app、aistudio.google.com,否则为自定义) - 提出 3-5 个针对性问题:认证模式(公开/本地/表单/跳过)、数据库访问(可选)、疑点、页面目标
- 确认审计计划、所有权/权限、目标环境和允许的操作类别后再继续
第二阶段:导航与编目
browser_navigate到目标 URL- 按选定模式处理认证(表单登录:填写字段、点击提交)
- 等待网络空闲(最长 10 秒)
- 截取全页截图,捕获无障碍快照
- 清点所有:标题、按钮、链接、输入框、卡片、徽章、统计数据、表格单元格、空状态、图片
- 捕获初始控制台错误和网络请求
第三阶段:测试交互性
- 对每个标签页:仅在用户批准导航类交互后点击,然后截图、滚动到底部、重新编目
- 对每个按钮:仅点击用户批准的、白名单中的控件——通过角色、无障碍名称、附近文本、图标、URL/操作目标和预期网络副作用判断为明确非破坏性的;跳过破坏性或模糊的控件,而非仅依赖标签正则匹配
- 对每个表单:识别必填字段,优先使用空提交验证;仅在用户明确批准具体表单、目标环境和测试账户时才提交测试数据
- 记录每个元素的行为
第四阶段:追踪来源
对每个可见值,执行以下决策树:
Did any network request return this value?
├── YES — found in a response:
│ ├── Status 4xx/5xx → BROKEN
│ ├── Endpoint matches /ai|openai|generate|llm|chat → LLM
│ ├── Response shape matches mock library (faker, MSW, mockoon) → MOCK
│ ├── Uniformity flags trigger → MOCK or LLM (review)
│ ├── DB connection provided?
│ │ ├── Run read-only SELECT, value matches DB row → REAL
│ │ └── Value not in DB → MOCK
│ └── No DB → UNKNOWN (best-guess)
└── NO — value not in any network response:
├── String literal in DOM source → HARDCODED
├── Computed from Math.random / Date.now / faker → MOCK
└── Cannot determine → UNKNOWN
一致性启发式规则标记可疑数据:
- 所有行的数值完全相同
- 所有百分比都是整数(50%、75%、90%)
- 所有时间戳集中在同一分钟内
- 10+ 行中唯一值少于 3 个
第五阶段:报告
生成 mockhunter-report.md,包含:
- 摘要表(判定计数)
- 按区域/标签页的发现(元素/值/判定/来源/严重程度/操作)
- 控制台错误和网络故障
- 无操作按钮
- 可疑模式
- 给用户的智能后续问题
示例
示例 1:审计 Lovable 管理仪表盘
User: /mockhunter audit https://my-app.lovable.app/admin
Skill: [Phase 1] Stack detected: Lovable. A
兼容工具
Claude CodeCursor
标签
前端开发