steadytao/surveyor

GitHub: steadytao/surveyor

后量子 readiness 与加密库存工具,通过 TLS 连接分析厘清经典公钥依赖与迁移优先级。

Stars: 1 | Forks: 0

# Surveyor Surveyor 是一个加密库存与迁移就绪性工具,最初专注于显式 TLS 面向目标。 它从一个狭窄的问题开始:TLS 面向的服务今天实际呈现了什么?这对未来量子迁移工作意味着什么? 重点不是生成一个模糊的“PQ 分数”。重点是向团队提供清晰的库存,明确它们正在运行什么、哪些经典公钥依赖仍然存在,以及哪些最需要优先关注。 ## 状态 Surveyor 处于早期开发阶段。 第一个里程碑被有意设定为较窄的范围。它已完成作为显式提供目标的 TLS 库存 MVP。 当前仓库已包含: - 目标解析与验证 - TLS 连接与协议检查 - 证书链解析 - 公钥与签名算法库存 - 保守的就绪性分类 - 机器可读与人类可读的报告 该仓库现在包含一个可用的 CLI 路径用于 TLS 库存切片,支持配置驱动和显式命令行目标。 ## 发布 发布的版本出现在这里: 当发布版本时,附带资源包括 Linux、macOS 和 Windows 的 amd64 与 arm64 可下载二进制文件。 ## 为什么这个项目存在 量子迁移主要不是一个加密库问题。对大多数团队来说,这是一个库存与优先级问题。 在迁移任何内容之前,有人需要回答实际问题: - 经典公钥加密在何处使用 - 哪些服务、证书和信任路径依赖它 - 什么是对外暴露的 - 什么可以直接替换 - 什么需要人工审查或架构变更 Surveyor 的存在是为了让这些可见。 ## 当前范围 版本一有意限制为显式提供的 TLS 面向服务。 这意味着 Surveyor 目前旨在: - 连接到显式 TLS 目标 - 收集握手与证书事实 - 保守分类迁移姿态 - 输出结构化结果与可读报告 它目前不旨在: - 实现后量子加密 - 替换 PKI 系统 - 默认扫描任意地址范围 - 作为通用漏洞扫描器 - 生成利用工具 - 将复杂的迁移工作简化为二进制的“量子安全”标签 ## 当前实现 Surveyor 当前已实现内部切片,包括: - YAML 配置解析与验证,用于显式 TLS 目标 - 针对显式目标的 TLS 握手收集 - X.509 证书与链元数据提取 - 保守的就绪性分类 - 规范 JSON 报告组装 - 派生的 Markdown 报告 当前代码与文档围绕 JSON 作为规范结果契约,Markdown 作为派生输出进行组织。 ## CLI 当前 CLI 支持 TLS 库存路径: ``` surveyor scan tls -c examples/targets.yaml -o report.md -j report.json ``` 对于临时本地或一次性扫描,也支持显式命令行目标: ``` surveyor scan tls -t example.com:443,127.0.0.1:8000,[::1]:443 ``` 规则: - 仅使用 `--config` 或 `--targets` 之一 - `--targets` 需要显式的 `host:port` 条目 - IPv6 目标必须使用括号形式,例如 `[::1]:443` - 如果未提供输出路径,Markdown 将写入标准输出 本地验证示例: ``` go build -o surveyor ./cmd/surveyor ./surveyor scan tls -c examples/targets.yaml -o report.md -j report.json ``` 有关当前实现边界,请参见: - [docs/architecture.md](docs/architecture.md) - [docs/discovery.md](docs/discovery.md) - [docs/output-schema.md](docs/output-schema.md) - [docs/classification.md](docs/classification.md) - [docs/references.md](docs/references.md) - [docs/safety.md](docs/safety.md) - [docs/release-checklist.md](docs/release-checklist.md) ## 路线图 ### 里程碑 1:TLS 库存 MVP 状态:里程碑完成 - 仓库基线 - 配置加载与验证 - TLS 目标连接 - 证书链解析 - 公钥与签名算法库存 - 初始就绪性分类 - JSON 报告 - Markdown 报告 后续里程碑可能会扩展到其他加密表面,但不会在 TLS 路径稳固之前进行。 下一步计划是围绕 `surveyor discover local` 进行发现基础工作,而不是立即扩展到更多扫描器特定表面。 ## 开发 Surveyor 使用 Go 编写。 当前仓库包含一个可用的 `cmd/surveyor` 入口点用于 TLS 库存切片,以及其后的内部包与测试。 目前最有用的验证命令是: ``` go build -o surveyor ./cmd/surveyor go vet ./... go test ./... ``` 预期的本地构建流程是: ``` git clone https://github.com/steadytao/surveyor.git cd surveyor go build -o surveyor ./cmd/surveyor ``` 然后运行: ``` ./surveyor scan tls -c examples/targets.yaml -o report.md -j report.json ``` 在 Windows 上,运行 `.\surveyor.exe` 而不是 `./surveyor`。 ## 贡献 范围明确的贡献受到欢迎。 如果你想参与 Surveyor,请先阅读 [.github/CONTRIBUTING.md](.github/CONTRIBUTING.md)。对于较大的变更,请在开始前先打开问题,以便讨论范围与方向。 ## 安全 如果你认为在 Surveyor 本身发现了安全问题,请不要公开提交问题。 请参考 [.github/SECURITY.md](.github/SECURITY.md) 获取报告说明。 ## 许可证 Surveyor 根据 Apache License 2.0 许可。请参阅 [LICENSE](LICENSE)。 ## 更新日志 请参阅 [CHANGELOG.md](CHANGELOG.md)。
标签:amd64, API集成, arm64, CLI 工具, EVTX分析, TLS 扫描, 云存储安全, 人机可读报告, 公钥算法, 协议分析, 可观测性, 后量子迁移, 安全报告, 密码库存, 开源安全工具, 日志审计, 显式目标, 服务端加密, 权限提升, 算法盘点, 网络扫描, 证书分析, 证书链解析, 迁移就绪, 逆向工程平台, 配置驱动