Repolode
GitGuardian

GitGuardian/ggshield

命令行工具,可检测并验证 500 多种硬编码密钥,适用于文件、Git 仓库、Docker 镜像及包,也可作为 pre-commit 钩子或用于 CI。

Star
2,011
Fork
221
未关闭 Issue
69
最近提交
22小时前

这是什么?

ggshield 是 GitGuardian 推出的命令行工具,用于在密钥(如 API Key、凭据)泄露前发现代码中的硬编码密钥。它可以扫描本地文件、Git 仓库、Docker 镜像和 PyPI 包,既能在开发者本机运行,也能集成到 CI 流水线中。

工具通过 GitGuardian 公共 API 检测并验证密钥,可接入 Git 的 pre-commit、pre-push、pre-receive 钩子以及 GitHub Actions。扫描只保存调用时间、请求大小和扫描模式等元数据,检测到的密钥内容不会保存在控制台上。

它还能安装钩子,扫描与 Cursor、Claude Code、Copilot Chat、Codex 等 AI 编程助手之间的交互,在含有密钥的操作执行前将其拦截。

核心功能

  • 01检测 500 多种密钥类型,并进行验证检查。
  • 02可扫描文件、Git 仓库、Docker 镜像和 PyPI 包。
  • 03可作为 pre-commit、pre-push 或 pre-receive Git 钩子运行。
  • 04提供 GitHub Action 及 CI/CD 集成。
  • 05可安装钩子,扫描 AI 编程助手的交互内容。
  • 06支持通过 pip、pipx、Homebrew 或安装包在 macOS、Linux 和 Windows 上安装。

适用场景

  • 通过 pre-commit 钩子阻止密钥被提交到代码仓库。
  • 在部署前扫描 CI 流水线,查找泄露的凭据。
  • 审计已有的 Git 历史或 Docker 镜像中的硬编码密钥。
  • 防止 AI 编程助手执行包含密钥的操作。

快速上手

  1. 1

    使用 pipx 安装 ggshield(需要 Python 和 git)

    pipx install ggshield
  2. 2

    登录 GitGuardian 服务器进行认证

    ggshield auth login
  3. 3

    扫描当前目录中的密钥

    ggshield secret scan path -r .

使用前须知

  • 需要通过 GitGuardian 服务器认证,扫描依赖其公共 API。
  • 从 PyPI 安装时需要受支持且未停止维护的 Python 版本以及 git。
  • 在 macOS 上升级到 1.54.0 会弹出 ggshield-py 的钥匙串提示。

收录于专题

标签

常见问题

ggshield 是什么?
命令行工具,可检测并验证 500 多种硬编码密钥,适用于文件、Git 仓库、Docker 镜像及包,也可作为 pre-commit 钩子或用于 CI。 ggshield 是 GitGuardian 推出的命令行工具,用于在密钥(如 API Key、凭据)泄露前发现代码中的硬编码密钥。它可以扫描本地文件、Git 仓库、Docker 镜像和 PyPI 包,既能在开发者本机运行,也能集成到 CI 流水线中。
ggshield 可以免费使用吗?用的什么许可证?
ggshield 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ggshield 还在维护吗?
活跃维护中。ggshield 最近一次提交是在 2026年11月6日。
ggshield 适合用来做什么?
通过 pre-commit 钩子阻止密钥被提交到代码仓库。 在部署前扫描 CI 流水线,查找泄露的凭据。 审计已有的 Git 历史或 Docker 镜像中的硬编码密钥。 防止 AI 编程助手执行包含密钥的操作。
ggshield 怎么安装和运行?
使用 pipx 安装 ggshield(需要 Python 和 git): pipx install ggshield 登录 GitGuardian 服务器进行认证: ggshield auth login 扫描当前目录中的密钥: ggshield secret scan path -r .
在哪里获取 ggshield?
源代码和安装说明在 GitHub 上:https://github.com/GitGuardian/ggshield

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

相关项目