chriz-3656/Surface-Q
GitHub: chriz-3656/Surface-Q
SurfaceQ 是一个基于 AI 的非侵入式网站攻击面分析工具,通过 Chrome 扩展被动收集安全元数据并生成智能风险评估报告。
Stars: 1 | Forks: 0
# 🛡️ SurfaceQ
### 基于 AI 的实时攻击面情报
[](LICENSE)
[](CHANGELOG.md)
[](CONTRIBUTING.md)
**实时了解任何网站的安全态势。**
*被动分析 • AI 驱动的洞察 • 零数据收集*
[功能](#features) • [快速开始](#quick-start) • [文档](#documentation) • [贡献](#contributing)
## 📖 关于
**SurfaceQ** 是一个开源安全情报平台,它将轻量级的 Chrome 浏览器扩展与强大的 Node.js 后端相结合,对您访问的任何网站的攻击面进行被动分析。与主动探测目标的传统漏洞扫描器不同,SurfaceQ 完全通过被动观察来运作——检查公开可用的安全标头、SSL/TLS 证书配置、技术栈指纹和 DNS 记录,从而构建全面的安全配置文件。
SurfaceQ 的核心利用 **Google Gemini AI** 将原始技术数据转化为可操作的情报。AI 引擎生成人类可读的风险评估,根据检测到的配置识别潜在漏洞,建议具体的补救步骤,并针对每个网站独特的技术栈提供情境化的威胁情报。
无论您是审计客户端基础设施的安全研究人员、验证自己部署的开发者,还是希望了解 Web 安全格局的好奇技术专家,SurfaceQ 都能让您获得即时、有意义的洞察,而无需发送任何探测数据包。
### 为什么选择 SurfaceQ?
- **非侵入式**:所有分析均基于已公开可用的数据执行——HTTP 响应标头、SSL 证书、DNS 记录和客户端技术指纹。没有主动扫描,没有端口探测,没有漏洞利用。
- **智能化**:原始安全数据由 Google Gemini AI 处理,生成风险评分、漏洞评估和优先级的修复指导,而人工分析师编译这些内容需要大量时间。
- **隐私保护**:您的浏览数据永远不会脱离您的控制。分析结果本地存储在您机器上的 SQLite 数据库中。没有任何遥测、云同步或任何形式的数据收集。
- **可扩展**:基于模块化的三层架构构建,易于添加新的分析模块、集成额外的 AI 模型,或使用自定义可视化扩展仪表板。
## 📸 截图
## ✨ 功能
### 🔍 被动扫描
自动分析您访问的每个网站,无需发送额外的网络请求。SurfaceQ 检查 HTTP 响应标头,提取与安全相关的配置,并识别缺失的防护——所有这些都来自于您的浏览器在正常页面加载期间已经接收到的数据。
### 🤖 AI 分析
由 Google Gemini AI 提供支持,SurfaceQ 将原始的安全标头和技术元数据转化为全面的威胁评估。AI 引擎了解不同安全配置之间的关系,并能识别出简单的基于规则的检查可能会遗漏的复合漏洞。
### 📊 攻击面可视化
使用 Chart.js 和 D3.js 构建的交互式图表和图形,为网站的攻击面提供了直观的可视化表示。一目了然地查看安全标头覆盖率、技术风险分布、SSL/TLS 配置强度以及历史安全趋势。
### ⚡ 风险评分
多维风险评分算法根据安全标头、SSL/TLS 配置、技术栈漏洞和 DNS 安全性对每个网站进行评估。分数根据严重性和可利用性进行加权,以产生从 0(严重)到 100(优秀)的可操作总体风险评级。
### 📝 报告生成
导出多种格式的详细安全报告,用于文档记录、合规性审查或交付给客户。报告包含完整的技术分析、AI 生成的执行摘要、带有历史趋势的风险评分,以及优先级的修复建议。
### 🔒 隐私至上
SurfaceQ 从一开始就以隐私为核心设计原则进行构建。所有分析数据都本地存储在您机器上的 SQLite 数据库中。API 密钥存储在服务端,永远不会暴露给扩展。零遥测,零云同步,零数据收集。
### 🧩 浏览器扩展
轻量级的 Chrome 扩展无缝集成到您的浏览工作流程中。扩展弹窗为当前标签页提供即时的安全洞察,只需单击即可访问详细分析、历史数据和完整的交互式仪表板。
### 📈 交互式仪表板
功能齐全的 Web 仪表板提供深入的分析功能、历史趋势可视化、跨站点比较工具和全面的报告。采用响应式设计,适用于台式机和平板电脑。
## 🚀 快速开始
### 浏览器扩展安装
1. **克隆仓库**
git clone https://github.com/chriz-3656/Surface-Q.git
cd Surface-Q
2. **在 Chrome 中加载扩展**
- 打开 Chrome 并导航到 `chrome://extensions/`
- 使用右上角的开关启用 **开发者模式**
- 点击 **加载已解压的扩展程序**
- 从克隆的仓库中选择 `extension/` 目录
3. **验证安装**
- 您应该会在 Chrome 工具栏中看到 SurfaceQ 盾牌图标
- 点击图标打开弹窗,并验证其是否正确加载
### 服务器设置
1. **安装依赖**
cd server
npm install
2. **配置环境**
cp .env.example .env
编辑 `.env` 并添加您的配置:
PORT=3000
GEMINI_API_KEY=your_gemini_api_key_here
DB_PATH=./data/surfaceq.db
3. **启动服务器**
npm start
默认情况下,服务器将在 `http://localhost:3000` 上启动。
4. **访问仪表板**
在浏览器中打开 `http://localhost:3000/dashboard` 以查看交互式分析仪表板。
### 获取 Gemini API Key
1. 访问 [Google AI Studio](https://aistudio.google.com/app/apikey)
2. 点击 **Create API Key**
3. 复制生成的密钥并将其粘贴到您的 `.env` 文件中
## 🛠️ 技术栈
| 层级 | 技术 | 用途 |
|-------|-----------|---------|
| **Extension** | JavaScript | 核心扩展逻辑和 content scripts |
| **Extension** | Chrome Extension APIs | 浏览器集成、标签页管理、Web 请求 |
| **Extension** | HTML/CSS | 弹窗 UI 和扩展页面 |
| **Backend** | Node.js | 服务器运行时环境 |
| **Backend** | Express | REST API 框架 |
| **Database** | SQLite / better-sqlite3 | 用于分析结果的本地持久化存储 |
| **AI** | Google Gemini AI | 智能风险评估和威胁分析 |
| **Visualization** | Chart.js | 交互式图表和风险评分仪表 |
| **Visualization** | D3.js | 高级数据可视化和网络图 |
## 🏗️ 架构
SurfaceQ 采用专为模块化、性能和隐私设计的**三层架构**。**浏览器扩展**充当数据收集层,被动拦截 HTTP 响应标头,从页面内容中提取技术指纹,并通过 Chrome 的 WebRequest 和相关 API 捕获 SSL/TLS 证书详细信息。这些原始数据被传输到**后端服务器**(一个在用户机器本地运行的 Node.js/Express 应用程序),由其编排分析 pipeline。服务器通过专门的分析模块(标头分析、SSL 评估、技术检测、DNS 解析)处理传入的数据,通过 better-sqlite3 将结果保存在本地 **SQLite 数据库**中,并将相关数据转发到 **Google Gemini AI** 层以进行智能风险评估。AI 引擎返回结构化的评估,包括风险评分、漏洞描述、修复建议和情境威胁情报,这些数据与原始分析数据一起存储,并提供给扩展弹窗和交互式 Web 仪表板。
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Chrome │ │ Node.js/Express │ │ Google Gemini │
│ Extension │────▶│ Backend Server │────▶│ AI Engine │
│ (Passive Data) │◀────│ (Analysis + │◀────│ (Risk │
│ │ │ SQLite DB) │ │ Assessment) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Extension │ │ Web Dashboard │
│ Popup UI │ │ (Chart.js/D3) │
└─────────────────┘ └──────────────────┘
```
## 🔐 隐私与安全
SurfaceQ 致力于保护您的隐私。以下是有关该平台访问和未访问内容的清晰说明:
### ✅ 我们分析的内容
- HTTP 安全响应标头(CSP、HSTS、X-Frame-Options 等)
- SSL/TLS 证书详细信息(颁发者、有效期、协议版本、密码套件)
- DNS 记录(A、AAAA、MX、TXT、DMARC、SPF、DNSSEC 状态)
- 技术栈指纹(框架、库、CMS、服务器软件)
- 从上述数据点得出的安全风险评分
### ❌ 我们绝不收集的内容
- 密码或身份验证凭据
- 表单数据或用户输入
- Cookies 或会话 token
- 个人身份信息 (PII)
- 浏览历史或导航模式
- 击键或剪贴板内容
- 文件系统访问或下载
- 麦克风、摄像头或位置数据
所有分析结果都专门存储在您机器上的本地 SQLite 数据库中。服务器发出的唯一外部网络请求是发往 Google Gemini API 以进行 AI 驱动的分析,并且这些请求仅包含上面列出的技术元数据——绝不包含任何个人或浏览数据。
## 📚 文档
| 文档 | 描述 |
|----------|-------------|
| [ROADMAP.md](ROADMAP.md) | 开发阶段、里程碑和未来愿景 |
| [CONTRIBUTING.md](CONTRIBUTING.md) | 如何贡献、开发设置和代码风格 |
| [SECURITY.md](SECURITY.md) | 安全策略、漏洞报告和数据处理 |
| [CHANGELOG.md](CHANGELOG.md) | 版本历史和发布说明 |
| [LICENSE](LICENSE) | MIT 许可证条款 |
## 🗺️ 路线图
SurfaceQ 正在积极开发中。请参阅我们的 [ROADMAP.md](ROADMAP.md) 了解完整的开发计划,包括:
- **阶段 1**:基础 —— 项目设置、脚手架和核心基础设施 ✅
- **阶段 2**:核心功能 —— 标头分析、SSL/TLS、技术检测、风险评分 🔄
- **阶段 3**:AI 集成 —— 基于 Gemini 的分析和威胁情报 📋
- **阶段 4**:生产环境打磨 —— 导出、比较、暗黑模式、CI/CD 📋
## 📄 许可证
SurfaceQ 基于 [MIT 许可证](LICENSE) 发布。您可以根据许可条款自由使用、修改和分发本软件。标签:GNU通用公共许可证, MITM代理, Node.js, 人工智能, 威胁情报, 安全情报, 开发者工具, 数据可视化, 浏览器扩展, 用户模式Hook绕过, 自定义脚本, 被动分析