Security Checklist 是一套面向 AI 编程助手的严格安全规则,用于在生成或修改代码时防止密钥与凭证泄露。该技能以“严格准则”的形式给出,要求逐条遵循。
用途 它用于约束 AI 在编写代码时的安全行为,覆盖密钥处理、凭证存储和环境文件管理,适用于任何涉及敏感信息的代码生成或修改场景。
主要能力
- 禁止提交的文件:明确列出绝不能提交到版本库的文件,包括含真实值的环境文件(.env、.env.local、.env.development、.env.production、.env.test、.env.),以及 AWS 凭证(.aws/credentials、.aws/config)和 SSH 密钥(.pem、id_rsa、id_ed25519)。只允许提交不含真实值的模板文件:.env_TEMPLATE、.env.example。
- 必需的 .gitignore 模式:给出应包含的忽略规则,涵盖环境文件、AWS 凭证和 SSH 密钥,并通过 !.env_TEMPLATE、!.env.example 保留模板文件。
- 禁止硬编码密钥:禁止在代码中写死 API key、数据库密码、AWS Access Key 等;要求运行时从环境变量读取(如 process.env.API_KEY,并在缺失时抛出错误),基础设施层从 Secrets Manager/SSM 引用(如 secretsmanager.Secret.fromSecretNameV2)。
- 密钥存储规范:密码、API key、数据库凭证、token 应使用 AWS Secrets Manager;敏感配置值使用 SSM Parameter Store(SecureString);非敏感配置使用 SSM Parameter Store(String)。禁止硬编码、提交到 Git、输出到 console/CloudWatch、在 URL 或查询参数中传递密钥。
- 前端 token 处理:禁止在前端代码中放置后端 API 密钥;应使用公开 API key(如 NEXT_PUBLIC_API_KEY)或来自认证流程的用户专属 token(如从 cookies 读取 auth-token)。
- 环境变量校验:要求在应用启动时校验必需密钥是否存在,列出缺失项并抛出错误。
- 代码审查清单:提交前需确认无硬编码密码/API key/token、无含真实值的 .env 文件、.gitignore 覆盖所有密钥文件模式、启动时校验环境变量、基础设施从 Secrets Manager/SSM 加载密钥、日志与错误信息中无密钥、前端仅使用公开 API key 或用户专属 token。
- 不确定时的处理:若即将提交的内容含 key、secret、password、token,或正在硬编码凭证,或不确定某值应放 Git 还是环境变量,应停止并询问;默认按安全处理,不确定是否敏感时视为密钥。
- 渐进改进:若开发者纠正了本技能本应防止的行为,建议对本技能提出具体修订,以防同类问题再次发生。
使用方式 该技能以规则文本形式提供,供 AI 编程助手在生成或修改代码时遵循。资料未提供安装命令或调用方式。
适用场景 适用于涉及密钥、凭证、环境文件与敏感配置的代码生成与修改,尤其是使用 AWS 服务、前端框架(如 Next.js)以及需要版本控制管理的项目。
限制 资料未提供该技能的安装方式、运行环境要求、收费信息或具体平台支持范围。