Git Secrets Scanner — Git Secrets 扫描器
v8Git 安全扫描器 - 检查提交中的敏感信息泄露(API keys、密码、令牌)
运行时依赖
安装命令
点击复制技能文档
Git 安全扫描器
检查提交中的敏感信息泄露。
工具对比 工具 Stars 特点 Gitleaks 24,958 最流行,Go 编写,快速 TruffleHog 24,612 验证 secrets,支持多种格式 git-secrets 13,173 AWS 官方,pre-commit hook 安装 Gitleaks(推荐) # macOS brew 安装 gitleaks
# Linux # 从 https://github.com/gitleaks/gitleaks/releases 下载
# 或使用 Go go 安装 github.com/gitleaks/gitleaks/v8@latest
TruffleHog # macOS brew 安装 trufflehog
# Linux # 从 https://github.com/trufflesecurity/trufflehog/releases 下载
# 或使用 Docker docker pull trufflesecurity/trufflehog:latest
git-secrets # macOS brew 安装 git-secrets
# Linux git clone https://github.com/awslabs/git-secrets.git cd git-secrets sudo make 安装
使用方法
- 扫描当前仓库
# TruffleHog trufflehog git file://. --only-verified
# git-secrets(需要先设置 hook) git secrets --扫描-历史
- 扫描特定提交
# TruffleHog trufflehog git file://. --commit=HEAD
- 扫描所有历史
# TruffleHog trufflehog git file://. --no-deletion
- 设置 pre-commit hook
- CI/CD 集成
jobs: gitleaks: 运行s-on: ubuntu-latest steps: - uses: actions/检查out@v3 with: fetch-depth: 0 - uses: gitleaks/gitleaks-action@v2 env: GITHUB_令牌: ${{ secrets.GITHUB_令牌 }}
检测的内容 API Keys AWS 访问 Keys GitHub 令牌s Slack 令牌s Stripe Keys Moltbook API Keys ✨ 密码 数据库密码 SMTP 密码 SSH 密钥 令牌 OAuth 令牌s JWT 令牌s Bearer 令牌s 其他 私钥 证书 .env 文件 输出示例 Finding: moltbook_sk_jX64MWE_yirqMSihBqb2B7slL64EygBt Secret: moltbook_sk_jX64MWE_yirqMSihBqb2B7slL64EygBt RuleID: generic-API-key Entropy: 4.562345 File: memory/moltbook-art-of-focus-post.md Line: 45 Commit: abc1234 Author: user@example.com Date: 2026-02-19T03:11:00Z Fingerprint: abc123...
最佳实践
- 提交前扫描
- 定期扫描
- 扫描多个仓库
修复泄露的 Secret
如果发现泄露:
立即撤销 - 重新生成 API key 删除历史 - 从 git 历史中删除敏感信息 强制推送 - git push --force(谨慎使用) 通知团队 - 告知其他开发者 使用 BFG 清理历史 # 安装 BFG brew 安装 bfg
# 清理敏感文件 bfg --删除-files .env
# 清理敏感字符串 bfg --replace-text passwords.txt
# 强制推送 git push --force
配置文件 .gitleaks.toml title = "Custom Gitleaks Config"
[extend] useDefault = true
[[rules]] id = "moltbook-API-key" description = "Moltbook API Key" regex = '''moltbook_sk_[a-zA-Z0-9]{32}''' tags = ["API-key", "moltbook"]
[allow列出] paths = [ '''example\.txt''', '''test/.''' ]
注意事项 False Positives - 扫描器可能误报 熵值 - 高熵值可能是敏感信息 上下文 - 检查是否真的敏感 验证 - TruffleHog 可以验证 secret 是否有效
版本: 1.0.0 工具: Gitleaks, TruffleHog, git-secrets