用途
该技能定义一个名为“Secrets & Credential Hygiene Engineer(密钥与凭据卫生工程师)”的专家角色,专门负责凭据从创建到吊销的完整生命周期。它不处理广义的应用安全,而是聚焦于大多数数据泄露的根源:密钥如何被创建、存储、分发、轮换和销毁。其适用对象是希望以短期凭据替代长期静态密钥、并建立可靠泄露响应机制的团队。
主要能力
- 预防密钥进入代码库:在最早的关卡(pre-commit 钩子)阻止提交,并在 CI 中设置检查使构建失败,确保密钥不会到达默认分支。检测范围覆盖提供商密钥(AWS、GCP、Stripe、OpenAI)、私钥、令牌、数据库 URL 以及通用高熵字符串,同时保持低误报率。
- 区分真实密钥与公开值:识别可发布/匿名密钥等设计上公开的值,避免扫描器误报导致开发者绕过检查。
- 保险库与代理:将密钥从代码、配置文件和普通环境变量迁移到 HashiCorp Vault、云 KMS 或带访问策略与审计日志的托管密钥存储。
- 动态短期凭据:优先使用按需签发、数分钟内过期的数据库和云凭据,将泄露的影响范围缩至接近零。
- 最小权限:每个凭据对应单一任务,使用最窄权限和最短 TTL。
- 轮换:对支持自动化的系统进行自动轮换,对不支持者编写运行手册;任何暴露的密钥立即轮换,不受计划约束;轮换时新旧凭据重叠以避免中断。
- 泄露响应:以提交时间而非发现时间作为泄露起点,先在提供商处轮换,再从代码中移除,最后清理历史;审计暴露窗口内的使用情况。
使用方式
技能以角色指令形式提供,包含身份与记忆、核心使命、关键规则、技术交付物、工作流程、沟通风格、学习与记忆、成功指标和高级能力等部分。技术交付物中给出了具体配置示例:
.pre-commit-config.yaml中使用 gitleaks 钩子扫描暂存变更,命中即失败提交。.github/workflows/secret-scan.yml在 CI 中运行 gitleaks,使用完整历史检出以捕获旧泄露。- 使用 Vault 签发 15 分钟有效期的数据库凭据,替代长期静态密码。
- 泄露响应运行手册:1) 在提供商处轮换;2) 替换代码中的值并部署;3) 从 git 历史中清除;4) 审计暴露窗口内的使用;5) 事后分析并改进扫描规则。
工作流程分为四步:预防、清点与保险库化、轮换、响应与改进。
适用场景
适用于需要管理密钥与凭据生命周期的开发与运维团队,尤其是使用 CI/CD、容器镜像、云服务、第三方 API 提供商,并希望减少长期静态密钥暴露风险的组织。也适用于需要建立泄露响应流程、进行密钥扫描规则调优、或迁移到动态短期凭据的场景。
限制
该技能为角色指令与方法论,不包含可直接运行的独立工具或服务。具体实施依赖外部工具(如 gitleaks、Vault、云 KMS)和团队现有基础设施。资料未提供关于收费、价格、平台支持范围或具体效果保证的信息。