Repolode
mongodb

mongodb/kingfisher

一款基于 Rust 的密钥扫描工具,可检测泄露的凭证、验证是否有效、梳理其访问范围并支持吊销。

Star
1,271
Fork
122
未关闭 Issue
13
最近提交
前天

这是什么?

Kingfisher 可以扫描源代码、Git 历史、压缩包、容器镜像、云对象存储,以及 GitHub、GitLab、Jira、Confluence、Slack、Postman 等开发协作平台,找出泄露的密钥。它内置数百条检测规则,并通过各服务商的 API 实时验证凭证是否仍然有效。

对于已支持的服务商,其 blast radius(影响范围)模式可以梳理有效凭证能访问的资源,例如 AWS 角色、GCP 服务账号模拟以及受影响的资源范围。吊销功能需要用户主动触发,且仅限于特定服务商的流程。扫描结果可导出为 JSON、SARIF、HTML 或 BSON,也可通过本地或在线查看器进行筛选和分诊,并能导入 Gitleaks、TruffleHog 的报告。

除命令行工具外,它还能以 Rust crate(kingfisher-scanner)或 Python 模块(kingfisher_sdk)的形式嵌入到自己的应用中。

核心功能

  • 01内置数百条检测规则,支持使用 TOML 或 YAML 编写自定义规则。
  • 02通过服务商 API 验证发现的凭证是否仍然有效。
  • 03对支持的凭证使用 --blast-radius 梳理身份、权限和可访问资源。
  • 04可扫描 Git 历史、暂存区变更、压缩包、SQLite 数据库和 Python 字节码。
  • 05支持 GitHub、GitLab、Azure Repos、S3、GCS、Azure Blob、Docker 以及 Jira、Slack 等平台。
  • 06支持 JSON、SARIF、HTML 等输出格式,并内置报告查看器。

适用场景

  • 在提交代码前或 CI 中扫描仓库及其历史,防止密钥泄露。
  • 审计云存储桶或容器镜像中暴露的凭证。
  • 对大量扫描结果分诊,确认哪些凭证仍然有效。
  • 发生泄露事件时,吊销受支持的令牌并评估其影响范围。

快速上手

  1. 1

    按照 README 中的安装方法安装 Kingfisher 命令行工具

  2. 2

    扫描本地目录或代码仓库(包括 Git 历史),并以 JSON 格式输出

    kingfisher scan /path/to/code --format json

使用前须知

  • 撤销和影响范围分析仅支持部分服务商和凭证类型。
  • 扫描许多远程平台需要为每个服务提供 API 令牌。

标签

常见问题

kingfisher 是什么?
一款基于 Rust 的密钥扫描工具,可检测泄露的凭证、验证是否有效、梳理其访问范围并支持吊销。 Kingfisher 可以扫描源代码、Git 历史、压缩包、容器镜像、云对象存储,以及 GitHub、GitLab、Jira、Confluence、Slack、Postman 等开发协作平台,找出泄露的密钥。它内置数百条检测规则,并通过各服务商的 API 实时验证凭证是否仍然有效。
kingfisher 可以免费使用吗?用的什么许可证?
kingfisher 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
kingfisher 还在维护吗?
活跃维护中。kingfisher 最近一次提交是在 2026年10月20日。
kingfisher 适合用来做什么?
在提交代码前或 CI 中扫描仓库及其历史,防止密钥泄露。 审计云存储桶或容器镜像中暴露的凭证。 对大量扫描结果分诊,确认哪些凭证仍然有效。 发生泄露事件时,吊销受支持的令牌并评估其影响范围。
kingfisher 怎么安装和运行?
按照 README 中的安装方法安装 Kingfisher 命令行工具 扫描本地目录或代码仓库(包括 Git 历史),并以 JSON 格式输出: kingfisher scan /path/to/code --format json
在哪里获取 kingfisher?
源代码和安装说明在 GitHub 上:https://github.com/mongodb/kingfisher

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

相关项目