AmaduCS/surfacescope
GitHub: AmaduCS/surfacescope
SurfaceScope 是一个基于 Python 的攻击面清点 CLI 工具,通过整合 DNS、HTTP、TLS 分析与暴露评分,帮助安全人员识别外部资产暴露并生成结构化报告。
Stars: 0 | Forks: 0
# SurfaceScope
**SurfaceScope** 是一个基于 Python 的 CLI 工具,用于**经授权的**攻击面清点、Web 指纹识别、轻量级暴露评分和报告生成。
我在完成大学课程和个人网络安全学习的过程中开发了该项目,以积累更多关于 Python 自动化、服务发现、HTTP/TLS 分析和安全报告的实践经验。它专为实验室环境、内部资产发现、防御性安全工作流程以及动手技术学习而设计。
SurfaceScope **不**包含漏洞利用、有效载荷或攻击链。其目的是帮助识别面向互联网的资产暴露了哪些内容,使用有用的技术背景信息丰富调查结果,并生成结构化输出以便进行分诊和记录归档。
## 为什么我要开发这个工具
我开发 SurfaceScope,是作为我在网络安全领域结合大学课程和其他技术项目进行更广泛动手实践的一部分。
我想创造一个结合了以下方面的实用工具:
- Python 开发
- CLI 设计
- 攻击面发现
- HTTP 和 TLS 检查
- 基本的暴露优先级排序
- 结构化报告
与其构建一个单一用途的脚本,我更希望开发一款能反映更贴近真实安全工作流的工具:收集、检查、丰富、评分和报告。
## 我在这个项目中完成的工作
通过 SurfaceScope,我参与并完成了:
- 构建模块化的 Python CLI 应用程序
- 处理 DNS、HTTP 和 TLS 数据
- 自动化外部资产检查工作流
- 将原始发现转化为结构化报告
- 设计可复用的安全工具
- 为核心逻辑编写测试
- 清晰地呈现技术结果
## 核心功能
SurfaceScope 包含:
- DNS 丰富(`A`、`AAAA`、`CNAME`、`MX`、`NS`、`TXT`)
- 可选的证书透明度子域名发现
- 带有重定向跟踪和 favicon 哈希的 HTTP 指纹识别
- TLS 证书检查和证书过期检查
- 针对常见端口的轻量级 TCP 端口扫描
- 基于规则的透明暴露评分
- JSON、CSV、Markdown 和 HTML 报告
- 跳过已完成阶段的恢复模式
- **离线演示模式**,用于安全的端到端测试
- 针对评分和解析辅助工具的单元测试
## 截图
### 演示 CLI 输出

### 生成的 HTML 报告

## 为什么这个项目脱颖而出
与基本的侦察或扫描脚本相比,SurfaceScope 被设计为一个更完整的工作流。
它不仅仅收集原始数据。它还会:
1. 识别外部可见的服务
2. 使用 DNS、HTTP 和 TLS 上下文丰富调查结果
3. 应用基础暴露评分
4. 以多种有用格式导出结果
这使其比简单的单阶段扫描器在防御性分诊、报告生成和实践技术学习方面更为实用。
## 核心工作流程
1. 收集资产清单目标
2. 丰富 DNS 数据
3. 探测 HTTP/HTTPS 服务
4. 检查 TLS 证书
5. 可选地扫描常见 TCP 端口
6. 对暴露进行评分
7. 导出报告
## 示例用例
SurfaceScope 适用于:
- 个人实验室环境
- 自有的域名和基础设施
- 内部资产可见性演练
- 在学习或测试环境中进行的安全演示
- 在进行更深入的手动测试之前的基础暴露审查
## 安全提示
请仅在您拥有或已获得明确书面授权评估的系统上使用 SurfaceScope。
本工具仅用于防御、教育和经授权的安全工作流程。
## 安装
```
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
```
标签:ASM, CLI, DNS解析, Docker容器, Favicon哈希, GitHub, GPT, HTTP指纹识别, Python安全工具, Python自动化, TLS证书分析, WiFi技术, 动态插桩, 大学课程项目, 安全报告生成, 安全教育, 安全测绘, 实时处理, 实验室工具, 密码管理, 开源项目, 插件系统, 攻击面发现, 数据统计, 文档结构分析, 暴露面评分, 服务发现, 漏洞管理, 端口扫描, 网络安全, 证书透明度, 资产清点, 逆向工具, 防御性安全, 隐私保护