用途
test-red-team 是一个对抗性全应用缺陷扫描技能,对运行中的 Web、React Native 或 Capacitor 应用执行一次敌意、怀疑式的全面检查,覆盖 UI/UX、数据管道、安全与性能。默认输出是按严重程度排序的缺陷列表,而不是内联修复;报告完成后可再询问用户优先修复哪些缺陷。
主要能力
- 构建覆盖矩阵:从功能/能力 → 界面(路由、子页面、API 端点、RPC、数据表)→ 组件与状态(表单、表格、模态框、空/错误/加载状态、角色)→ 四个攻击维度(UI/UX、数据管道、安全、性能)。每个单元格判定为 PASS、DEFECT 或 N-A。
- UI/UX 红队:3 秒清晰度、主操作、空/加载/错误状态、死按钮、表单标签、响应式、深色模式、角色变体、溢出。
- 数据管道红队:对每个变更界面在 UI、网络、数据库三层验证,包括重复提交、乐观更新谎言、陈旧缓存、幽灵删除、竞态/部分写入、幂等性、关系完整性、分页一致性。
- 安全红队(OWASP 映射):授权/IDOR、认证、注入、敏感数据、安全响应头、Capacitor MASVS。使用良性载荷确认,绝不使用破坏性 PoC。
- 性能红队:冷加载、大列表、分页/无限滚动、载荷大小、内存增长、并发请求、Supabase N+1。
- 发现链与分级:扫描 DEFECT 单元格寻找组合链,按严重程度、可能性、影响、受影响组件、修复建议分级。
- 缺陷报告:按严重程度分组,包含攻击链、最终覆盖矩阵、后端真值检查、上线就绪结论、测试数据清理。
使用方式
- 自由度:混合。矩阵与严重程度为高自由度;交战规则、测试装置与良性载荷确认为低自由度,需严格照做。
- Web 驱动使用 playwright-cli。在任何浏览器操作前阅读 protocol-browser-anti-stall(规则 0:手动且有头)与 references/playwright-session-coordination.md。
- 通过可见 UI 手动攻击,一次一个真实操作。eval / CDP / WebView 附加只能设置条件(限流、终止请求、模拟)或检查,绝不执行被测的点击/输入/提交。
- 阶段 0:范围与交战规则,检测技术栈、选择自动化驱动、Capacitor WebView 附加、交战规则、浏览器会话。
- 阶段 1:侦察并构建覆盖矩阵。
- 阶段 2:UI/UX 红队。
- 阶段 3:数据管道红队(三层验证)。
- 阶段 4:安全红队(OWASP 映射)。
- 阶段 5:性能红队。
- 阶段 6:发现链与分级。
- 阶段 7:缺陷报告(交付物)。
- 报告前自评:无漏洞 PoC、每个 DEFECT 有证据、未测试不等于 PASS、正确归属、报告优先。
适用场景
- 对运行中的 Web、React Native 或 Capacitor 应用进行红队测试。
- 上线前对抗性缺陷扫描。
- 渗透测试应用。
- 攻击或破坏自己的应用以发现缺陷。
限制
- 纯原生 iOS/Android(Swift/Kotlin UI)超出范围,使用 Appium,需在报告中记录为限制。
- 不编写漏洞 PoC 到仓库。
- 不修改生产数据;任何不可逆操作前需询问。
- 秘密仅按名称引用,绝不打印。
- 绝不阻塞超过 3 秒;最多尝试 4 次;超时后标记 [TIMEOUT] 并继续。
- 每个 DEFECT 需有证据:截图 + 控制台 + 网络 + 数据库。
- 未测试的单元格为 N-A 并说明原因,而非 PASS。
- 报告优先,仅在用户选择 Critical/High 后修复。
- 与其他技能分工:test-exploratory 负责朴素访客与已认证漫游;test-qa 负责故事/CRUD 冒烟;test-playwright 负责本次差异的 PDCA 与修复;audit-llm-security 负责产品 LLM/提示注入深度;test-load 负责并发破坏点;audit-security 负责静态 OWASP 清单。