Repolode
betterleaks

betterleaks/betterleaks

快速、可配置的密钥扫描工具,可在 Git 仓库、文件、GitHub、GitLab、S3 等来源中查找泄露的凭证。

可替代:GitHub Secret Scanning

Star
2,824
Fork
183
未关闭 Issue
137
最近提交
23小时前

这是什么?

Betterleaks 是一款用 Go 编写的命令行密钥扫描工具,可检测本地文件、Git 历史、标准输入、容器镜像,以及 GitHub、GitLab、Hugging Face、S3 等远程来源中的 API 令牌、密钥等凭证。项目由 Gitleaks 的原作者及其团队维护。

检测基于 TOML 格式的正则规则配置,并支持使用 Expr 表达式编写前置过滤和后置过滤,可按路径、Git 作者、提交信息或熵值减少误报。可选的验证功能会检查检测到的凭证是否仍然有效,分析功能则进一步解析有效凭证对应的身份和权限。默认扫描不会请求凭证提供方,只有启用验证或分析时才会发起请求;撤销操作必须显式执行。

项目也可以作为 Go 库嵌入使用。规则可以扩展,生产环境中建议维护自定义配置,以便在升级时保持规则集稳定。

核心功能

  • 01支持扫描文件系统、Git 仓库、标准输入、URL 和容器镜像。
  • 02可远程扫描 GitHub、GitLab、Hugging Face 和 S3 中的内容。
  • 03按需验证检测到的凭证是否有效,并分析其身份与权限。
  • 04通过基于文件路径、Git 元数据和熵值的 Expr 规则过滤误报。
  • 05按置信度、验证状态和严重程度对结果排序。
  • 06提供 Go SDK,便于将扫描能力嵌入其他程序。

适用场景

  • 在 CI/CD 流水线中拦截提交到共享分支的密钥。
  • 审计已有 Git 历史,查找误提交的凭证。
  • 审查 Pull Request 或 GitLab 合并请求中是否含有泄露的令牌。
  • 检查组织在 GitHub 或 GitLab 上的仓库是否暴露了密钥。

快速上手

  1. 1

    通过 Homebrew 安装

    brew install betterleaks
  2. 2

    或通过 Go 安装

    go install github.com/betterleaks/betterleaks/v2@latest
  3. 3

    扫描本地目录中的密钥

    betterleaks fs /path/to/target

使用前须知

  • main 分支为 v2 开发版本,在首个稳定 v2 版本发布前,包管理器和 Docker latest 标签可能仍提供 v1。

收录于专题

标签

常见问题

betterleaks 是什么?
快速、可配置的密钥扫描工具,可在 Git 仓库、文件、GitHub、GitLab、S3 等来源中查找泄露的凭证。 Betterleaks 是一款用 Go 编写的命令行密钥扫描工具,可检测本地文件、Git 历史、标准输入、容器镜像,以及 GitHub、GitLab、Hugging Face、S3 等远程来源中的 API 令牌、密钥等凭证。项目由 Gitleaks 的原作者及其团队维护。
betterleaks 可以免费使用吗?用的什么许可证?
betterleaks 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
betterleaks 还在维护吗?
活跃维护中。betterleaks 最近一次提交是在 2026年11月6日。
betterleaks 适合用来做什么?
在 CI/CD 流水线中拦截提交到共享分支的密钥。 审计已有 Git 历史,查找误提交的凭证。 审查 Pull Request 或 GitLab 合并请求中是否含有泄露的令牌。 检查组织在 GitHub 或 GitLab 上的仓库是否暴露了密钥。
betterleaks 怎么安装和运行?
通过 Homebrew 安装: brew install betterleaks 或通过 Go 安装: go install github.com/betterleaks/betterleaks/v2@latest 扫描本地目录中的密钥: betterleaks fs /path/to/target
在哪里获取 betterleaks?
源代码和安装说明在 GitHub 上:https://github.com/betterleaks/betterleaks

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目