cognis-digital/keyhunt

GitHub: cognis-digital/keyhunt

一款用于扫描固件镜像和文件系统转储中硬编码密钥、token 及默认凭据的安全审计工具。

Stars: 1 | Forks: 0

KEYHUNT # KEYHUNT ### 扫描固件镜像和文件系统转储,查找硬编码的私钥、API token、默认凭据以及弱 RSA/ECC 材料。 [![PyPI](https://img.shields.io/pypi/v/cognis-keyhunt.svg?color=6b46c1)](https://pypi.org/project/cognis-keyhunt/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/11d9e98af5054306.svg)](https://github.com/cognis-digital/keyhunt/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *IoT / OT / 嵌入式 — 固件、总线和设备安全。*
``` pip install cognis-keyhunt keyhunt scan . # → prioritized findings in seconds ``` ## 使用说明 — 分步指南 1. **安装**扫描器: pip install cognis-keyhunt 2. **扫描目录树**(例如解压后的固件镜像或文件系统转储),查找硬编码的密钥、token 和默认凭据: keyhunt scan /tmp/firmware_extracted 3. **按严重程度过滤**,并为 CI 或 `jq` 输出 JSON: keyhunt scan ./dump --severity high --format json | jq '.findings[] | select(.severity=="critical")' 4. **查看结果。** 默认情况下,密钥会被脱敏处理;传递 `--show-secrets` 参数可打印完整值。退出码 `0` = 无发现,`1` = 发现一个或多个密钥,`2` = 使用方式/runtime 错误。 5. **门控构建。** keyhunt 的退出码使其可以作为开箱即用的 CI 检查: keyhunt scan ./build --severity high || { echo 'hardcoded secrets found'; exit 1; } ## 目录 - [为什么选择 keyhunt?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI stack](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关项目](#related) · [贡献指南](#contributing) ## 为什么选择 keyhunt? 立竿见影 — 指向任何一个路由器固件,就能得到‘200万台设备共享的硬编码 root SSH 密钥’。通用的硬编码凭据发现绝对能稳上头条。 `keyhunt` 是单一用途、可脚本化且可自托管的:将其指向目标,以您的工作流已使用的格式(表格 · JSON · SARIF)获取优先级排序的结果,基于此对 CI 进行门控,并让 agent 通过 MCP 驱动它。
↑ 回到顶部
## 功能 - ✅ 扫描 Bytes - ✅ 扫描文件 - ✅ 迭代文件 - ✅ 扫描路径 - ✅ 运行于 Linux/macOS/Windows · Docker · devcontainer - ✅ 提供 Python、JavaScript、Go 和 Rust 移植版本 (`ports/`)
↑ 回到顶部
## 快速开始 ``` pip install cognis-keyhunt keyhunt --version keyhunt scan . # scan current project keyhunt scan . --format json # machine-readable keyhunt scan . --fail-on high # CI gate (non-zero exit) ```
↑ 回到顶部
## 示例 ``` $ keyhunt scan . [HIGH ] KEY-001 example finding (./src/app.py) [MEDIUM ] KEY-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 回到顶部
## 架构 ``` flowchart LR IN[target / manifest] --> P[keyhunt
checks + rules] P --> OUT[findings (JSON / SARIF)] ```
↑ 回到顶部
## 从任何 AI stack 中使用它 `keyhunt` 可与所有流行的 AI 使用方式互操作: - **MCP server** — `keyhunt mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **OpenAI 兼容 / JSON** — 将 `keyhunt scan . --format json` 通过管道传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** — 一行代码将 CLI/JSON 封装为工具 - **CI / 脚本** — 为非 AI pipeline 提供退出码 + SARIF
↑ 回到顶部
## 对比 | | **Cognis keyhunt** | trufflehog + EAPOL | |---|:---:|:---:| | 可自托管,无需账号 | ✅ | 视情况而定 | | 单条命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | MCP 原生 (AI agent) | ✅ | ❌ | | 多语言移植 (JS/Go/Rust) | ✅ | ❌ | | 开源许可 | ✅ COCL | 视情况而定 | *本着 **trufflehog + EAPOL/binwalk extract** 的精神打造,以 Cognis 的方式重新构建。遗漏了致谢?提交一个 PR 吧。*
↑ 回到顶部
## 集成 可整合到您的技术栈中:用于代码扫描的 **SARIF**,适用于任何场景的 **JSON**,用于 AI agent 的 **MCP server** (`keyhunt mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 回到顶部
## 安装 — 各种方式,全平台 ``` pip install "git+https://github.com/cognis-digital/keyhunt.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/keyhunt.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/keyhunt.git" # uv pip install cognis-keyhunt # PyPI (when published) docker run --rm ghcr.io/cognis-digital/keyhunt:latest --help # Docker brew install cognis-digital/tap/keyhunt # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/keyhunt/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | Cloud | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/keyhunt` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 回到顶部
## 相关 Cognis 工具 - [`fwxray`](https://github.com/cognis-digital/fwxray) — Diff 两个固件镜像并准确找出变化的内容:新增的二进制文件、更改的配置标志、添加的证书以及变动的熵区域。 - [`canzap`](https://github.com/cognis-digital/canzap) — 使用微型的 YAML DSL 从 .pcap 或 SocketCAN 接口重放、fuzz 并断言 CAN 总线流量。 - [`sbomb`](https://github.com/cognis-digital/sbomb) — 直接从解包的固件根文件系统生成 CycloneDX SBOM,并标记具有已知 CVE 和 EOL 内核的组件。 - [`mqttspy`](https://github.com/cognis-digital/mqttspy) — 被动映射 MQTT broker:枚举 topic,检测未经身份验证的写入,发现 payload 中的 PII/机密信息,并输出风险报告。 - [`uefiscan`](https://github.com/cognis-digital/uefiscan) — 审计 UEFI 固件转储,查找缺失的 Secure Boot 密钥、未签名的模块、S3 启动脚本漏洞以及已知的 SMM 威胁。 - [`modpot`](https://github.com/cognis-digital/modpot) — 启动一个高交互的 Modbus/DNP3 ICS honeypot,将攻击者的寄存器读取/写入记录为结构化 JSON。 **探索工具套件 →** [🗂️ 所有 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 回到顶部
## 互操作性 `{}` 可与 300+ 工具的 Cognis 套件组合使用 — JSON 输入/输出以及共享的 OpenAI 兼容的 `/v1` 骨干网。有关套件图谱、组合模式和参考技术栈,请参阅 **[INTEROP.md](INTEROP.md)**。 ## 许可证 源码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** — 可免费用于个人、内部评估、研究和教育用途;**商业/生产用途需要许可证** (licensing@cognis.digital)。请参阅 [LICENSE](LICENSE)。
Cognis Digital · 170+ 个 Cognis Neural Suite 工具之一 · 让明天在今天更美好
标签:IoT安全, Python, StruQ, 可视化界面, 固件安全, 数据可视化, 无后门, 日志审计, 机密检测, 请求拦截, 逆向工具