ApacheSBC/secret-scanning-rotation
GitHub: ApacheSBC/secret-scanning-rotation
企业级密钥检测与轮换流水线,通过GitLeaks、TruffleHog等多层扫描工具与GitHub Actions自动化相结合,实现从本地提交拦截到CI/CD持续检测及密钥轮换的全生命周期管理。
Stars: 0 | Forks: 0
# 密钥扫描与轮换流水线
该项目组合展示了使用 GitLeaks、TruffleHog、pre-commit 钩子和 GitHub Actions 的企业级密钥检测与轮换工作流。
## 项目功能
| 层级 | 工具 | 目的 |
|---|---|---|
| 本地扫描 | GitLeaks | 扫描 git 历史中泄露的密钥 |
| 本地扫描 | TruffleHog | 深度熵值和模式扫描 |
| Pre-commit | GitLeaks hook | 在密钥被提交前进行拦截 |
| CI/CD | GitHub Actions | 每次推送和 PR 时自动扫描 |
| 轮换 | 自定义 Python | 模拟检测、撤销、轮换和验证 |
## 工具与技术栈
- GitLeaks v8 — 基于模式的密钥扫描
- TruffleHog v3 — 熵值与已验证凭证扫描
- pre-commit — git 钩子框架
- GitHub Actions — CI/CD 自动化
- Python 3.13 — 轮换模拟脚本
- AWS IAM 和 Secrets Manager — 轮换目标(模拟)
## 本地运行
```
gitleaks detect --source . --verbose
trufflehog git file://$(pwd) --no-verification
python3 scripts/rotate_secret.py
python3 scripts/verify_rotation.py
```
## 演示的关键安全概念
1. 纵深防御 — 多层扫描(本地和 CI/CD)
2. 安全左移 — 在提交时拦截密钥,而非在推送后
3. 审计日志 — 每次轮换事件均带有时间戳
4. 最小权限 — 轮换范围仅限特定密钥
5. 零信任 — 新凭证在旧凭证完全停用前进行验证
标签:AWS Secrets Manager, CI/CD安全, DevSecOps, GitHub Actions, GitLeaks, JSONLines, Llama, Pre-commit, Python, StruQ, TruffleHog, 上游代理, 代码安全, 凭据检测, 学术论文, 安全合规, 密钥轮换, 左移安全, 微调策略, 无后门, 深度防御, 漏洞枚举, 网络代理, 自动笔记, 逆向工具, 零信任, 静态应用安全测试(SAST)