Ssl Inspector

io.github.GuardBee由 GitHub 帳號 GuardBee 發布v0.5.1更新於 Nov 3, 2026

TLS certificate/cipher/protocol inspection

概覽

AI 產生的概覽

本機 MCP 伺服器,用來檢查網域的 TLS 憑證、加密套件、協定設定與 HSTS,讓助理評估 SSL 設定與到期狀況。

可以做什麼
  • 檢查單一網域的完整 TLS 設定:憑證、加密套件、協定與 HSTS
  • 平行批次掃描多個網域
  • 檢查多個網域的憑證到期時間並標示即將到期的憑證
  • 取得憑證詳細資訊,例如 SHA-256 指紋、SAN、簽發鏈與序號
  • 回報過期、已撤銷、自簽憑證,以及弱金鑰、弱加密套件、過時協定等安全問題
適用情境
適合讓助理回答某個網站的 SSL/TLS 健康狀況、比較多個網域的憑證,或在對話中留意即將到期的憑證。
執行需求
以本機 stdio 程序執行,透過 npm 套件 @guardbee/mcp-ssl-inspector 安裝(需要 Node.js,無外部相依)。需要能連線到目標網域對應 TLS 埠的外送網路。未宣告帳號、API 金鑰或環境變數。
安裝前請注意
伺服器會主動連線到被查詢的網域,目標主機名稱會揭露給這些伺服器。遙測預設關閉;設定 GUARDBEE_TELEMETRY=1 後,會把伺服器、工具、成功狀態、耗時與較短的參數值傳送給第三方套件,較長字串及 content、token、password 等欄位會以佔位符取代。檢查結果為唯讀觀察。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Ssl Inspector,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@guardbee/mcp-ssl-inspector

🇬🇧 English | 🇹🇷 Türkçe | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇧🇷 Português | 🇪🇸 Español | 🇩🇪 Deutsch

[npm version] [npm downloads] [License: MIT]

An MCP server that inspects TLS certificates, cipher suites, and protocol configuration for any domain. Uses Node.js's built-in tls module — no external dependencies.

Telemetry is off by default. With GUARDBEE_TELEMETRY=1 it sends the server, tool, success, duration and short parameter values such as a file path; longer strings and fields like content, token or password are replaced with a placeholder. See @guardbee/mcp-telemetry.


Features

  • Certificate Inspection — validity, days until expiry, SHA-256 fingerprint, SANs, issuer chain
  • Protocol Check — TLS 1.0/1.1 deprecation warning, SSLv2/v3 critical warning
  • Cipher Analysis — detects NULL, EXPORT, RC4, DES, 3DES, anonymous ciphers
  • HSTS Check — Strict-Transport-Security header, max-age, includeSubdomains
  • Bulk Scanning — scans N domains in parallel
  • Certificate Expiry Monitoring — 🚨 / ⚠️ / ✅ icons for upcoming expirations
  • 12 Unit Tests — pure logic tests, no network connection required

Quick Start

bash
npm install -g @guardbee/mcp-ssl-inspector

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "guardbee-ssl-inspector": {      "command": "npx",      "args": ["-y", "@guardbee/mcp-ssl-inspector"]    }  }}

MCP Tools

ToolDescription
inspect_sslFull TLS inspection for a single domain (cert + cipher + protocol + HSTS)
inspect_ssl_bulkInspects multiple domains in parallel
check_cert_expiryChecks certificate expiry dates for N domains
get_cert_infoDetailed certificate info for a domain (fingerprint, SAN, chain, serial number)

Example Usage

You can ask Claude:

"Is example.com's SSL certificate valid?"

"When do these domains' certificates expire: example.com, api.example.com, shop.example.com"

"Is example.com using a weak cipher suite?"

Example Output

┌─ example.com:443│  Protocol  : TLSv1.3│  Cipher    : TLS_AES_256_GCM_SHA384 (256 bit)│  Chain     : depth=2 valid=yes│  Cert CN   : example.com│  Validity  : Mar 15 2024 → Jun 13 2024 (expires in 45 days)│  SANs      : example.com, www.example.com│  Issuer    : Let's Encrypt│  SHA-256   : AA:BB:CC:DD:...│  HSTS      : enabled (max-age=31536000, includeSubdomains)│  ✅ No security issues found

Security Findings

