Skip to content

集成方式

cert-skills 的四种交付方式背后是同一个核心库 pkg,区别只在"怎么调"。本页帮你选对方式。

选型决策树

Skills(推荐:AI Agent)

本质:49 个 .md 提示词文件,每个是一个"可执行技能"。复制进 .claude/skills/ 后,Agent 自动知道:

  • When to Use — 哪些用户意图该触发这个技能
  • When NOT to Use — 边界,避免选错工具
  • Instructions — 该调哪个 MCP 工具 / CLI 命令、怎么解读输出
  • Anti-Patterns — 常见误用
bash
# 一键安装全部 49 个技能
cp -r .claude/skills/ /your/project/.claude/skills/

技能文件长这样(节选):

markdown
---
name: certificate-analysis
description: Use when performing SSL/TLS security analysis on a domain...
allowed-tools: ["mcp__certificate-skills__cert_analyze_security"]
---

# certificate-analysis
## When to Use
- 用户问"分析 example.com 的证书安全"
## Instructions
1. 运行 cert_analyze_security(target="DOMAIN")
2. 读取 0-100 评分
...

Skills + MCP 的分工

Skills 不执行任何代码,它只是教 Agent 怎么用 MCP/CLI。所以 Skills 通常和 MCP 配对:Skills 给智能(何时用、怎么用),MCP 给执行(实际跑工具)。

CLI(推荐:人类与脚本)

本质cert-skills 二进制,52 个子命令,全局 -o text|json|csv

bash
cert-skills analyze example.com -o json | jq '.score'
cert-skills jarm suspicious-server.com
cert-skills sign-cert --ca-cert ca.pem --ca-key ca-key.pem -n app.local
cert-skills generate-crl --ca-cert ca.pem --ca-key ca-key.pem --serials 12345

特点:

  • 单文件二进制,无运行时依赖,适合 CI / 容器
  • json 输出可管道给 jq / 脚本
  • csv 输出适合 Excel / 批量报告(仅批量命令)

MCP Server(推荐:Claude Code)

本质cert-skills-mcp 进程,通过 stdio 暴露 57 个 MCP 工具。

在 Claude Code 配置(.mcp.json 或全局):

json
{
  "mcpServers": {
    "certificate-skills": {
      "command": "cert-skills-mcp",
      "args": []
    }
  }
}

配置后,Claude 会把 cert_analyze_securitycert_jarm 等当作原生工具调用,无需手敲命令。

MCP 与 CLI 的不对称

MCP 工具大多只支持在线域名分析(需要实时拨号取 tls.ConnectionState)。离线文件分析请用 CLI 的文件路径模式。这是当前 MCP 与 CLI 的主要不对称点。

Go SDK(推荐:程序化)

本质import pkg "github.com/cyberspacesec/certificate-skills/pkg",50+ 导出函数。

go
import pkg "github.com/cyberspacesec/certificate-skills/pkg"

// 在线
result, err := pkg.AnalyzeSecurity("example.com")

// 离线(无网络)
keyUsage := pkg.CheckKeyUsageFromCert(cert)
distrusted := pkg.CheckDistrustedCAFromCert(chain)
score, err := pkg.AnalyzeSecurityFromCert(cert, "example.com")

适合:写自己的扫描器、嵌入现有安全平台、做批量流水线。pkg 函数命名规律:

后缀含义网络
AnalyzeSecurity(target)在线域名✅ 拨号
AnalyzeSecurityFromCert(cert)离线证书❌ 零网络
ScanCertSecurity(target)在线 18 项
ScanCertSecurityFromChain(cert, host, state)离线(state 可空)
CheckCAA(target)在线 DNS
CheckCAAFromCert(...)离线版用 wire 解析

能力矩阵:哪个方式能做什么

能力SkillsCLIMCPGo SDK
安全评分(在线)
安全评分(离线文件)⚠️
18 项证书检查
TLS 漏洞扫描
JARM / JA3
PKI 签发(根/中间/叶子)
CRL 生成/解析
批量测绘 map-scan
CT 搜索/子域枚举
指纹库管理
工作流编排部分

下一步