SuperAPI AI 工具集

secrets-handling

安全与审计

查看项目

更新于 10-16 03:04

技能介绍

用途:该技能用于处理 API 密钥、令牌、密码等敏感凭据,以及在配置数据库连接、第三方服务凭据或有人要求“先硬编码”时提供规范做法。核心原则是绝不把密钥写入源码、绝不提交、绝不记录日志。

主要能力:识别硬编码密钥的迹象,例如源码中出现字面量密钥、password/secret/key 字段、未加入 .gitignore 的 .env 文件、错误信息或日志中的凭据。给出正确模式:使用环境变量,并在启动时校验。示例中借助 zod 定义 envSchema 并 parse(process.env),确保 STRIPE_SECRET_KEY、DATABASE_URL、API_KEY 等存在且格式正确。

使用方式:将真实值放入 .env 并确保 .env 与 .env.* 写入 .gitignore,同时提交不含真实值的 .env.example 占位文件。代码中通过 process.env 读取,缺失时抛出错误而非静默失败。日志只写“Connecting to database...”,错误信息做脱敏,不拼接密钥。生产环境使用 AWS Secrets Manager、HashiCorp Vault 等密钥管理服务获取密钥。

适用场景:涉及凭据的代码编写、配置审查、代码评审,以及面对“仅测试用”“私有仓库”“稍后删除”“不是真密钥”等压力时坚持规范。

限制与补救:资料未提供具体平台、价格或安装命令。若已误提交密钥,应立即轮换并视为已泄露,从代码中移除后提交,可考虑重写 git 历史,但需假定已泄露并检查未授权使用。