SuperAPI AI 工具集

api-security-hardening

安全与审计

查看项目

更新于 10-15 12:40

技能介绍

用途

API Security Hardening 用于对 REST API 进行安全加固,通过多层防护抵御常见漏洞。它面向生产环境 API、安全审计以及纵深防御(defense-in-depth)场景,帮助开发者在认证、限流、输入验证和响应头等方面建立系统化的安全措施。

主要能力

该技能提供以下安全能力:

  • 安全中间件栈(Express):使用 helmet、express-rate-limit、express-mongo-sanitize 等中间件构建基础防护。示例中对 /api/ 路径设置每 15 分钟最多 100 次请求的限流,对 /api/auth/ 路径设置每 15 分钟最多 5 次请求的更严格限流。
  • 输入验证:使用 express-validator 对请求体进行校验,例如邮箱格式与规范化、密码长度及大小写和数字要求、名称长度限制与 HTML 转义。资料特别指出 express-validator v7+ 已移除内置的 .escape() 清理器,应使用基于 escape-html 的 customSanitizer 进行 HTML 转义。
  • 安全响应头:设置 Content-Security-Policy、X-Frame-Options、X-Content-Type-Options、Strict-Transport-Security、X-XSS-Protection 等头部。
  • 安全清单:提供一份检查项,包括全站 HTTPS、所有受保护路由启用认证、输入验证与清理、启用速率限制、配置安全头、CORS 限制为允许的来源、生产环境错误不返回堆栈跟踪、启用审计日志、定期更新依赖。
  • 附加实现参考:资料提到 references/python-nginx.md,其中包含 Python FastAPI 安全中间件、带密码规则的 Pydantic 输入验证、Nginx SSL/TLS 与安全头配置,以及 HTTP 参数污染(HTTP Parameter Pollution)防护。

使用方式

该技能以代码示例和清单形式提供指导。开发者可将示例中的中间件栈、验证规则和安全头设置集成到自己的 Express 应用中。资料还特别提醒:对于输入清理,应参考 xss-prevention 技能,不要使用已废弃的 xss-clean 包(自 2018 年起不再维护,其自身 README 也建议迁移)。

适用场景

  • 生产环境 REST API 的安全加固
  • 安全审计与合规检查
  • 构建纵深防御体系
  • 需要认证、限流、输入验证和安全头的 API 项目

限制与注意事项

资料中列出的“Never Do”原则包括:不要未经验证就信任用户输入、不要在生产环境返回详细错误、不要在代码中存储密钥、不要用 GET 执行改变状态的操作、不要为图方便而禁用安全措施。

关于该技能的安装方式、具体收费、支持平台、实际效果等事实,资料中暂未提供。