mcpField
S
secrets-management-audit

secrets-management-audit

github.com/mn-youssef安全4942 次安装20 周前更新
代码仓库

关于 secrets-management-audit

Secrets Management Audit 是用于发现泄露凭据并评估应用机密管理方式的安全审计技能。它检查源码、Git 历史、构建产物、日志、配置、CI/CD 和云环境,并记录泄露范围与轮换状态。

主要功能

  1. 01扫描源码和 Git 历史
  2. 02检查构建包、二进制文件、日志及 CI/CD
  3. 03验证发现并评估权限范围
  4. 04审计密钥托管、轮换和权限
  5. 05记录位置与轮换状态

适用场景

  1. 01发布前审计代码仓库
  2. 02调查疑似凭据泄露
  3. 03检查机密存储与轮换实践

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mn-youssef/security-skills --skill secrets-management-audit

安装后在 Claude Code 中输入/secrets-management-audit确认已加载。

附带文件references/secret-hunting.md

详细介绍

密钥管理审计(查找/修复 — 凭据与密钥)

概述

泄露密钥是导致系统遭到入侵的最快途径之一——提交一个密钥就可能让整个云账户落入他人之手。这项技能会查找所有藏匿位置中的暴露密钥,并审计应用是否妥善管理密钥(存入保险库、定期轮换、限制作用范围)。

核心原则: 源代码、历史记录、日志或二进制文件中的密钥都已经公开——应假定其已泄露并立即轮换。只检测、不轮换,纯属作秀。

适用情形 / 跳过情形

  • 适用情形: 基本上始终适用——每个应用总会在某处(源代码、Git 历史、日志、环境变量、构建产物、CI)包含密钥/令牌/配置。
  • 跳过情形: 基本上从不适用。即使是静态网站,也会有 API 密钥、部署凭据或 CI 令牌。
  • 如果确实没有任何内容可扫描: 请明确说明——但要先确认;“没有密钥”往往只是“没认真查找”。

⚠️ 授权

仅限你本人拥有或获授权访问的仓库、产物和基础设施。如果发现真实的暴露密钥,应按安全事件处理:先轮换,再修复泄露途径。

密钥藏匿位置(逐一排查)

位置方法
源代码使用扫描器,并通过 grep 搜索密钥模式
Git 历史从 HEAD 删除的密钥仍会留在历史记录中——扫描所有提交
前端打包文件JS/源映射文件可能会将密钥发送到浏览器
移动端二进制文件反编译 APK/IPA(apktool/jadx、strings)
日志和错误输出输出到 stdout/日志文件/APM 的令牌/个人身份信息
配置和环境变量.env、配置文件、容器环境变量、云用户数据
CI/CD流水线文件、构建日志、已脱敏但仍泄露的环境变量
云实例元数据、函数环境变量、IaC 状态、配置

有关工具和模式,请参阅 references/secret-hunting.md。

方法

  1. 全面扫描 — 扫描完整 Git 历史、工作树、产物和日志,并使用熵值分析与模式检测器。
  2. 验证 — 命中项是否为有效凭据?(不要使用第三方凭据;仅以无害方式验证自有密钥)
  3. 评估影响范围 — 该密钥能解锁哪些资源?其作用范围/权限如何?
  4. 审计管理方式 — 密钥是否存入保险库、定期轮换、遵循最小权限原则且未写入代码?
  5. 修复 — 轮换暴露的密钥、清除历史记录、迁移到密钥管理器并添加预防措施。

工具

trufflehog、gitleaks、detect-secrets(包括历史记录与熵值检测);git filter-repo/ BFG(清除历史记录);云密钥管理器/Vault(存储);pre-commit hook + CI 扫描(预防)。

输出

每项发现应包括:密钥类型、位置(包括提交哈希)、有效性、影响范围和轮换状态。 具有高权限的有效密钥属于严重问题——应立即轮换。

交接

攻击链(密钥泄露 → 账户/云环境被接管)→ vulnerability-chaining;修复与预防 → security-hardening(轮换、存入保险库、限制作用范围、使用 pre-commit/CI 扫描密钥)。

常见错误

  • 只扫描 HEAD——已删除的密钥会永远留在 Git 历史中。
  • 从代码中删除密钥,却不轮换——密钥已经泄露。
  • 在前端/移动端打包文件中发布实际上属于机密的服务密钥,却误以为它们是“公开”密钥。
  • 没有预防措施——若不进行 pre-commit/CI 扫描,下周就会出现新的密钥。

评论

支持 Markdown