NickCirv/secret-scan

GitHub: NickCirv/secret-scan

一款零配置的 Git 历史密钥扫描工具,在代码入库前检测并拦截 API 密钥、令牌、密码等敏感信息泄露。

Stars: 1 | Forks: 0

# secret-scan ``` npx secret-scan ``` ``` secret-scan · scanning 847 commits ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠ FINDINGS (2) [HIGH] Stripe Key (sk_live_) commit: 7e9d3c1 (2023-11-02) file: .env.backup:12 line: STRIPE_SECRET=sk_l...**** [MEDIUM] High-entropy string (base64) commit: 1a4f8e2 (2023-09-20) file: scripts/deploy.sh:34 line: TOKEN="****...****" ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Scanned: 847 commits · 2 findings in 2 files · HIGH:1 MEDIUM:1 LOW:0 ``` ## 命令 | 命令 | 描述 | |---------|-------------| | `secret-scan` | 扫描当前 repo 的完整 git 历史 | | `--path ` | 扫描特定的仓库路径 | | `--depth N` | 限制为最近 N 次提交 | | `--since ` | 例如 `"6 months ago"` 或 `"2024-01-01"` | | `--fix-advice` | 显示用于移除 secrets 的 BFG/filter-repo 命令 | | `--report json\|text` | 输出格式 (默认: text) | | `--output ` | 将报告保存到文件 | | `--whitelist ` | 跳过匹配此正则表达式的发现结果 | ## 检测模式 | 类别 | 示例 | |----------|---------| | AWS | Access Key IDs (`AKIA...`) | | Anthropic | `sk-ant-api03-...` API keys | | OpenAI | `sk-...` API keys | | GitHub | `ghp_`, `gho_`, `ghs_`, `ghr_` tokens | | Stripe | `sk_live_`, `sk_test_`, `rk_live_`, `pk_live_` | | Private Keys | RSA/PEM 私钥头 | | JWT Tokens | 三段式 base64url tokens | | Env assignments | 带有值的 `PASSWORD=`, `SECRET=`, `API_KEY=`, `TOKEN=` | | URL credentials | `proto://user:password@host` | | High-entropy strings | Base64/hex 字符串 >40 字符且熵 >4.0 bits | ## CI 用法 如果有任何发现则退出代码为 `1`,如果干净则为 `0`: ``` - name: Scan git history for secrets run: npx secret-scan --depth 100 ``` ## 安装 ``` npx secret-scan # no install needed npm install -g secret-scan # global install ``` **零依赖** · **Node 18+** · 由 [NickCirv](https://github.com/NickCirv) 制作 · MIT
标签:API安全, DevSecOps, DLP, GitHub安全, Google AI, JSON输出, LLM应用, MITM代理, Pre-commit, Secret Scanning, 上游代理, 云安全监控, 信息防泄露, 历史扫描, 安全助手, 熵值检测, 网络安全, 自定义脚本, 自定义脚本, 隐私保护, 静态分析