bellagantilakshmiprasad225-a11y/Unified-Reconnaissance
GitHub: bellagantilakshmiprasad225-a11y/Unified-Reconnaissance
一个基于 React 和 TypeScript 构建的纯客户端防御性 OSINT 调查平台,整合了十余个公开情报查询模块、证据管理和报告生成功能,帮助安全分析师高效开展开源情报调查。
Stars: 0 | Forks: 0
# 统一侦察仪表板
[](LICENSE)
[](https://react.dev/)
[](https://www.typescriptlang.org/)
[](https://vitejs.dev/)
[](https://tailwindcss.com/)
[](https://zustand-demo.pmnd.rs/)
[]()
作者:**Lakshmiprasad**(网络安全实习生)
## 📋 目录
- [1. 项目概述](#1-project-overview)
- [2. 痛点与问题](#2-problem-statement)
- [3. 愿景与目标](#3-vision--objectives)
- [4. 核心功能](#4-key-features)
- [5. 目标用户与使用场景](#5-target-users--use-cases)
- [6. 商业价值与道德合规](#6-business-value--ethical-compliance)
- [7. 可视化界面与截图](#7-visual-interface--screenshots)
- [8. 系统架构](#8-system-architecture)
- [9. 端到端用户流程](#9-end-to-end-user-flow)
- [10. 技术栈](#10-technology-stack)
- [11. 文件夹与文件结构](#11-folder--file-structure)
- [12. 认证与授权](#12-authentication--authorization)
- [13. 状态管理与存储策略](#13-state-management--storage-strategy)
- [14. OSINT 模块与工具](#14-osint-modules--tools)
- [15. 开发环境配置与安装](#15-development-setup--installation)
- [16. 运行项目](#16-running-the-project)
- [17. 构建与部署指南](#17-build--deployment-guide)
- [18. 测试与质量保证](#18-testing--quality-assurance)
- [19. 安全考量](#19-security-considerations)
- [20. 未来路线图](#20-future-roadmap)
- [21. 常见问题与故障排除](#21-faq--troubleshooting)
- [22. 许可证与致谢](#22-license--acknowledgements)
## 1. 项目概述
**统一侦察仪表板**是一个企业级、基于 Web 的开源情报 (OSINT) 和数字调查管理平台。该平台专为安全分析师、应急响应人员、威胁情报团队和网络安全学生设计,将 OSINT 数据收集、域名/IP 目标分类、证据管理、笔记和报告生成集中到一个直观的安全运营中心 (SOC) 工作区中。
该应用采用现代 Web 技术构建,包括 **React**、**TypeScript**、**Tailwind CSS v4**、**Zustand** 以及客户端 **IndexedDB**,完全用于防御目的。它不参与主动端口扫描、漏洞利用、凭证收集或侵入性网络攻击。
## 2. 痛点与问题
现代网络安全评估和数字调查要求分析师浏览数十个不同的公共注册表、WHOIS 工具、DNS 传播服务、威胁情报平台和视觉搜索引擎。这种碎片化的工作流程带来了严重的摩擦:
1. **信息分散**:笔记、WHOIS 查询结果、IP 地理位置和域名目标元数据散落在多个浏览器标签页和本地文档格式中。
2. **证据保管链与缺失**:证据文件(截图、EXIF 元数据、文档头部样本)缺乏集中的客户端存储库。
3. **手动报告开销**:将原始调查结果转换为结构化的 PDF 或可打印的 HTML 报告会消耗分析师大量宝贵时间。
4. **缺乏用户数据隔离**:在共享硬件上操作的多个分析师缺乏清晰的本地工作区隔离和身份上下文。
## 3. 愿景与目标
- **统一情报中心**:将 15 个专门的 OSINT 模块整合到一个界面中。
- **防御与道德标准**:确保 100% 遵守授权的网络安全实践、公开数据查询和非侵入性侦察。
- **客户端隐私**:将证据 Blob 和调查笔记本地存储在浏览器的 IndexedDB 中,无需将敏感目标参数发送到第三方跟踪服务器。
- **企业级 UI/UX**:提供 SOC 级别的暗色模式美学,具备交互式 Recharts 数据可视化、玻璃拟态卡片和即时 Toast 通知。
## 4. 核心功能
- **高管 SOC 仪表板**:针对 OSINT 查询趋势、调查状态分布和工具使用指标的实时分析图表。
- **自动检测全局搜索**:智能解析输入字符串(`domain.com`、`192.168.1.1`、`email@domain.com`、`@username`、`Company Name`)并路由到相应的工具模块。
- **企业级认证与用户配置**:
- 模块化的 `AuthProvider` 架构,提供 `LocalDemoAuthProvider`。
- 登录、注册、密码强度指示器、密码可见性切换和记住我持久化。
- 内置**演示账号快速填充**(`demo@unifiedrecon.local` / `Demo@12345`)。
- 通过所有 store 中的 `userId` 作用域实现用户数据隔离。
- **调查工作区**:管理案件优先级(*低*、*中*、*高*、*严重*)、生命周期状态(*新建*、*进行中*、*已完成*、*已归档*)、标签和调查结果日志。
- **目标档案管理**:对实体、企业域名、电子邮件、账号和 IP 地址进行编目,支持直接上传文件或通过浏览器网络摄像头进行实时照片捕获(`WebcamCapture.tsx`)。
- **15 个专业 OSINT 模块**:
1. *WHOIS 查询*(ICANN、Whois.com、ViewDNS、SecurityTrails)
2. *DNS 传播*(A、AAAA、MX、TXT、NS、CNAME)
3. *反向 DNS (PTR)*(IP 到主机名解析器)
4. *IP 地理定位与 ASN*(ARIN、RIPE、AbuseIPDB)
5. *邮件情报*(公开网络暴露、Have I Been Pwned 检查、GitHub 代码提及)
6. *用户名足迹*(GitHub、X、Reddit、Keybase 个人资料链接)
7. *公司情报*(LinkedIn、Crunchbase、OpenCorporates)
8. *人员情报*(Google Scholar 学术论文及精确网络 Dorks)
9. *社交媒体中心*(多平台搜索启动器)
10. *反向图片搜索*(通过 Google Lens、TinEye、Bing、Yandex 进行上传/摄像头照片搜索)
11. *GIS 地图与位置*(Google Maps、OpenStreetMap、Wikimapia)
12. *截图证据工具*(网页截图附件管理器)
13. *技术检测*(BuiltWith 和 Wappalyzer 公开技术栈查询)
14. *文档元数据提取器*(100% 本地 EXIF、创建日期、尺寸和头部文本解析器)
15. *高级查询构建器*(用于 `site:`、`filetype:`、`intitle:`、`inurl:`、`精确匹配词组` 的 Google Dorks 构造器)
- **IndexedDB 证据存储库**:用于 PNG、JPG、WEBP、PDF、DOCX、TXT、CSV 证据文件的客户端存储(`idb`),支持预览和下载。
- **报告生成器**:自定义 PDF 导出(`jspdf`)和带有分类标题(`RESTRICTED OSINT`、`Confidential` 等)的可打印 HTML 生成。
## 5. 目标用户与使用场景
### 目标受众
- **网络安全实习生与学生**:作品集展示、实战 OSINT 培训、教育实验室。
- **安全分析师与 SOC 操作员**:防御边界映射、企业资产盘点、暴露面管理。
- **应急响应人员**:数字证据记录、域名所有权验证、IP 威胁归因。
- **防御性研究员**:公开数据汇总、开源情报文档化。
## 6. 商业价值与道德合规
## 7. 可视化界面与截图
该平台采用基于 Tailwind CSS v4 构建的暗色 SOC 主题,具备自定义玻璃拟态面板、青色/蓝色边框和 Recharts 图表。
```
┌──────────────────────────────────────────────────────────────────────────┐
│ UNIFIED RECON | Enterprise OSINT [ Search domain, IP... ] 🔔 [Avatar] │
├───────────────┬──────────────────────────────────────────────────────────┤
│ 📊 Dashboard │ Unified Reconnaissance Dashboard │
│ 📁 Workspace │ [ Total Cases: 3 ] [ Searches: 14 ] [ Targets: 3 ] │
│ 👤 Targets │ ┌───────────────────────────┐ ┌──────────────────────┐ │
│ 🛠️ OSINT Tools │ │ Query Trends (Line Chart)│ │ Case Status (Donut) │ │
│ 📄 Evidence │ └───────────────────────────┘ └──────────────────────┘ │
│ 📝 Reports │ [ Live Activity Feed ] [ Scratchpad ] [ Recent Cases ] │
└───────────────┴──────────────────────────────────────────────────────────┘
```
## 8. 系统架构
```
graph TD
A[Browser Client UI] --> B[Top Navigation & Search Auto-Detector]
A --> C[Page View Controller]
C --> D[Dashboard & Recharts Analytics]
C --> E[Investigation Workspace]
C --> F[15 OSINT Modules]
C --> G[IndexedDB Evidence Repository]
C --> H[Report Generator PDF/HTML]
B --> I[Zustand Global State Stores]
I --> J[useAuthStore]
I --> K[useInvestigationStore]
I --> L[useTargetStore]
I --> M[useEvidenceStore]
J --> N[LocalDemoAuthProvider / AuthProvider Abstraction]
G --> O[Browser IndexedDB Storage via 'idb']
I --> P[Browser LocalStorage]
```
## 9. 端到端用户流程
```
sequenceDiagram
autonumber
actor Analyst
participant App as App Frontend
participant Auth as Auth Store
participant DB as Local Storage / IndexedDB
participant OSINT as OSINT Tool Modules
Analyst->>App: Launch Application
App->>Auth: Check Active Session
alt Unauthenticated
App-->>Analyst: Render Login Screen (Fill Demo Credentials)
Analyst->>Auth: Submit Login / Register
Auth->>DB: Persist Session
end
App-->>Analyst: Render Protected SOC Dashboard
Analyst->>App: Enter Domain / IP in Global Search
App->>OSINT: Auto-detect Query Type & Route to OSINT Module
OSINT-->>Analyst: Generate Public Registry Links & Local Metadata
Analyst->>App: Save Finding to Investigation & Upload Evidence
App->>DB: Store Evidence File in IndexedDB
Analyst->>App: Click 'Generate Executive PDF Report'
App-->>Analyst: Download PDF / Open Printable HTML
```
## 10. 技术栈
| 层级 | 技术 | 版本 | 用途 |
| :--- | :--- | :--- | :--- |
| **核心 UI** | React | 18.3 | 响应式 UI 组件渲染 |
| **语言** | TypeScript | 5.5 | 静态类型安全与接口 |
| **构建工具** | Vite | 8.2 | 极速开发与打包 |
| **样式** | Tailwind CSS | v4.0 | 实用优先的 CSS 与玻璃拟态设计系统 |
| **图标** | Lucide React | 0.469 | 现代网络安全 UI 矢量图标 |
| **状态管理** | Zustand | 5.0 | 集中式 React 状态管理 |
| **存储** | `idb` (IndexedDB) | 8.0 | 客户端文件 Blob 存储库 |
| **图表** | Recharts | 2.15 | 响应式 SOC 仪表板可视化 |
| **报告** | jsPDF & html2canvas | 2.5 / 1.4 | 生成 PDF 高管报告 |
## 11. 文件夹与文件结构
```
unified_Reconogised/
├── index.html # HTML Entry Point
├── package.json # Node Dependencies & Scripts
├── tsconfig.json # TypeScript Configuration
├── vite.config.ts # Vite Build Configuration
├── postcss.config.js # PostCSS Tailwind Config
├── AUTHENTICATION.md # Security & Auth Architecture Docs
├── README.md # Documentation Source of Truth
└── src/
├── App.tsx # Root Application & Route Guard
├── main.tsx # React Mount Point
├── index.css # Tailwind CSS v4 Design Tokens
├── types/ # TypeScript Models & Interfaces
│ └── index.ts # Domain Data Structures (userId scoped)
├── services/ # Service Layer Abstractions
│ └── auth/
│ ├── authTypes.ts # AuthUser, AuthState, AuthProvider interface
│ └── authService.ts # LocalDemoAuthProvider Implementation
├── store/ # Zustand Global Stores
│ ├── useAuthStore.ts # Auth state & session store
│ ├── useInvestigationStore.ts # Investigations store
│ ├── useTargetStore.ts # Target profiles store
│ ├── useEvidenceStore.ts # Evidence store
│ ├── useSearchHistoryStore.ts # Query log store
│ ├── useFavoritesStore.ts # Favorites store
│ ├── useNotesStore.ts # Notes store
│ ├── useNotificationStore.ts # Notification toast store
│ ├── useSettingsStore.ts # Preferences store
│ └── useActivityLogStore.ts # Activity audit store
├── lib/ # Utility Libraries
│ ├── indexedDB.ts # IndexedDB wrapper functions
│ ├── metadataExtractor.ts # Local EXIF & header parser
│ ├── pdfGenerator.ts # jsPDF report engine
│ ├── searchLinkGenerator.ts # OSINT search URL constructor
│ ├── initialDemoData.ts # Sample OSINT dataset
│ └── utils.ts # Helper functions & domain validators
├── components/ # UI Components
│ ├── auth/ # Auth Layouts & Controls
│ │ ├── AuthLayout.tsx # SOC 2-column branding layout
│ │ ├── PasswordField.tsx # Password toggle input
│ │ ├── PasswordStrength.tsx # Strength progress bar
│ │ └── UserProfileModal.tsx # Analyst profile edit modal
│ ├── common/ # Reusable UI Primitives
│ ├── evidence/ # Evidence Card & File Uploader
│ ├── intelligence/ # 15 OSINT Tool Components
│ ├── investigations/ # Case Cards & Modals
│ ├── layout/ # Sidebar & Top Navigation
│ ├── reports/ # Report Builder Modal
│ └── targets/ # Target Profile Cards & Modals
└── pages/ # Screen Views
├── About.tsx # System info & safety guide
├── Dashboard.tsx # Analytics & Widgets
├── Evidence.tsx # Evidence Repository
├── Favorites.tsx # Favorites Manager
├── ForgotPassword.tsx # Password recovery UI
├── IntelligenceTools.tsx # OSINT Tools Hub
├── Investigations.tsx # Case Workspace
├── Login.tsx # Sign In Screen
├── Reports.tsx # Report Center
├── ResetPassword.tsx # Password Reset Screen
├── SearchHistory.tsx # Query History Log
├── Settings.tsx # Preferences & Demo Data Reset
├── SignUp.tsx # Registration Screen
└── Targets.tsx # Target Profiles Manager
```
## 12. 认证与授权
该应用程序使用抽象的 `AuthProvider` 接口(`src/services/auth/authTypes.ts`),并由 `LocalDemoAuthProvider`(`src/services/auth/authService.ts`)提供支持。
- **演示登录**:
- **邮箱**:`demo@unifiedrecon.local`
- **密码**:`Demo@12345`
- **受保护路由**:未经身份验证的请求会自动跳转至 `Login` 登录页面。
- **用户数据隔离**:每个本地对象都包含 `userId`,以根据用户限定数据视图范围。
## 13. 状态管理与存储策略
- **Zustand**:快速、轻量级的状态管理,用于处理活动会话、调查、目标、收藏夹、笔记和 Toast 通知。
- **浏览器 LocalStorage**:持久化保存用户设置、已注册账户和查询历史。
- **IndexedDB (`idb`)**:用于原始证据文件(图像、PDF、文档)的高性能本地存储,没有数组长度限制。
## 14. OSINT 模块与工具
该平台在 `src/components/intelligence/` 中提供了 15 个非侵入式的 OSINT 工具组件:
1. **WHOIS 查询**:查询公共 WHOIS 注册表以获取域名注册商详细信息。
2. **DNS 传播**:检查 A、AAAA、MX、TXT、NS、CNAME 记录。
3. **反向 DNS**:解析目标 IP 的 PTR 记录。
4. **IP 地理定位与 ASN**:显示 ISP、区域注册表 (ARIN/RIPE) 和 AbuseIPDB 引用。
5. **邮件情报**:生成用于 Have I Been Pwned 和 GitHub 代码搜索的暴露查询链接。
6. **用户名足迹**:跨主要开发者社交平台检查公开个人资料。
7. **公司情报**:搜索 LinkedIn、Crunchbase 和 OpenCorporates。
8. **人员情报**:查询 Google Scholar 和学术出版物 Dorks。
9. **社交媒体中心**:针对 6 个以上社交网络的即时搜索启动器。
10. **反向图片搜索**:通过 Google Lens、TinEye、Bing 和 Yandex 进行视觉搜索。
11. **GIS 地图与位置**:在 Google Maps、OpenStreetMap 和 Wikimapia 上绘制坐标/地址地图。
12. **截图证据**:网页截图证据附件工具。
13. **技术检测**:查询 BuiltWith 和 Wappalyzer 技术栈查询 API。
14. **元数据提取器**:100% 本地的 EXIF、分辨率、创建日期和文件头解析器。
15. **高级查询构建器**:交互式 Google Dorks 构造器。
## 15. 开发环境配置与安装
### 前置条件
- **Node.js**:v18.0.0 或更高版本
- **npm**:v9.0.0 或更高版本
### 安装
```
# 1. Clone 或 extract repository
cd c:\Users\dell\Downloads\unified_Reconogised
# 2. 安装 dependencies
npm install
```
## 16. 运行项目
### 开发服务器
```
npm run dev
```
在 Web 浏览器中打开 `http://localhost:5173`。
### 生产环境预览
```
npm run build
npm run preview
```
在 Web 浏览器中打开 `http://localhost:4173`。
## 17. 构建与部署指南
构建用于部署的静态分发包:
```
npm run build
```
优化后的打包文件将生成在 `dist` 目录中。
## 18. 测试与质量保证
- **TypeScript 编译**:`npm run build` 验证零类型错误。
- **浏览器兼容性**:在 Chrome、Edge 和 Firefox 上经过验证。
- **响应式测试**:在桌面、平板和移动端视口上进行了验证。
## 19. 安全考量
- **客户端隐私**:所有目标笔记和证据文件均本地存储在您的浏览器存储中。
- **道德 OSINT**:严格用于防御;不执行任何主动漏洞利用。
## 20. 未来路线图
- [ ] 后端 API 集成选项(Firebase/Auth0/Supabase)。
- [ ] 导出/导入完整的工作区 JSON 备份文件。
- [ ] 多分析师协作工作区同步。
## 21. 常见问题与故障排除
**问:我的目标搜索或证据文件会被上传到外部服务器吗?**
答:不会。所有文件和笔记都本地存储在您浏览器的 IndexedDB 和 LocalStorage 中。
**问:在测试期间如何登录?**
答:在登录界面点击 **“填充演示凭证”**(`demo@unifiedrecon.local` / `Demo@12345`)。
## 22. 许可证与致谢
- **许可证**:MIT 许可证
- **作者**:Lakshmiprasad(网络安全实习生)
- **平台**:企业级 OSINT 与调查平台
标签:AV绕过, ESC4, FastAPI, GitHub, OSINT, React, Syscalls, 威胁情报, 实时处理, 密码管理, 开发者工具, 插件系统, 自动化侦察, 自动化攻击