FindingSeverityDescription
CERT_EXPIRED🔴 CriticalCertificate has expired
CERT_EXPIRY_CRITICAL🔴 Critical< 7 days remaining
CERT_EXPIRY_SOON🟠 High< 21 days remaining (ACME clients renew at 30: renewal is failing)
CERT_EXPIRY_WARN🟡 Medium< 30 days remaining
HOSTNAME_MISMATCH🔴 CriticalThe certificate is not valid for the host
CERT_REVOKED🔴 CriticalThe certificate has been revoked
CERT_SELF_SIGNED🟠 HighSelf-signed certificate
CERT_CHAIN_INCOMPLETE🟠 HighThe server does not send its intermediate certificate
CERT_CHAIN_INVALID🟠 HighOther chain validation error
WEAK_KEY🟠 High / 🔴 CriticalRSA key under 2048 bits (critical under 1024), EC key under 256 bits
WEAK_SIGNATURE🟠 HighLeaf or intermediate signed with SHA-1 or MD5
CERT_NO_SAN🟡 MediumNo Subject Alternative Name
DEPRECATED_PROTOCOL🟠 HighThe server still accepts TLS 1.0 or 1.1 (probe)
OBSOLETE_PROTOCOL🔴 CriticalSSLv2 or SSLv3
WEAK_CIPHER🔴 Critical / 🟠 HighAccepts NULL/EXPORT/RC4 (critical) or 3DES (high) suites (probe)
WEAK_DH🟠 High / 🔴 CriticalDiffie-Hellman group under 2048 bits (critical under 1024) (probe)
NO_FORWARD_SECRECY🟡 MediumAccepts RSA key exchange ciphers (probe)
NO_HSTS🟡 MediumNo HSTS header found
HSTS_SHORT_MAX_AGE🔵 Lowmax-age < 15552000s
NO_TLS13🔵 LowTLS 1.3 not supported (probe)
NO_OCSP_STAPLING🔵 LowNo stapled OCSP response
NO_CAA🔵 LowNo CAA DNS record for the domain or a parent

Probes. One default handshake lands on the best protocol and cipher both sides share, so a server that also accepts TLS 1.0 or RSA key exchange looks fine. inspect_ssl and the CLI therefore make a few extra handshakes, each offering only the thing under test (TLS 1.0, TLS 1.1, TLS 1.3, RSA key exchange, DHE, weak cipher families). Weak families the runtime's own OpenSSL cannot offer (Node 22 builds have no 3DES/RC4/EXPORT) are listed as not tested rather than passed. --no-probes / probes: false skips them; inspect_ssl_bulk leaves them off unless asked.


CLI — CI/CD Integration

In addition to MCP server mode, this can also be used directly as a CLI:

bash
# Full TLS inspection for a single domainnpx @guardbee/mcp-ssl-inspector inspect example.com
# Multiple domainsnpx @guardbee/mcp-ssl-inspector inspect example.com api.example.com shop.example.com
# Custom portnpx @guardbee/mcp-ssl-inspector inspect example.com:8443
# Certificate expiry checknpx @guardbee/mcp-ssl-inspector expiry example.com api.example.com
# Fail only on criticalnpx @guardbee/mcp-ssl-inspector inspect example.com --fail-on=critical
# JSON outputnpx @guardbee/mcp-ssl-inspector inspect example.com --format=json

Exit codes: 0 = no issues · 1 = findings above threshold / expired cert · 2 = error

Configuration via guardbee.yml

Create a guardbee.yml at your project root to persist CLI flags. CLI flags always override file settings.

yaml
ssl-inspector:  fail-on: high          # critical | high | medium | low  port: 443  hosts:                 # used when no domain is given on the CLI    - example.com    - api.example.com    - shop.example.com

See guardbee.example.yml for a sample file.

GitHub Actions — Post-Deployment Check

yaml
name: SSL Checkon:  workflow_run:    workflows: ["Deploy"]    types: [completed]
jobs:  ssl-check:    runs-on: ubuntu-latest    steps:      - name: Inspect SSL certificate        run: npx @guardbee/mcp-ssl-inspector inspect ${{ vars.DOMAIN }} --fail-on=high
      - name: Check cert expiry (warn if < 30 days)        run: npx @guardbee/mcp-ssl-inspector expiry ${{ vars.DOMAIN }}

Scheduled Expiry Monitor

yaml
name: Cert Expiry Monitoron:  schedule:    - cron: "0 9 * * 1"  # Every Monday at 09:00
jobs:  expiry:    runs-on: ubuntu-latest    steps:      - name: Check certificate expiry dates        run: |          npx @guardbee/mcp-ssl-inspector expiry \            example.com \            api.example.com \            shop.example.com \            --format=json

GitLab CI

yaml
ssl-inspect:  image: node:20  script:    - npx @guardbee/mcp-ssl-inspector inspect $DOMAIN --fail-on=high  environment:    name: production  only:    - main

Development

bash
npm installnpm test          # 12 unit testsnpm run build     # TypeScript compile

License

MIT — GuardBee

Feedback

Questions, ideas, or a false positive? Start a thread in GitHub Discussions or open an issue. If GuardBee is useful to you, a ⭐ on the repository helps others find it.

來源:packages/ssl-inspector/README.md,提交 bc5997d

工具

4

inspect_ssl

Inspect TLS certificate, cipher suite, and protocol configuration for a single domain

輸入參數host必填portprobescheckHsts

inspect_ssl_bulk

Inspect TLS configuration for multiple domains in parallel

輸入參數porthosts必填probes

check_cert_expiry

Check certificate expiry for one or more domains and highlight certificates expiring soon

輸入參數hosts必填warnDays

get_cert_info

Get detailed certificate information for a domain including fingerprint, SANs, and issuer chain

輸入參數host必填port

版本歷史

3
  1. v0.5.1最新Oct 30, 2026
  2. v0.4.2Oct 22, 2026
  3. v0.3.1Oct 13, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分