SuperAPI AI 工具集

security-testing-verification

安全与审计

查看项目

更新于 10-15 15:23

技能介绍

Security Testing & Verification 是一个面向部署前安全验证的技能,用于测试安全功能并验证实现是否正确。它覆盖速率限制、CSRF 防护、输入校验、安全响应头、身份认证与授权、错误处理以及依赖安全等主题。

用途 该技能在部署前使用,帮助开发者系统性地验证应用的安全特性,而不是仅凭假设认为其生效。资料中给出的测试对象包括:速率限制、CSRF 保护、输入校验(XSS 清理、长度校验、邮箱校验、必填字段)、安全响应头、认证与授权、错误处理以及依赖项安全。

主要能力

  1. 速率限制测试:提供自动化脚本 node scripts/test-rate-limit.js,对受限端点连续发起 10 次请求,验证前 5 次返回 200、第 6 至 10 次返回 429,并测试 60 秒窗口后的重置。也给出使用 curl 循环的手动测试方式。
  2. CSRF 保护测试:包含四种情形——无令牌请求应返回 403、携带有效令牌应返回 200、令牌重复使用应返回 403、无效令牌应返回 403。示例命令通过 /api/csrf 获取令牌并使用 X-CSRF-Token 头提交。
  3. 输入校验测试:验证 script 标签被清理、超长输入返回 400、非法邮箱返回 400、缺失必填字段返回 400。示例中使用 Zod 风格的长度错误提示。
  4. 安全响应头测试:通过 curl -I 检查 Content-Security-Policy、X-Frame-Options: DENY、X-Content-Type-Options: nosniff,以及生产环境下的 HSTS、受保护路由的 X-Robots-Tag: noindex, nofollow。CSP 中应包含 Clerk、Convex、Stripe 相关域名。
  5. 认证与授权测试:未认证访问返回 401;携带有效 Clerk 会话 cookie 返回 200;访问他人资源返回 403;免费账户访问高级功能返回 403。
  6. 错误处理测试:生产环境返回通用错误信息且不含堆栈;开发环境返回详细错误和堆栈。
  7. 依赖安全测试:npm audit、npm audit --production、npm outdated 以及 scripts/security-check.sh。

使用方式 资料提供多种执行手段:手动 curl 命令、node 脚本、bash 脚本(如 scripts/security-test.sh),以及将安全测试加入 CI/CD 流水线的 GitHub Actions 示例(在 push 与 pull_request 到 main 时运行 npm ci、npm audit、构建、启动服务、执行安全测试脚本)。还介绍了在线工具 Security Headers Scanner、Mozilla Observatory、SSL Labs 的用法。

适用场景 适用于使用 Next.js、Clerk、Stripe、Convex、Zod 等技术栈的 Web 应用,在每次生产部署前运行部署前安全检查清单,覆盖环境配置、依赖、安全特性、认证授权、API 安全、支付安全、测试与监控。资料还给出部署后的监控频率建议(每日、每周、每月),以及手动渗透测试的 XSS、SQL 注入、CSRF、授权测试载荷示例。

限制 资料未提供该技能的安装方式、价格、收费模式或平台支持范围,这些信息暂未提供。文中测试示例依赖具体的本地服务地址(http://localhost:3000)与特定技术组件(Clerk、Stripe、Convex、Zod 等),实际使用时需按自身项目调整。JSON 输出保留产品名称、URL、代码与安装命令,未改动任何代码内容。