DesusLove/Alian-s_Eye
GitHub: DesusLove/Alian-s_Eye
基于 AI 与启发式分析的 OSINT 用户名侦察引擎,用于在 840+ 平台上发现、追踪和关联数字足迹。
Stars: 2 | Forks: 0
👁️ ALIEN'S EYE
AI-OSINT 用户名侦察引擎
840+ 平台 · 异步 · ML 驱动的检测
## 📡 什么是 Alien's Eye?
一款**基于终端的 OSINT 扫描器**,可在几秒钟内检查 840+ 社交网络和 Web 平台上是否存在指定的用户名。它不仅检查 HTTP 状态码,还结合 **ML 和启发式分析**,通过 30 个结构特征来区分真实个人资料与错误页面、登录墙和着陆页。
## ✨ 功能
| 类别 | 特性 |
|----------|----------|
| **检测** | ML + 启发式投票 · 30 维特征向量 · 每个站点的指纹 |
| **扫描** | 840+ 异步站点 · 速率限制 · 重试/退避 · Tor/代理 |
| **提取** | 通过 OpenGraph、JSON-LD 和特定站点的 CSS 提取显示名称、简介、头像 |
| **递归** | 从简介中提取用户名并重新扫描 (`--recurse-depth N`) |
| **关联** | 按头像、简介、链接对资料进行聚类 (`--correlate`) · 域名检查 (`--domains`) |
| **监控** | 定期重新扫描并提供 webhook 警报 (`--watch 6h --notify
`) |
| **ML 生命周期** | 训练自定义模型 · 手动标记不确定的结果 · 自检准确率 |
| **输出** | JSON、CSV、HTML、Markdown、PDF、XLSX、GEXF、Mermaid、Maltego |
| **批量扫描** | 从文件扫描 (`--from-file usernames.txt`) |
| **历史记录** | 基于 SQLite 的扫描历史记录,可通过仪表板浏览 |
| **Web UI** | FastAPI 仪表板 (`alians_eye web`) |
| **自动补全** | Shell 自动补全 (`--completion bash\|zsh`) |
| **附加功能** | Playwright 后备机制 · Textual TUI · 用于 LLM 代理的 MCP 服务器 |
## 🚀 快速开始
```
pip install aliens-eye
# 单次扫描
aliens_eye username
# 或使用 Docker
docker build -t aliens-eye .
docker run --rm -it aliens-eye username
```
### 可选附加功能
```
pip install "aliens-eye[browser]" # Playwright for JS-heavy pages
pip install "aliens-eye[train]" # scikit-learn for retraining
pip install "aliens-eye[correlate]" # Pillow for avatar matching
pip install "aliens-eye[pdf]" # PDF report generation
pip install "aliens-eye[tui]" # Interactive terminal UI
pip install "aliens-eye[serve]" # MCP server for LLM agents
pip install "aliens-eye[web]" # Web dashboard (FastAPI)
pip install "aliens-eye[xlsx]" # Excel export
```
从源码构建:
```
git clone https://github.com/DesusLove/Alian-s_Eye.git
cd Aliens_eye
pip install -e .
```
## 🔍 使用示例
### 基础扫描
```
aliens_eye username
aliens_eye username1 username2
aliens_eye username -l advanced
aliens_eye username --site github,reddit
```
### 输出与报告
```
aliens_eye username --format all --output results
aliens_eye username --format pdf
aliens_eye username --only-found
```
### 高级工作流
```
aliens_eye username --correlate --domains
aliens_eye username --recurse-depth 1
aliens_eye username --watch 6h --notify https://hooks.example/webhook
aliens_eye username --resume scan.jsonl
aliens_eye username --profile quick
```
### 批量扫描
```
aliens_eye --from-file usernames.txt
aliens_eye --from-file usernames.txt -l advanced
```
### 隐私与路由
```
aliens_eye username --tor
aliens_eye username --proxy socks5://127.0.0.1:1080
aliens_eye username --no-nsfw
```
### 实用工具
```
aliens_eye diff results/old.json results/new.json
aliens_eye selfcheck --negatives 2
aliens_eye label results/report.json --out labeled.csv
aliens_eye tui username
aliens_eye serve
aliens_eye web --port 8765
aliens_eye --completion bash > /etc/bash_completion.d/alians_eye
```
## ⚙️ 检测工作原理
每个 HTTP 响应都会被转换为一个 **30 维特征向量**:
```
HTTP status → 200, 3xx, 404, 4xx, 5xx buckets
URL analysis → username in path · canoncial url · redirect patterns
Keywords → error keywords · positive keywords · meta analysis
DOM signals → images · forms · profile/error CSS classes
Structure → og:type=profile · JSON-LD Person schema
Timing → response time · redirect count
Fingerprints → per-site learned patterns from past scans
```
两个评判器对每个向量进行评分:
| 评判器 | 方法 | 权重 |
|-------|--------|--------|
| **启发式引擎** | 对特征进行加权评分 | 60% |
| **ML 模型** | 逻辑回归(基于标记数据训练,在纯 Python 环境中运行) | 40% |
**混合概率** 会映射为以下三种判定结果之一:
```
Found (≥ threshold) — high-confidence profile match
Maybe (between thresholds) — uncertain, needs review
Not Found (≤ threshold) — no profile detected
```
如果 ML 模型文件缺失或损坏,扫描器会自动回退到仅使用启发式的模式。
## 🧠 重新训练模型
```
pip install "aliens-eye[train]"
# 1. 收集 labeled data
aliens_eye train collect --out dataset.csv --negatives 4
# 2. 训练并导出
aliens_eye train fit --data dataset.csv --out model.json
# 3. 使用你的 custom model
aliens_eye username --model model.json
```
## 📁 报告与输出
扫描结果会以带时间戳的文件名保存在 `results/` 目录中:
| 格式 | 文件 | 内容 |
|--------|------|---------|
| JSON | `username_level_YYYYMMDD_HHMMSS.json` | 完整的各站点特征分析 |
| CSV | `username_level_YYYYMMDD_HHMMSS.csv` | 适用于电子表格的扁平化数据行 |
| HTML | `username_level_YYYYMMDD_HHMMSS.html` | 独立的样式化报告 |
| Markdown | `username_level_YYYYMMDD_HHMMSS.md` | 找到/疑似 结果摘要 |
| PDF | `username_level_YYYYMMDD_HHMMSS.pdf` | 包含头像的调查员报告 |
| GEXF / Mermaid / Maltego | 图谱格式 | 关联可视化 |
## 📐 架构
```
src/alians_eye/
├── core/ → scanner, detector, analyzer, http, exporter,
│ fingerprints, config, correlate, domains,
│ watch, checkpoints, variations, expand
├── ml/ → inference (pure Python), training, data collection,
│ active labeling
├── utils/ → rich console output, logging, colors
├── data/ → sites.json (840+), model.json, nsfw filter,
│ selfcheck ground-truth, site profiles
├── tui/ → Textual interactive browser
├── cli.py → CLI entry point
├── mcp_server.py → MCP protocol for LLM agent integration
└── selfcheck.py → Accuracy validation
```
## 🔧 配置
Aliens Eye 将 JSON 配置文件与 CLI 标志合并(CLI 优先)。配置搜索路径如下:
1. `./config.json`(当前目录)
2. `~/.config/alians_eye/config.json`(平台配置目录)
3. `%LOCALAPPDATA%\alians_eye\config.json` (Windows)
```
{
"concurrent": 50,
"timeout": 10.0,
"retries": 2,
"rate_limit_delay": 0.2,
"output_dir": "results",
"output_formats": ["json", "csv", "html", "md"],
"use_playwright": false,
"proxy": null,
"use_ml": true,
"exclude_nsfw": false,
"level": "basic"
}
```
自定义平台定义可以作为 `{ "name": "https://site/{}" }` JSON 文件放入 `./sites.d/` 目录中 —— 它们会自动合并。
## ⚠️ 免责声明 标签:Apex, ESC4, OSINT, Python, URL抓取, 实时处理, 数据抓取, 无后门, 机器学习, 特征检测, 网络安全, 请求拦截, 逆向工具, 隐私保护