kent-tokyo/shohei

GitHub: kent-tokyo/shohei

一个基于 Rust 的 MCP 基础设施安全诊断库,提供 168 个无需 API 密钥的工具,覆盖 DNS、TLS、邮件安全、OSINT 和威胁情报,可嵌入项目或直接供 Claude 自主调用。

Stars: 1 | Forks: 0

# shohei [![Crates.io](https://img.shields.io/crates/v/shohei.svg)](https://crates.io/crates/shohei) [![CI](https://github.com/kent-tokyo/shohei/actions/workflows/ci.yml/badge.svg)](https://github.com/kent-tokyo/shohei/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![MSRV](https://img.shields.io/badge/rust-1.85%2B-blue.svg)](https://www.rust-lang.org) [日本語](README_ja.md) | [中文](README_zh.md) **shohei** v2.5.1 — **涵盖 62 个模块、168 个 MCP 工具的 Rust 基础设施诊断库**。全面覆盖安全、OSINT、威胁情报和治理。内置 DNSSEC 信任链验证、DANE/TLSA、现代协议、IPv6 双栈、安全响应头、技术指纹识别、CVE 查找、域名仿冒检测和重定向分析。**无需任何 API 密钥 — 全部使用免费/开放的 API。可在 Rust 项目中使用,或交给 Claude 进行自主诊断。** ### 核心诊断 (v1.0+) - **面向 Claude 的 MCP 服务器** — 168 个诊断工具;只需询问“检查 example.com 的 TLS 证书、DNSBL 状态、IPv6 支持情况、技术栈、CVE 漏洞、域名仿冒变体和重定向链”,即可进行自主分析 - **TLS 证书检查** — DANE/TLSA 验证 (RFC 6698)、链分析、OCSP 响应检测、IPv6 支持、OCSP 封套检测、TLS 版本探测 (1.0–1.3)、密码套件枚举 - **电子邮件安全评分** — MX 记录、SPF、DKIM、DMARC、BIMI、MTA-STS、TLS-RPT 验证,提供 0–100 的合规评分 + 问题检查 - **IP 信誉** — 针对 Spamhaus、Barracuda、SORBS 进行 DNSBL 检查;反向 DNS (PTR) + 正向确认反向 DNS (FCrDNS) - **CDN/WAF 检测** — 通过 HTTP 标头识别 Cloudflare、AWS CloudFront、Fastly、Akamai、Vercel、Netlify、Imperva - **DNS 委托审计** — SOA 序列一致性检查,跨权威 NS 的盲区委托检测 - **域名健康报告** — 针对 MX、SPF、DMARC、TLS、DNSSEC 的综合评分 - **安全响应头审计** — CSP、HSTS、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy 及风险评分 ### DNS 与网络 (v1.0+) - **DNS 传播检查器** — 验证跨 6 个全球解析器(Google、Cloudflare、Quad9、OpenDNS、1.1.1.1、8.8.8.8)的域名一致性 - **DNSSEC 信任链树** — 查看从 `.` 到你域名的每一个 DS、DNSKEY 和信任步骤;每个区域的验证并行运行;添加 `-v` 可查看密钥标签和算法名称 - **迭代解析追踪** — 观察查询从根服务器传输到 TLD 再到权威 NS 的过程 - **延迟基准测试** — 多传输协议计时:跨多轮的系统、DoH、DoT、DoQ 测试 - **反向 DNS** — 针对 IPv4/IPv6 的 PTR 查找及 FCrDNS 验证 - **子域名枚举** — 检查常见子域名 (www、mail、api、staging、dev 等) 的 DNS 解析 + HTTP 状态 + TLS 有效性 - **端口可达性** — 针对 15 个常见端口 (SSH/22、HTTP/80、HTTPS/443、SMTP/25、MySQL/3306 等) 进行 TCP 连接性测试及 Banner 抓取 - **IPv6 双栈检查器** — 验证 AAAA 记录、IPv6 TCP/TLS/HTTP 可达性及双栈完整性 - **DNS 放大攻击潜力** — 测量 UDP 查询/响应大小比率,评估 DDoS 攻击风险 - **泛解析 DNS 检测** — 探测随机子域名以检测配置错误的 `*.domain` 记录 - **Traceroute / 跳跃分析** — 多平台逐跳延迟测量 (Linux/macOS/Windows) ### 高级功能 (v1.0+) - **DoH、DoT 和 DoQ** — 内置 DNS-over-HTTPS、DNS-over-TLS 和 DNS-over-QUIC - **区域传送 (AXFR)** — 从权威服务器导出整个区域;检测严重配置错误 - **N 路服务器对比** — 使用 `--compare` 同时对比任意数量的解析器 - **多种记录类型** — `--type a --type aaaa --type mx` 可在单次调用中并发查询所有类型 - **标准输入和文件批处理模式** — 管道输入域名列表或使用 `-f domains.txt` - **JSON 输出** — 对脚本和自动化友好的管道支持 - **监视模式** — 使用 `--watch` 按设定间隔自动刷新 - **交互式 TUI** — 在单个终端窗口中浏览记录、DNSSEC 链和追踪 (`--features tui`) - **HTTP 协议检测** — 自动检测响应中的 HTTP/1.1、HTTP/2、HTTP/3 版本 - **RPKI/ROA 验证** — 通过 Cloudflare API 进行 BGP 源授权检查 - **ARC 认证** — 电子邮件链认证记录验证(DNS 级别) - **TLS-RPT 检查** — SMTP TLS 报告策略记录的发现和解析 ### Web 侦察与威胁情报 (v1.3–1.4) - **技术栈指纹识别** — 从 HTTP 标头识别 Web 服务器、语言运行时、CMS (WordPress/Drupal) 和框架 - **通过 NVD API 进行 CVE 查找** — 搜索已知漏洞(无需 API 密钥);与技术指纹识别集成 - **域名仿冒检测** — 生成 200 多个域名变体(TLD 替换、缺失字符、字符换位、同形异义字等);通过并行 DNS 解析查找活跃的抢注域名 - **URL 重定向链追踪** — 逐跳跟随 HTTP 重定向;检测 HTTPS→HTTP 降级和重定向循环 - **停泊域名检测** — 通过标头特征 (Sedo、GoDaddy、Bodis 等) 识别为出售而停泊的域名 ## 为什么选择 shohei? ### AI 优先的基础设施诊断 大多数基础设施工具仅支持 CLI。**shohei 是专为 AI 智能体打造的:** - **MCP 服务器就绪**:将所有诊断功能暴露给 Claude、ChatGPT 和自定义 AI 智能体,无需编写集成代码 - **Claude 桌面版集成**:询问 Claude“检查 example.com 的 TLS 证书” → 获得包含完整链分析的自动诊断 - **结构化异步 API**:每个函数都返回可序列化的类型 (`DnsCheckResult`、`TlsCheckResult`、`EmailSecurityResult`) — 非常适合智能体 - **无需 CLI,无需 Python**:纯 Rust 库 + MCP 服务器;从单次检查到自动化监控均可扩展 ### 对开发者友好 - **库优先设计**:导入到 Rust 项目、CI/CD 流水线或自动化框架中 - **信任链验证**:唯一一个能在一次调用中验证 DNS → DNSSEC → TLS → DANE/TLSA 的开源库 - **现代协议**:内置 DoH、DoT、DoQ、DNSSEC、DANE/TLSA - **对自动化友好**:并发查询、批处理、多解析器检查和编程 API **与替代方案相比**(`dig`、`dog`、`drill`):shohei 是可组合的——你可以在测试、监控、CI/CD 中使用它,**或者把它交给 Claude 进行自主诊断。** | Feature | shohei | dig | dog | doggo | q | delv | drill | |---------|:------:|:---:|:---:|:-----:|:-:|:----:|:-----:| | 彩色输出 | ✓ | | ✓ | ✓ | ✓ | | | | **DNSSEC 信任链树** | **✓** | | | | | | | | DNSSEC 验证 | ✓ | ✓ | | | | ✓ | ✓ | | **迭代解析追踪(可视化)** | **✓** | | | | | | | | 权威和附加部分 | ✓ | ✓ | | | | ✓ | ✓ | | N 路服务器对比 (`--compare`) | **✓** | | | | | | | | 区域传送 (AXFR) | **✓** | ✓ | | | | | ✓ | | 监视 / 自动刷新 (`--watch`) | **✓** | | | | | | | | 对脚本友好的输出 (`--short`) | **✓** | | | | | | | | **多种记录类型** (`--type a --type mx`) | **✓** | | | ✓ | | | | | **反向 DNS 简写** (`-x 1.2.3.4`) | **✓** | ✓ | | ✓ | | | | | 强制 TCP (`--tcp`) | ✓ | ✓ | | | | | ✓ | | 禁用递归 (`--no-recurse`) | ✓ | ✓ | | | | ✓ | ✓ | | 查询延迟显示 | ✓ | ✓ | | ✓ | ✓ | | | | DNS-over-HTTPS (DoH) | ✓ | ✓ | ✓ | ✓ | ✓ | | | | DNS-over-TLS (DoT) | ✓ | ✓ | ✓ | ✓ | ✓ | | | | DNS-over-QUIC (DoQ) | **✓** | | | | ✓ | | | | JSON 输出 | ✓ | ✓ | ✓ | ✓ | ✓ | | | | 交互式 TUI | **✓** | | | | | | | | **技术栈指纹识别** | **✓** | | | | | | | | **CVE 查找(无需 API 密钥)** | **✓** | | | | | | | | **域名仿冒检测** | **✓** | | | | | | | | **URL 重定向链追踪** | **✓** | | | | | | | | **停泊域名检测** | **✓** | | | | | | | ## MCP 安全服务器对比 shohei v2.5.1 作为最全面、免费、无需 API 密钥的 MCP 安全服务器脱颖而出: | Feature | shohei | honeylabs | kastell | unphurl | cloud-audit | maigret | |---------|:------:|:---------:|:-------:|:-------:|:-----------:|:-------:| | **MCP 工具** | **168** | ~25 | ~30 | ~15 | ~20 | ~35 | | **模块** | **62** | ~8 | ~10 | ~5 | ~7 | ~12 | | **DNS/DNSSEC** | ✓ | ✓ | ✓ | | | | | **TLS/证书** | ✓ | ✓ | ✓ | | | | | **电子邮件安全** | ✓ | | | | | | | **OSINT/侦察** | ✓ | ✓ | | ✓ | | ✓ | | **威胁情报** | ✓ | | | | | | | **WHOIS/域名** | ✓ | | ✓ | | | | | **端口/服务** | ✓ | | | | | | | **IP 信誉** | ✓ | ✓ | | | | | | **合规/治理** | ✓ | | | | ✓ | | | **加密/区块链** | ✓ | | | | | | | **Web 标头** | ✓ | ✓ | | ✓ | | | | **所需 API 密钥** | **0** | 多个 | 多个 | 部分 | 多个 | 多个 | | **仅免费/开放 API** | **✓** | 部分 | 部分 | 部分 | 部分 | 部分 | | **积极维护** | ✓ | | | | | ✓ | | **开源** | ✓ (MIT) | | | | | ✓ | **核心优势:** - **168 个 MCP 工具** — 最大的综合安全工具包 (v2.5.1) - **0 个 API 密钥** — 所有工具均使用免费/开放的公共 API - **62 个模块** — DNS、TLS、电子邮件、OSINT、威胁情报、治理、加密、Web 安全、供应链、合规性 - **零设置成本** — 无需供应商 API 账户或身份验证 - **纯库 + MCP** — 用于 CI/CD 的 Rust 库 + 用于 Claude 桌面版/智能体的 MCP 服务器 ## 安装 ### 作为库(Rust 项目) 添加到你的 `Cargo.toml`: ` | `-t` | 记录类型(可重复):`a`, `aaaa`, `mx`, `ns`, `txt`, `cname`, `soa`, `ptr`, `srv`, `https`, `svcb`, `naptr`, `dnskey`, `ds`, `rrsig`, `caa`, `tlsa`, `sshfp`, `nsec`, `nsec3`, `any` | | `--reverse ` | `-x` | 反向 DNS — 自动将 IP 转换为 PTR 查询(IPv4 和 IPv6) | | `--file ` | `-f` | 从文件读取域名(每行一个),类似于 `dig -f` | | `--dnssec` | `-d` | DNSSEC 信任链验证树 | | `--verbose` | `-v` | 在 DNSSEC 链中显示详细细节(密钥标签、算法) | | `--trace` | | 从根服务器开始的迭代解析路径 | | `--no-recurse` | | 清除 RD 位 — 直接查询权威服务器;显示 Authority 和 Additional 部分 | | `--axfr` | | 从使用 `-s` 指定的服务器进行完整区域传送 | | `--tcp` | | 强制使用 TCP 而非 UDP(需要 `-s`;对大型/截断的响应很有用) | | `--timeout ` | | DNS 查询超时时间(以秒为单位,默认:5,最大:60) | | `--short` | | 仅输出数据值,每行一个(对脚本友好) | | `--watch ` | | 每 N 秒重复查询;Ctrl+C 停止 | | `--compare ` | | 查询额外的服务器并进行差异对比;重复此操作进行 N 路对比 | | `--doh ` | | DNS-over-HTTPS(例如 `https://dns.google/dns-query`) | | `--dot ` | | DNS-over-TLS(例如 `1.1.1.1:853`) | | `--doq ` | | DNS-over-QUIC(例如 `8.8.8.8` 或 `8.8.8.8:853`) | | `--server ` | `-s` | 自定义 DNS 服务器(`8.8.8.8` 或 `8.8.8.8:53`) | | `-4` | | 强制通过 IPv4 传输查询 | | `-6` | | 强制通过 IPv6 传输查询 | | `--output ` | `-o` | `colored`(默认)· `plain` · `json` | | `--tui` | | 交互式 TUI(需要 `--features tui`) | ## 信任状态 | Badge | Meaning | |-------|---------| | `✓ SECURE` | DNSSEC 已验证,完整信任链已确认 | | `⚠ INSECURE` | 区域未签名,但父区域没有 DS 委托(符合预期) | | `✗ BOGUS` | 验证失败 — 签名不匹配或信任链断裂 | | `? INDETERMINATE` | 未请求 DNSSEC,或结果不明确 | ## MCP 服务器与 Claude 集成 ### ✅ 现已推出 (v2.5.1+) 带有 168 个工具的 **MCP (Model Context Protocol) 服务器**允许 Claude 桌面版和其他 AI 智能体直接调用 shohei 诊断: ``` # 1. 安装 shohei cargo install shohei # 2. 在 Claude Desktop config 中注册 MCP server: # ~/.config/Claude/claude_desktop_config.json { "mcpServers": { "shohei": { "command": "/path/to/shohei-mcp" } } } # 3. 重启 Claude Desktop # 4. 询问 Claude:“检查 example.com 的 TLS certificate” ``` **可供 Claude 使用的 168 个工具(62 个模块):** - **DNS 与 DNSSEC**(10+ 个工具) — 查询记录、DNSSEC 验证、传播检查、区域传送、延迟基准测试 - **TLS 与证书**(8+ 个工具) — 链检查、DANE/TLSA 验证、证书透明度 (CT) 日志、OCSP 检查、密码套件 - **电子邮件安全**(6+ 个工具) — SPF、DKIM、DMARC、BIMI、MTA-STS、TLS-RPT 验证及合规评分 - **IP 与网络**(10+ 个工具) — IP 信誉、反向 DNS、ASN/GeoIP、端口扫描、Traceroute、IPv6 双栈检查 - **Web 安全**(12+ 个工具) — 安全响应头审计、WAF/CDN 检测、技术指纹识别、HTTP/2/3 检测、重定向分析 - **OSINT 与侦察**(15+ 个工具) — WHOIS、域名年龄、子域名枚举、域名仿冒检测、停泊域名检测、品牌名称检查器 - **威胁情报**(10+ 个工具) — CVE 查找、VirusTotal 集成、URLhaus 检查、Shodan 查询、泄露数据库查找 - **治理与合规**(8+ 个工具) — BGP/RPKI 验证、GDPR 合规检查、电子邮件认证链 (ARC)、DNS 放大风险 - **加密与区块链**(10+ 个工具) — 以太坊地址验证、加密货币持有者检测、区块链 WHOIS - **高级分析**(19+ 个工具) — 实体关系图、品牌检测、URL 分析、重定向域名年龄、合规报告、HASSH 指纹识别、云暴露、网络信誉 - **URL 情报**(4 个工具) — URL 解析、安全情报、网页篡改检测、分析 - **云暴露**(4 个工具) — 云提供商资产检测、配置错误扫描、云基础设施分析 - **OSINT 扩展**(4 个工具) — 高级侦察技术、基础设施映射、历史数据查询 - **网络信誉**(3 个工具) — ISP 信誉、网络行为分析、威胁评分 - **云基础设施**(4+ 个工具) — AWS/GCP/Azure 资源暴露、错误配置的存储检测、IAM 策略分析 - **凭证安全**(4+ 个工具) — 泄露凭证检查、API 密钥暴露扫描、公共资源中的机密检测 - **供应链安全**(4+ 个工具) — 依赖项漏洞分析、包注册表完整性检查、包名中的域名仿冒检测 - **Web 情报**(5 个工具) — robots.txt 分析、.well-known 发现、OAuth/OIDC 审计、证书固定、API 调试端点暴露 - **服务暴露**(4 个工具) — 未经身份验证的数据库访问 (Redis/MongoDB/Elasticsearch)、Docker/Kubernetes API 暴露、服务指纹识别、DGA 风险评分 - **子域名接管**(3 个工具) — 30+ 种服务特征 (GitHub Pages、Heroku、Netlify、Vercel、Azure、AWS、Shopify…)、RIPE Stat 被动 DNS、Azure AD 租户暴露 - **高级电子邮件**(2 个工具) — DKIM 密钥强度(1024 对 2048 对 Ed25519)、MX 服务器 STARTTLS 深度审计 - **攻击面**(1 个工具) — 聚合 TLS + Web 标头 + 电子邮件 + 网络暴露的类 CVSS 综合评分 **示例:** Claude 自主诊断一个域名: ![Claude 桌面版中的 MCP shohei](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3e6bcfe51a030546.png) ### 其他集成 - **Rust 库**:在你的项目中 `use shohei;` — 结构化异步 API - **CLI**:手动检查:`shohei example.com --dnssec --trace` - **JSON 输出**:脚本和工具支持:`shohei example.com --output json` 详情请参阅 [docs/INTEGRATIONS.md](docs/INTEGRATIONS.md)。 ## 构建基于 - [hickory-dns](https://hickory-dns.org/) — DNSSEC、DoH、DoT 支持 - [clap](https://crates.io/crates/clap) — CLI 参数解析 - [ratatui](https://ratatui.rs/) — TUI 框架(可选的 `tui` 功能) - [owo-colors](https://crates.io/crates/owo-colors) — 终端颜色 - [comfy-table](https://crates.io/crates/comfy-table) — 记录表格渲染 ## 许可证 MIT — 详见 [LICENSE](LICENSE)
标签:ESC4, GitHub, MCP服务, OSINT, Rust, 可视化界面, 基础设施检测, 威胁情报, 安全诊断, 实时处理, 开发者工具, 网络流量审计, 通知系统