SuperAPI AI 工具集

api-security-checklist

安全与审计

查看项目

更新于 10-16 02:12

技能介绍

API Security Checklist 是一个知识型技能资源,属于 Security Skills 集合,基于被广泛采用的 API 安全清单,用于设计、审计和加固 REST、GraphQL 与 OAuth API,防范常见漏洞与攻击向量。它不是软件包,而是可参考的实践指南。

用途 该技能用于在 API 开发、代码评审、CI/CD 集成和安全审计中提供系统化的安全对照清单,帮助团队在 API 全生命周期中落实安全措施。

主要能力 清单覆盖以下关键安全领域:

  • 认证:安全验证用户身份,避免 Basic Auth,使用标准认证方式(如带正确校验的 JWT)。
  • 授权:访问控制与 OAuth 流程安全。
  • 输入验证:防止注入攻击。
  • 输出安全:安全处理响应。
  • 处理:后端安全措施。
  • 监控:检测与告警。
  • CI/CD:安全开发生命周期。

具体实践与代码示例 认证安全:避免 Basic Auth,改用 JWT 并正确校验;实施限流与最大重试(如登录 15 分钟最多 5 次);使用 bcrypt 哈希存储密码(saltRounds 12)。 访问控制:使用 Helmet 设置安全头(HSTS、CSP、frameguard、noSniff),生产环境强制 HTTPS;私有 API 使用 IP 白名单;通过限流实现 DDoS 防护(如每分钟 100 次请求)。 OAuth 安全:服务端校验 redirect_uri;使用 state 参数防 CSRF;校验 scope,仅签发允许的范围;避免隐式流(response_type=token)。 输入验证:校验 HTTP 方法(返回 405);校验 Content-Type 与 Accept(返回 406/415);输入清洗防 XSS、SQL 注入;安全解析 XML 防 XXE(禁用实体替换、网络访问和外部 DTD)。 处理安全:使用 UUID 替代自增 ID;使用 /me 访问当前用户资源;用后台 worker 处理重任务(如 Bull 队列,返回 202);生产环境禁用调试模式,返回通用错误。 输出安全:设置安全头(X-Content-Type-Options、X-Frame-Options、CSP,移除 X-Powered-By);强制 Content-Type;返回通用错误信息,详细错误仅服务端记录;使用正确状态码(201、400、409、403、404、204 等)。 GraphQL 专项:生产环境禁用 introspection 与 playground;限制查询深度(如最大 5 层);进行查询成本分析(如复杂度上限 1000)。 监控与日志:集中日志(如 winston),记录请求但不记录敏感数据(如密码);对可疑活动(如 401/403 达到阈值)发送告警。 CI/CD 安全:依赖扫描(npm audit、Snyk);静态代码分析。

使用方式 该技能为知识资源,非软件包。使用方式包括:收藏备查,在 API 开发期间保持清单可访问;集成到代码评审,作为 PR 清单模板;加入 CI/CD,基于指南实现自动化检查;作为安全审计框架。

适用场景 适用于 REST、GraphQL 和 OAuth API 的设计、测试与安全加固,也可用于代码评审、CI/CD 流程和安全审计。

限制 该技能本身不是可安装的软件包,不提供自动化执行能力;具体实施需结合项目技术栈。资料中未提供收费、价格、平台支持范围等信息。