cyberspacesec/crt.sh-skills
GitHub: cyberspacesec/crt.sh-skills
对 crt.sh 证书透明度搜索引擎的全功能封装,提供 AI Skills、MCP 服务端、CLI 与 Go SDK 四种统一的调用方式。
Stars: 0 | Forks: 0
# crt.sh-skills
[](https://opensource.org/licenses/MIT) [](https://github.com/cyberspacesec/crt.sh-skills/releases/latest) [](https://github.com/cyberspacesec/crt.sh-skills/actions/workflows/ci.yml)
[crt.sh](https://crt.sh/) Certificate Transparency 搜索引擎的综合封装 —— 可通过 **Skills**、MCP、CLI 或 Go SDK 访问。**crt.sh 的每一个功能都已封装 —— 一个不漏。**
[简体中文](#简体中文) | **English**
## 🚀 4 种连接方式
| # | 方式 | 适用场景 | 一句话说明 |
|---|--------|----------|-----------|
| 1 | **Skills** | AI agent(Claude Code、Cursor 等) | 零安装 —— 只需添加配置 |
| 2 | **MCP Server** | 任何兼容 MCP 的 AI 工具 | `./mcp-server --transport stdio` |
| 3 | **CLI** | 人工操作、脚本、流水线 | `crtsh-cli search example.com` |
| 4 | **Go SDK** | Go 程序、集成 | `import crtsh "github.com/cyberspacesec/crt.sh-skills/pkg/crtsh"` |
这四个层次暴露了**完全相同的功能** —— 任何一层都具有所有功能,没有遗漏。
```
┌─────────────────────────────────────────────┐
│ Skills (.claude/skills/) │ AI-readable docs (trigger-based)
├─────────────────────────────────────────────┤
│ MCP Server (5 tools) │ AI-callable (stdio/HTTP/SSE)
├─────────────────────────────────────────────┤
│ CLI Tool (10 commands) │ Human-callable (cobra-based)
├─────────────────────────────────────────────┤
│ Go SDK (6 methods + helpers) │ Programmatic API
└─────────────────────────────────────────────┘
```
## 1️⃣ Skills — AI Agent 集成
### Claude Code 一键设置
将以下内容添加到你的 `~/.claude/settings.json`:
```
{
"mcpServers": {
"crt-sh-skills": {
"command": "npx",
"args": ["-y", "crtsh-skills-mcp-server"]
}
}
}
```
或者,如果你更喜欢预构建的二进制文件:
```
{
"mcpServers": {
"crt-sh-skills": {
"command": "bash",
"args": ["-c", "OS=$(uname -s | tr '[:upper:]' '[:lower:]'); ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/'); curl -sL https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-mcp-server-${OS}-${ARCH}.tar.gz | tar xz && ./mcp-server --transport stdio"]
}
}
}
```
或者要进行项目本地自动注册,请将 `.mcp.json` 添加到你的项目根目录:
```
{
"crt-sh-skills": {
"command": "go",
"args": ["run", "github.com/cyberspacesec/crt.sh-skills/cmd/mcp-server@latest", "--transport", "stdio"]
}
}
```
### 可用 Skills
| Skill | 触发词 | 功能描述 |
|-------|---------|-------------|
| `crtsh-search` | CT 日志搜索、子域名枚举、域名侦察、证书搜索 | 搜索 CT 日志 + 全部 5 个工具 |
| `crtsh-cert` | 证书 ID 查询、CA 调查、证书有效性检查 | 证书及 CA 详情查询 |
### 你的 AI 能做什么
连接后,你的 AI agent 可以:
- 🔍 **搜索 CT 日志**:按域名、哈希、序列号、CA 名称、IP 地址等 16 种以上类型搜索
- 📜 **检索证书**:通过 crt.sh ID 获取
- 🏛️ **调查 CA** —— 证书链发现、CA 披露、已撤销的中间证书
- 📊 **访问 13 个信息页面** —— 受监控的 CT 日志、Mozilla/Apple/Chrome Root 程序、OCSP 响应器
- 🔗 **在 Censys.io 上交叉引用** —— 构建 Censys 搜索 URL
- ✅ **Lint 证书** —— cablint、x509lint、zlint、keylint
## 2️⃣ MCP Server
### 安装与运行
**选项 A:下载预构建的二进制文件**
```
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/;s/i686/386/;s/i386/386/')
curl -sL "https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-mcp-server-${OS}-${ARCH}.tar.gz" | tar xz
chmod +x mcp-server
```
**选项 B:通过 Go 安装**
```
go install github.com/cyberspacesec/crt.sh-skills/cmd/mcp-server@latest
```
**选项 C:克隆并构建**
```
git clone https://github.com/cyberspacesec/crt.sh-skills.git
cd crt.sh-skills && go build -o mcp-server ./cmd/mcp-server/
```
### 传输模式
```
# stdio (Claude Code、Cursor、Windsurf 等)
./mcp-server --transport stdio
# HTTP (远程 AI 代理)
./mcp-server --transport http --addr :8080
# SSE (基于浏览器的客户端)
./mcp-server --transport sse --addr :8080 --base-url https://my-server.com
```
### 5 个 MCP 工具
| 工具 | 必填参数 | 描述 |
|------|----------------|-------------|
| `search_certificates` | `query` | 搜索 CT 日志(22 种搜索类型、7 种匹配模式、lint、分页) |
| `get_certificate` | `id` | 通过 crt.sh ID 获取证书 |
| `get_info_page` | `page` | 访问 13 个 crt.sh 信息页面 |
| `get_ca` | `ca_id` | 获取 CA 证书详情 |
| `search_censys` | `query`, `search_type` | 构建 Censys.io 搜索 URL |
## 3️⃣ CLI
### 安装
```
# 选项 A:下载预编译二进制文件
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/;s/i686/386/;s/i386/386/')
curl -sL "https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-cli-${OS}-${ARCH}.tar.gz" | tar xz
chmod +x crtsh-cli
# 选项 B:Go install
go install github.com/cyberspacesec/crt.sh-skills/cmd/crtsh-cli@latest
# 选项 C:克隆并构建
git clone https://github.com/cyberspacesec/crt.sh-skills.git
cd crt.sh-skills && go build -o crtsh-cli ./cmd/crtsh-cli/
```
### 用法
```
# 搜索证书
crtsh-cli search example.com --exclude-expired --deduplicate
crtsh-cli search ABCDEF1234 --type sha256
crtsh-cli search "Let's Encrypt" --type CAName
# 按 ID 获取证书
crtsh-cli get-cert 26786991824 --json
# 获取信息页面
crtsh-cli info-page monitored-logs
# 获取 CA 详情
crtsh-cli get-ca 16418
# 构建 Censys URL
crtsh-cli censys "example.com" --type CN
# 列出可用选项
crtsh-cli list-types # 22 search types
crtsh-cli list-pages # 13 info pages
crtsh-cli list-linters # 5 linters
crtsh-cli list-match-modes # 7 match modes
# 输出格式
crtsh-cli search example.com -o json # JSON
crtsh-cli search example.com -o csv # CSV
crtsh-cli search example.com -o table # Table (default)
# Root-level flags
crtsh-cli --timeout 60s search example.com # Custom timeout
crtsh-cli --debug search example.com # Debug output
```
## 4️⃣ Go SDK
### 安装
```
go get github.com/cyberspacesec/crt.sh-skills/pkg/crtsh
```
### 快速示例
```
package main
import (
"context"
"fmt"
"log"
"time"
crtsh "github.com/cyberspacesec/crt.sh-skills/pkg/crtsh"
)
func main() {
client := crtsh.NewClient(
crtsh.WithTimeout(10 * time.Second),
crtsh.WithRetryCount(5),
)
// Search certificates
certs, _, err := client.SearchCertificates(context.Background(), crtsh.QueryParams{
Q: "example.com",
Deduplicate: true,
ExcludeExpired: true,
})
if err != nil {
if crtsh.IsServerError(err) {
log.Fatal("crt.sh is having issues:", err)
}
log.Fatal(err)
}
for _, cert := range certs {
fmt.Printf("ID: %d, CN: %s, Domains: %v\n", cert.ID, cert.CommonName, cert.Domains)
}
}
```
### 完整 API
```
// Create client with options
client := crtsh.NewClient(
crtsh.WithTimeout(10 * time.Second),
crtsh.WithRetryCount(5),
crtsh.WithDebug(true),
crtsh.WithUserAgent("my-app/1.0"),
)
// Search certificates (22 search types, 7 match modes, linting, pagination)
certs, pagination, err := client.SearchCertificates(ctx, crtsh.QueryParams{
SearchType: "dNSName",
Q: "example.com",
ExcludeExpired: true,
Deduplicate: true,
Page: 1,
PageSize: 50,
})
// Get certificate by ID
cert, err := client.GetCertificateByID(ctx, 26786991824)
// Get info page (13 pages)
info, err := client.FetchInfoPage(ctx, "monitored-logs")
// Get CA details
ca, err := client.FetchCAByID(ctx, 16418)
// Build Censys URL
url, err := crtsh.BuildCensysURL("CN", "example.com")
// Auto-paginate through all results
err := client.IterateCertificates(ctx, params, func(certs []crtsh.Certificate, pag *crtsh.Pagination) bool {
for _, cert := range certs {
fmt.Println(cert.CommonName)
}
return true // return false to stop early
})
// Typed error handling
if crtsh.IsNotFoundError(err) { /* 404 */ }
if crtsh.IsRateLimitError(err) { /* 429 */ }
if crtsh.IsServerError(err) { /* 5xx */ }
// Registry functions
types := crtsh.SearchTypes() // 22 search types
modes := crtsh.MatchModes() // 7 match modes
linters := crtsh.Linters() // 5 linters
lintTypes := crtsh.LintTypes() // 2 lint output types
```
## 📦 预构建二进制文件
从 [GitHub Releases](https://github.com/cyberspacesec/crt.sh-skills/releases/latest) 下载。提供 **9 种平台组合**:
| 平台 | 架构 | MCP Server | CLI 工具 |
|----------|-------------|------------|----------|
| Linux | amd64 | `crtsh-skills-mcp-server-linux-amd64.tar.gz` | `crtsh-skills-cli-linux-amd64.tar.gz` |
| Linux | arm64 | `crtsh-skills-mcp-server-linux-arm64.tar.gz` | `crtsh-skills-cli-linux-arm64.tar.gz` |
| Linux | 386 | `crtsh-skills-mcp-server-linux-386.tar.gz` | `crtsh-skills-cli-linux-386.tar.gz` |
| macOS | amd64 | `crtsh-skills-mcp-server-darwin-amd64.tar.gz` | `crtsh-skills-cli-darwin-amd64.tar.gz` |
| macOS | arm64 | `crtsh-skills-mcp-server-darwin-arm64.tar.gz` | `crtsh-skills-cli-darwin-arm64.tar.gz` |
| Windows | amd64 | `crtsh-skills-mcp-server-windows-amd64.zip` | `crtsh-skills-cli-windows-amd64.zip` |
| Windows | arm64 | `crtsh-skills-mcp-server-windows-arm64.zip` | `crtsh-skills-cli-windows-arm64.zip` |
| Windows | 386 | `crtsh-skills-mcp-server-windows-386.zip` | `crtsh-skills-cli-windows-386.zip` |
| FreeBSD | amd64 | `crtsh-skills-mcp-server-freebsd-amd64.tar.gz` | `crtsh-skills-cli-freebsd-amd64.tar.gz` |
**校验和验证:**
```
curl -sL https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/checksums.txt -o checksums.txt
sha256sum -c --ignore-missing checksums.txt
```
## 🛠️ 开发
```
# 运行测试
go test -v -race ./pkg/crtsh/...
# 构建所有二进制文件
go build -ldflags "-X main.Version=$(git describe --tags --always)" -o mcp-server ./cmd/mcp-server/
go build -ldflags "-X main.Version=$(git describe --tags --always)" -o crtsh-cli ./cmd/crtsh-cli/
# 试运行 GoReleaser(不发布)
goreleaser release --snapshot --clean
# 创建发布
git tag v1.2.0
git push origin v1.2.0
# GitHub Actions + GoReleaser 将自动构建并发布二进制文件
```
## 许可证
MIT License —— 详情请参阅 [LICENSE](LICENSE)。
## 简体中文
[crt.sh-skills](https://crt.sh/) 证书透明度搜索引擎的完整封装 —— 支持 **Skills**、MCP、CLI、Go SDK 四种方式接入。**crt.sh 的每一个功能都已封装,一个不漏。**
**English** | [简体中文](#简体中文)
## 🚀 四种接入方式
| # | 方式 | 适用场景 | 一句话说明 |
|---|------|---------|-----------|
| 1 | **Skills** | AI Agent(Claude Code、Cursor 等) | 零安装 — 只需添加配置 |
| 2 | **MCP Server** | 任何兼容 MCP 的 AI 工具 | `./mcp-server --transport stdio` |
| 3 | **CLI** | 人工使用、脚本、流水线 | `crtsh-cli search example.com` |
| 4 | **Go SDK** | Go 程序、集成开发 | `import crtsh "github.com/cyberspacesec/crt.sh-skills/pkg/crtsh"` |
四种方式暴露**完全相同的能力** —— 任何一个功能都不会只在某一种方式中存在。
```
┌─────────────────────────────────────────────┐
│ Skills (.claude/skills/) │ AI 可读文档(触发式)
├─────────────────────────────────────────────┤
│ MCP Server (5 tools) │ AI 可调用(stdio/HTTP/SSE)
├─────────────────────────────────────────────┤
│ CLI Tool (10 命令) │ 人类可调用(cobra 风格)
├─────────────────────────────────────────────┤
│ Go SDK (6 方法 + 辅助函数) │ 编程式 API
└─────────────────────────────────────────────┘
```
## 1️⃣ Skills — AI Agent 接入
### 一键配置(Claude Code)
将以下内容添加到 `~/.claude/settings.json`:
```
{
"mcpServers": {
"crt-sh-skills": {
"command": "npx",
"args": ["-y", "crtsh-skills-mcp-server"]
}
}
}
```
或者使用预编译二进制:
```
{
"mcpServers": {
"crt-sh-skills": {
"command": "bash",
"args": ["-c", "OS=$(uname -s | tr '[:upper:]' '[:lower:]'); ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/'); curl -sL https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-mcp-server-${OS}-${ARCH}.tar.gz | tar xz && ./mcp-server --transport stdio"]
}
}
}
```
或者项目级自动注册,在项目根目录添加 `.mcp.json`:
```
{
"crt-sh-skills": {
"command": "go",
"args": ["run", "github.com/cyberspacesec/crt.sh-skills/cmd/mcp-server@latest", "--transport", "stdio"]
}
}
```
### 可用 Skills
| Skill | 触发条件 | 功能 |
|-------|---------|------|
| `crtsh-search` | CT 日志搜索、子域名枚举、域名侦察、证书搜索 | 搜索 CT 日志 + 全部 5 个工具 |
| `crtsh-cert` | 证书 ID 查询、CA 调查、证书有效性检查 | 证书与 CA 详情查询 |
### AI Agent 能做什么
连接后,你的 AI Agent 可以:
- 🔍 **搜索 CT 日志** — 按域名、哈希、序列号、CA 名称、IP 地址等 22 种类型搜索
- 📜 **获取证书** — 通过 crt.sh ID 获取证书详情
- 🏛️ **调查 CA** — 证书链发现、CA 披露、已吊销中间证书
- 📊 **访问 13 个信息页** — 受监控的 CT 日志、Mozilla/Apple/Chrome 根证书计划、OCSP 响应器
- 🔗 **在 Censys.io 上交叉引用** — 构建 Censys 搜索 URL
- ✅ **证书合规检查** — cablint、x509lint、zlint、keylint
## 2️⃣ MCP Server
### 安装与运行
_BLOCK_19/>
### 传输模式
```
./mcp-server --transport stdio # Claude Code、Cursor、Windsurf 等
./mcp-server --transport http --addr :8080 # 远程 AI Agent
./mcp-server --transport sse --addr :8080 --base-url https://my-server.com # 浏览器客户端
```
### 5 个 MCP 工具
| 工具 | 必填参数 | 说明 |
|------|---------|------|
| `search_certificates` | `query` | 搜索 CT 日志(22 种搜索类型、7 种匹配模式、合规检查、分页) |
| `get_certificate` | `id` | 通过 crt.sh ID 获取证书 |
| `get_info_page` | `page` | 访问 13 个 crt.sh 信息页 |
| `get_ca` | `ca_id` | 获取 CA 证书详情 |
| `search_censys` | `query`, `search_type` | 构建 Censys.io 搜索 URL |
## 3️⃣ CLI
### 安装
```
# 方式 A:下载预编译二进制
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/;s/i686/386/;s/i386/386/')
curl -sL "https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/crtsh-skills-cli-${OS}-${ARCH}.tar.gz" | tar xz
chmod +x crtsh-cli
# 方式 B:Go install
go install github.com/cyberspacesec/crt.sh-skills/cmd/crtsh-cli@latest
# 方式 C:克隆并编译
git clone https://github.com/cyberspacesec/crt.sh-skills.git
cd crt.sh-skills && go build -o crtsh-cli ./cmd/crtsh-cli/
```
### 使用示例
```
# 搜索证书
crtsh-cli search example.com --exclude-expired --deduplicate
crtsh-cli search ABCDEF1234 --type sha256
crtsh-cli search "Let's Encrypt" --type CAName
# 获取证书详情
crtsh-cli get-cert 26786991824 --json
# 获取信息页
crtsh-cli info-page monitored-logs
# 获取 CA 详情
crtsh-cli get-ca 16418
# 构建 Censys URL
crtsh-cli censys "example.com" --type CN
# 列出可用选项
crtsh-cli list-types # 22 种搜索类型
crtsh-cli list-pages # 13 个信息页
crtsh-cli list-linters # 5 种合规检查工具
crtsh-cli list-match-modes # 7 种匹配模式
# 输出格式
crtsh-cli search example.com -o json # JSON
crtsh-cli search example.com -o csv # CSV
crtsh-cli search example.com -o table # 表格(默认)
```
## 4️⃣ Go SDK
### 安装
```
go get github.com/cyberspacesec/crt.sh-skills/pkg/crtsh
```
### 快速示例
```
package main
import (
"context"
"fmt"
"log"
"time"
crtsh "github.com/cyberspacesec/crt.sh-skills/pkg/crtsh"
)
func main() {
client := crtsh.NewClient(
crtsh.WithTimeout(10 * time.Second),
crtsh.WithRetryCount(5),
)
// 搜索证书
certs, _, err := client.SearchCertificates(context.Background(), crtsh.QueryParams{
Q: "example.com",
Deduplicate: true,
ExcludeExpired: true,
})
if err != nil {
if crtsh.IsServerError(err) {
log.Fatal("crt.sh 服务异常:", err)
}
log.Fatal(err)
}
for _, cert := range certs {
fmt.Printf("ID: %d, CN: %s, Domains: %v\n", cert.ID, cert.CommonName, cert.Domains)
}
}
```
### 完整 API
```
// 创建客户端
client := crtsh.NewClient(
crtsh.WithTimeout(10 * time.Second),
crtsh.WithRetryCount(5),
crtsh.WithDebug(true),
crtsh.WithUserAgent("my-app/1.0"),
)
// 搜索证书(22 种搜索类型、7 种匹配模式、合规检查、分页)
certs, pagination, err := client.SearchCertificates(ctx, crtsh.QueryParams{
SearchType: "dNSName",
Q: "example.com",
ExcludeExpired: true,
Deduplicate: true,
Page: 1,
PageSize: 50,
})
// 通过 ID 获取证书
cert, err := client.GetCertificateByID(ctx, 26786991824)
// 获取信息页(13 个页面)
info, err := client.FetchInfoPage(ctx, "monitored-logs")
// 获取 CA 详情
ca, err := client.FetchCAByID(ctx, 16418)
// 构建 Censys URL
url, err := crtsh.BuildCensysURL("CN", "example.com")
// 自动翻页遍历所有结果
err := client.IterateCertificates(ctx, params, func(certs []crtsh.Certificate, pag *crtsh.Pagination) bool {
for _, cert := range certs {
fmt.Println(cert.CommonName)
}
return true // 返回 false 提前停止
})
// 类型化错误处理
if crtsh.IsNotFoundError(err) { /* 404 */ }
if crtsh.IsRateLimitError(err) { /* 429 */ }
if crtsh.IsServerError(err) { /* 5xx */ }
// 注册表函数
types := crtsh.SearchTypes() // 22 种搜索类型
modes := crtsh.MatchModes() // 7 种匹配模式
linters := crtsh.Linters() // 5 种合规检查工具
lintTypes := crtsh.LintTypes() // 2 种合规输出类型
```
## 📦 预编译二进制
从 [GitHub Releases](https://github.com/cyberspacesec/crt.sh-skills/releases/latest) 下载,支持 **9 种平台组合**:
| 平台 | 架构 | MCP Server | CLI 工具 |
|------|------|------------|---------|
| Linux | amd64 | `crtsh-skills-mcp-server-linux-amd64.tar.gz` | `crtsh-skills-cli-linux-amd64.tar.gz` |
| Linux | arm64 | `crtsh-skills-mcp-server-linux-arm64.tar.gz` | `crtsh-skills-cli-linux-arm64.tar.gz` |
| Linux | 386 | `crtsh-skills-mcp-server-linux-386.tar.gz` | `crtsh-skills-cli-linux-386.tar.gz` |
| macOS | amd64 | `crtsh-skills-mcp-server-darwin-amd64.tar.gz` | `crtsh-skills-cli-darwin-amd64.tar.gz` |
| macOS | arm64 | `crtsh-skills-mcp-server-darwin-arm64.tar.gz` | `crtsh-skills-cli-darwin-arm64.tar.gz` |
| Windows | amd64 | `crtsh-skills-mcp-server-windows-amd64.zip` | `crtsh-skills-cli-windows-amd64.zip` |
| Windows | arm64 | `crtsh-skills-mcp-server-windows-arm64.zip` | `crtsh-skills-cli-windows-arm64.zip` |
| Windows | 386 | `crtsh-skills-mcp-server-windows-386.zip` | `crtsh-skills-cli-windows-386.zip` |
| FreeBSD | amd64 | `crtsh-skills-mcp-server-freebsd-amd64.tar.gz` | `crtsh-skills-cli-freebsd-amd64.tar.gz` |
**校验文件完整性:**
```
curl -sL https://github.com/cyberspacesec/crt.sh-skills/releases/latest/download/checksums.txt -o checksums.txt
sha256sum -c --ignore-missing checksums.txt
```
## 🛠️ 开发
```
# 运行测试
go test -v -race ./pkg/crtsh/...
# 构建所有二进制
go build -ldflags "-X main.Version=$(git describe --tags --always)" -o mcp-server ./cmd/mcp-server/
go build -ldflags "-X main.Version=$(git describe --tags --always)" -o crtsh-cli ./cmd/crtsh-cli/
# GoReleaser 试运行(不发布)
goreleaser release --snapshot --clean
# 创建发布版本
git tag v1.2.0
git push origin v1.2.0
# GitHub Actions + GoReleaser 会自动构建并发布二进制
```
## 许可证
MIT License — 详见 [LICENSE](LICENSE)。
search_certificates —— 所有参数
| 参数 | 类型 | 必填 | 描述 | |-----------|------|----------|-------------| | `query` | string | 是 | 搜索词 | | `search_type` | string | 否 | `""`, `c`, `id`, `ctid`, `serial`, `ski`, `spkisha1`, `spkisha256`, `subjectsha1`, `sha1`, `sha256`, `ca`, `CAID`, `CAName`, `Identity`, `CN`, `E`, `OU`, `O`, `dNSName`, `rfc822Name`, `iPAddress` | | `match` | string | 否 | `""`, `=`, `ILIKE`, `LIKE`, `single`, `any`, `FTS` | | `exclude_expired` | boolean | 否 | 排除已过期证书 | | `deduplicate` | boolean | 否 | 对预证书对进行去重 | | `show_sql` | boolean | 否 | 显示 SQL 查询(用于调试) | | `linter` | string | 否 | `cablint`, `x509lint`, `zlint`, `keylint`, `lint` | | `lint_type` | string | 否 | `1 week`, `issues` | | `page` | number | 否 | 页码(从 1 开始) | | `page_size` | number | 否 | 每页结果数 |get_info_page —— 13 个可用页面
`cert-populations`, `revoked-intermediates`, `ca-issuers`, `ocsp-responders`, `test-websites`, `monitored-logs`, `accepted-roots-missing`, `gen-add-chain`, `mozilla-disclosures`, `mozilla-certvalidations`, `mozilla-onecrl`, `apple-disclosures`, `chrome-disclosures`search 命令 —— 所有 flag
| Flag | 缩写 | 默认值 | 描述 | |------|-------|---------|-------------| | `--type` | `-t` | `""` | 搜索类型(22 种) | | `--match` | `-m` | `""` | 匹配模式(7 种) | | `--exclude-expired` | `-e` | false | 排除已过期证书 | | `--deduplicate` | `-d` | false | 对预证书对进行去重 | | `--show-sql` | | false | 显示 SQL 查询(用于调试) | | `--linter` | | `""` | Linter: cablint, x509lint, zlint, keylint, lint | | `--lint-type` | | `""` | Lint 输出: `1 week`, `issues` | | `--page` | `-p` | 0 | 页码(从 1 开始) | | `--page-size` | `-s` | 0 | 每页结果数 | | `--json` | `-j` | false | `--output json` 的简写 |证书模型
| 字段 | 类型 | 描述 | |-------|------|-------------| | `ID` | int | crt.sh 证书 ID | | `IssuerCAID` | int | 证书颁发机构 (CA) ID | | `IssuerName` | string | 完整的颁发者专有名称 | | `CommonName` | string | 证书 commonName | | `NameValue` | []string | 所有域名(已解析) | | `Domains` | []string | 已去重、去除通配符的域名 | | `EntryTimestamp` | time.Time | CT 日志记录时间戳 | | `NotBefore` | time.Time | 证书有效期开始时间 | | `NotAfter` | time.Time | 证书有效期结束时间 | | `SerialNumber` | string | 证书序列号 | | `ResultCount` | int | 匹配结果数 |标签:CLI, ESC4, EVTX分析, Go SDK, MCP Server, OSINT, WiFi技术, 实时处理, 日志审计, 证书透明度, 资产测绘