SuperAPI AI 工具集

security-visual-testing

安全与审计

查看项目

更新于 10-15 14:06

技能介绍

用途

Security Visual Testing 是一个以安全为核心的视觉测试技能,用于在 Web 应用测试中同时完成 URL 安全校验、PII(个人身份信息)检测与遮蔽、多视口视觉回归比对以及无障碍审计。它适合测试登录页、支付表单、视觉回归套件等可能包含敏感数据的页面。

主要能力

  • URL 校验:在导航前拦截恶意 URL(如 javascript:、data:、file: 等协议),目标耗时 <5ms。
  • PII 检测:识别 6 种以上敏感数据,包括邮箱、电话、信用卡、SSN、API 密钥、密码字段,目标耗时 <100ms。
  • 并行视口:同时测试 4 个视口(mobile 320px、tablet 768px、desktop 1440px、wide 1920px),速度提升约 4 倍。
  • 视觉回归:基于像素差异比对,阈值可配置(默认 <0.1%),目标耗时 <500ms。
  • 无障碍审计:基于 axe-core 检查 WCAG 2.1 A/AA/AAA 合规,目标耗时 <2s。

使用方式

该技能依赖 qe-browser 浏览器自动化技能(.claude/skills/qe-browser/),使用 Vibium 引擎(10MB Go 二进制,WebDriver BiDi),由 aqe init 自动安装。在安全视觉工作流中,qe-browser 额外提供 check-injection.js(在存储截图前扫描页面内容中的提示注入模式)和 assert.js(16 项类型化检查,含 no_failed_requests 用于检测数据泄露请求)。

存储截图前扫描页面的示例:

vibium go "$TARGET_URL"
vibium wait load
node .claude/skills/qe-browser/scripts/check-injection.js --include-hidden
INJ=$?
if [ $INJ -ne 0 ]; then
  echo "Prompt-injection findings — do NOT store screenshot"
  exit $INJ
fi
node .claude/skills/qe-browser/scripts/visual-diff.js --name "${PAGE_NAME}"

完整安全视觉审计:

aqe test visual-audit --url https://example.com --security --accessibility

PII 安全截图:

aqe screenshot --url https://example.com/profile --pii-safe

响应式视觉审计:

aqe test responsive --url https://example.com --viewports mobile,tablet,desktop

适用场景

  • 登录页测试:包含密码、邮箱等 PII。
  • 视觉回归套件:并行视口加基线比对。
  • 支付表单:信用卡数据需要遮蔽。
  • 公开营销页:仅在可能存在敏感数据时使用。
  • 纯 API 测试:不适用,应改用 security-testing 技能。

限制与注意事项

  • 存储截图前必须遮蔽 PII。
  • 需在所有目标视口并行测试。
  • 基线应存入版本控制。
  • 每次视觉变更都应运行无障碍审计。
  • 常见错误包括 URL_BLOCKED(检测到恶意 URL 模式)、PII_DETECTED(截图中发现敏感数据)、BASELINE_MISSING(缺少比对基线,需先用 --update-baseline)、VIEWPORT_TIMEOUT(浏览器无响应,需增加超时或减少并行)、ACCESSIBILITY_FAILED(发现 WCAG 违规)。

集成

可与 AQE v3 的 BrowserSecurityScanner 和 TrajectoryAdapter 配合使用,支持记忆命名空间 aqe/security-visual/(含 baselines、screenshots、reports、trajectories),并可通过 FleetManager 协调 qe-visual-tester、qe-security-scanner、qe-accessibility-auditor 等代理并行执行。

相关技能

visual-testing-advanced(纯视觉测试)、security-testing(纯安全测试)、accessibility-testing(纯无障碍测试)、qe-visual-accessibility(AQE v3 视觉领域技能)。