SuperAPI AI 工具集

production-security

安全与审计

查看项目

更新于 10-16 05:10

技能介绍

Production Security 是一个生产环境安全加固技能,其内容来自真实的数据泄露、CVE 漏洞利用和事故报告,而非理论威胁模型。它提供有明确立场的模式与代码示例,主要面向 Python FastAPI 与 Node.js Express 等技术栈。

一、用途 该技能用于在应用上线前和上线后落实安全加固,避免因密钥硬编码、CORS 配置过宽、认证与授权缺失、缺少速率限制等问题导致安全事件。

二、主要能力

  1. 密钥管理:强调密钥绝不进入代码、注释、临时配置文件或 Docker 构建参数;本地开发使用环境变量与 Pydantic Settings,缺失必需密钥时启动即失败;生产环境使用 GCP Secret Manager、AWS Secrets Manager、HashiCorp Vault、Doppler、1Password Secrets Automation 等密钥管理器;Docker 使用 BuildKit Secrets,避免密钥进入镜像层;提供密钥轮换思路(重启式轮换与零停机轮换);提供 pre-commit 钩子(detect-secrets、gitleaks)与 grep 检测硬编码密钥的方法。
  2. CORS 配置:说明 CORS 能防止什么(恶意站点利用受害者浏览器 Cookie 发起已认证请求)与不能防止什么(服务端攻击、客户端 API 密钥窃取、非浏览器客户端);给出 FastAPI 与 Express 的具体配置示例;规则包括 allow_credentials=True 时绝不使用 allow_origins=["*"]、白名单具体来源、只允许实际使用的方法与请求头、max_age 设为 600。
  3. 认证模式:JWT 采用短生命周期访问令牌(15 分钟)与长生命周期刷新令牌(7 天);令牌存储在 HttpOnly Cookie 而非 localStorage;给出 JWT 校验示例,强调必须显式指定算法以防 "none" 算法攻击;密码哈希使用 bcrypt 或 argon2id,禁止使用 MD5、SHA1、无盐 SHA256;介绍 OAuth2 流程(授权码、授权码+PKCE、客户端凭证,禁止隐式流程);服务间 API 密钥需哈希后存储。
  4. 授权模型:RBAC(基于角色的访问控制)适用于多数应用,给出 FastAPI 依赖注入示例;对象级授权是最常被遗漏的检查,应校验资源归属或将查询限定到当前用户;ABAC(基于属性的访问控制)用于多租户、时间、资源属性等细粒度场景;规则包括授权始终在服务端进行、每个端点都有显式授权检查、优先使用查询范围限定、记录授权失败。
  5. 速率限制:用于防止暴力破解、撞库、API 抓取和客户端无限循环,示例使用 Python slowapi。
  6. 安全响应头与依赖安全:标题中提及安全响应头与依赖安全,但资料正文在速率限制部分被截断,后续内容暂未提供。

三、使用方式 该技能以代码示例和规则清单形式提供,可直接参考其中的 Python 与 Node.js 代码片段,将密钥管理、CORS、认证、授权、速率限制等模式应用到项目中。

四、适用场景 适用于需要上线到生产环境的 Web 应用与 API 服务,尤其是使用 FastAPI 或 Express 的后端项目,以及需要满足安全加固要求的团队。

五、限制 资料正文在速率限制部分被截断,安全响应头与依赖安全的详细内容暂未提供;部分主题(如密钥轮换的完整实现、ABAC 的完整策略引擎)仅给出思路或片段,未展开完整方案。