expanso-tls-inspect

🔒 轻量专业的 TLS 证书巡检工具

基于系统openssl的TLS证书检查工具,可快速验证证书有效期、SANs、加密套件等关键信息,帮助运维人员及时发现证书过期风险。

收藏
4.1k
安装
871
版本
v1.0.0
CLS 安全性认证2026-05-10
点击查看完整报告 >

使用说明

核心用法

tls-inspect 是一款专注于 TLS 证书检查的专业工具,提供 CLI 和 MCP 两种运行模式。CLI 模式通过调用系统 openssl s_client 命令,对指定主机的 TLS 证书进行真实检测,输出包含证书有效期、颁发者、主题、SANs(主题备用名称)、加密套件等关键信息。MCP 模式则作为服务器运行,返回模拟数据用于测试和演示场景。用户可通过管道输入主机名,或直接部署到 Expanso Cloud 进行云端执行。

显著优点

1. 轻量无依赖:仅依赖系统预装的 openssl,无需额外安装复杂依赖库
2. 双模式灵活:CLI 模式适合生产环境真实检测,MCP 模式便于集成测试

3. 输出结构化:返回 JSON 格式的证书信息,便于程序化处理和自动化告警

4. 错误处理完善:连接失败时返回结构化错误信息,不暴露敏感路径

5. 来源可信:来自 openclaw 开源组织(13,794 关注者),代码规范透明

潜在缺点与局限性

1. 功能边界有限:仅展示证书基本信息,不支持完整的证书链验证
2. 网络依赖性强:CLI 模式必须联网才能执行真实 TLS 握手

3. 端口灵活性不足:非标准 443 端口需在主机名中手动指定

4. MCP 模式局限:返回模拟数据,无法替代真实安全检测

5. 输入验证较基础:缺乏严格的主机名格式校验和非法字符过滤

适合的目标群体

  • 运维工程师:日常巡检证书到期时间,预防服务中断
  • 安全工程师:快速验证 TLS 配置合规性,排查加密套件问题
  • DevOps 团队:集成到 CI/CD 流水线,自动化证书监控
  • SRE 团队:构建证书到期预警系统,降低故障风险

使用风险

1. 网络连接风险:会向用户指定的任意主机发起 TLS 连接,需确保输入可信
2. 系统依赖风险:依赖目标系统的 openssl 版本,不同版本输出格式可能存在差异

3. 超时控制缺失:当前实现无连接超时配置,可能因网络问题导致长时间挂起

4. 模拟数据误用:MCP 模式的模拟数据可能被误用于生产决策,需明确区分使用场景

安全解读

核心用法

tls-inspect 是一个专注于 TLS/SSL 证书分析的轻量级工具,通过 Expanso Pipeline 架构运行。支持两种运行模式:

  • CLI 模式echo '<domain>' | expanso-edge run pipeline-cli.yaml,适合脚本集成和批量处理
  • MCP 模式:作为 MCP Server 启动,供 AI 助手调用获取实时证书信息

核心功能依赖 openssl s_client 系统命令,自动提取证书有效期、Subject Alternative Names (SANs)、完整证书链、SHA-256 指纹及加密算法详情。

显著优点

1. 零依赖架构:纯 YAML Pipeline 配置,无第三方库依赖,依赖审计得分满分
2. 轻量透明:仅 6 个文件、236 行代码,代码完全可审计

3. 隐私优先:不采集用户敏感数据,GDPR/CCPA 全合规

4. 网络行为纯净:仅通过 openssl 与目标主机建立 TLS 连接,无数据外泄风险

5. 多部署形态:支持本地 CLI、MCP Server、Expanso Cloud 云端部署

潜在局限

  • 系统命令依赖:核心功能依赖宿主机的 openssl 二进制,若缺失则无法运行
  • 输入验证基础:当前主机名验证较宽松,极端场景存在理论命令注入风险(实际影响低)
  • MCP 模式未完全实现:当前 MCP pipeline 返回模拟数据,生产使用需自行完善
  • T3 来源级别:来自社区个人开发者(aronchick/openclaw),非企业级维护

适合人群

  • 运维工程师:批量监控证书过期状态
  • 安全审计人员:快速验证目标站点 TLS 配置
  • 开发者:集成到 CI/CD 流程做证书预检
  • AI 助手用户:通过 MCP 协议实时查询证书信息

常规风险

  • 网络可达性要求:需允许出站 443 端口连接
  • 系统权限:执行 shopenssl 需要标准用户权限
  • 供应链建议:生产环境使用前建议锁定技能版本,避免自动更新引入未审计变更

expanso-tls-inspect 内容

test文件夹
手动下载zip · 3.3 kB
test.yamltext/plain
请选择文件