Jinish2170/Echo-OSINT
GitHub: Jinish2170/Echo-OSINT
一款具备贝叶斯信念建模和重要性评分层的确定性 OSINT 引擎,能将多平台侦察数据转化为结构化、可排名的情报简报。
Stars: 0 | Forks: 0
# Echo-OSINT
**具备推理层的确定性 OSINT 引擎** — 在单一 TypeScript 技术栈中实现侦察、信念建模和情报简报生成。
Echo-OSINT 超越了简单的用户名检查工具。它将多平台侦察与受贝叶斯启发的信念空间及重要性评分引擎相结合,生成包含已排名调查线索的结构化情报简报 — 而不仅仅是原始数据堆砌。
## 架构
```
┌─────────────────────────────────────────────────────┐
│ React Frontend │
│ (React 18 + Vite + TypeScript) │
└──────────────────────┬──────────────────────────────┘
│ REST API
┌──────────────────────▼──────────────────────────────┐
│ Express.js Backend │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ Recon Layer │ │ Belief Space │ │ Significance│ │
│ │ │ │ │ │ Engine │ │
│ │ • Username │ │ • Bayesian │ │ • Novelty │ │
│ │ • Domain │ │ confidence │ │ • Rarity │ │
│ │ │ │ • Contradict.│ │ • Severity │ │
│ │ │ │ detection │ │ • Timeliness│ │
│ └──────┬───────┘ └──────┬───────┘ └─────┬──────┘ │
│ └─────────────────┼────────────────┘ │
│ ▼ │
│ ┌────────────────────────┐ │
│ │ Intelligence Brief │ │
│ │ Generator │ │
│ └────────────┬───────────┘ │
│ ▼ │
│ ┌────────────────────────┐ │
│ │ Investigation Store │ │
│ │ (JSON persistence) │ │
│ └────────────────────────┘ │
└─────────────────────────────────────────────────────┘
```
## 核心功能
### 多平台用户名侦察
通过 HTTP 状态探测检查跨 **50+ 平台**的账户存在情况 — 包括社交网络、开发者平台、论坛等。结果将直接输入信念空间以进行关联分析。
### 域名情报
- **RDAP 查询** — 通过 `rdap.org` 获取注册人和注册数据
- **DNS 解析** — 通过 Cloudflare DNS-over-HTTPS 进行记录枚举
- **子域名发现** — 通过证书透明度日志 (`crt.sh`) 进行被动枚举
### 信念空间(推理层)
信念空间是使 Echo-OSINT 有别于传统侦察工具的关键。它不展示简单的命中列表,而是维护一个关于目标已知信息的结构化模型:
- **受贝叶斯启发的置信度评分** — 每项发现都带有一个置信度值,该值会随着支持或反驳证据的出现而更新
- **关键词矛盾检测** — 当新发现与既有信念冲突时进行标记
- **内存知识图谱** — 各项发现相互关联,而非按数据源孤立存在
### 重要性引擎
并非所有发现都同等重要。重要性引擎通过四个加权维度对每项结果进行评分:
| 维度 | 衡量标准 |
|-------------|-----------------------------------------------|
| **新颖性** | 此发现有多出乎意料? |
| **稀缺性** | 此数据点在目标中有多罕见?|
| **严重性** | 潜在影响或敏感程度如何? |
| **时效性** | 此信息的时间远近或紧迫程度如何? |
高重要性发现会自动置顶于情报简报中。
### 情报简报生成器
从原始侦察数据生成结构化、易读的简报 — 总结各项发现,按重要性对线索进行排名,并突出显示需要进一步调查的领域。简报是基于信念空间状态确定性地生成的。
### 调查持久化
调查以 JSON 文件的形式保存在磁盘上,允许您在没有外部数据库依赖的情况下,随时恢复、审查或比较调查结果。
## 调查模式
| 模式 | 目的 |
|----------------|--------------------------------------------------|
| **Hunter** | 激进、广谱的侦察 |
| **Investigator** | 深度与广度的平衡 |
| **Watcher** | 轻量级、以监控为导向 |
## 快速开始
### 前置条件
- Node.js 18+
- npm
### 安装
```
git clone https://github.com/Jinish2170/Echo-OSINT.git
cd Echo-OSINT
npm install
```
### CLI 用法
```
# 基础 recon
npm run dev -- [mode] [depth]
# 示例
npm run dev -- johndoe hunter
npm run dev -- example.com investigator deep
```
### API 服务器
启动 Express 后端:
```
npm run dev
```
#### 端点
| 方法 | 路径 | 描述 |
|--------|---------------------------|------------------------------------|
| GET | `/health` | 健康检查 |
| POST | `/recon` | 启动新的侦察任务 |
| GET | `/investigations` | 列出所有已保存的调查 |
| GET | `/investigation/:id` | 检索特定调查 |
### 前端
React 前端提供了基于浏览器的界面,用于启动调查并查看结果。
```
cd frontend
npm install
npm run dev
```
## 技术栈
| 层级 | 技术 |
|-----------|---------------------------------------------|
| 语言 | TypeScript (100%) |
| 后端 | Express.js |
| 前端 | React 18, Vite |
| HTTP | Axios(包含重试逻辑、缓存和速率限制) (p-queue) |
| 存储 | JSON 文件持久化 |
## 项目结构
```
src/
├── api/
│ └── server.ts # Express REST API
├── recon/
│ ├── username.ts # 50+ platform username checks
│ └── domain.ts # RDAP, DNS-over-HTTPS, crt.sh
├── core/
│ ├── belief-space.ts # Bayesian confidence & contradiction detection
│ ├── significance.ts # Weighted novelty/rarity/severity/timeliness
│ ├── brief-generator.ts # Structured intelligence brief output
│ └── investigation-store.ts # JSON persistence layer
frontend/
└── src/
└── App.tsx # React UI
```
约 2,100 行 TypeScript 代码。
## 设计理念
Echo-OSINT 是**完全确定性**的 — 除了查询的公共 API(RDAP、DNS-over-HTTPS、crt.sh、平台 URL)外,没有外部 AI 服务、LLM 调用或云依赖。其“智能”源于结构化推理:将信念建模、重要性评分和矛盾检测以编程方式应用于原始 OSINT 数据。
这使其变得**快速、可复现且可审计**。同一目标查询两次将产生相同的信念状态和相同的简报。
## 许可证
详情请参阅 [许可证](LICENSE)。
由 Jinish 构建
标签:ESC4, GitHub, OSINT, RAG, 实时处理, 情报收集, 测试用例, 漏洞研究, 网络测绘, 自动化攻击, 逆向工具