DesusLove/Alian-s_Eye

GitHub: DesusLove/Alian-s_Eye

基于 AI 与启发式分析的 OSINT 用户名侦察引擎,用于在 840+ 平台上发现、追踪和关联数字足迹。

Stars: 2 | Forks: 0

Alien's Eye Logo

👁️ ALIEN'S EYE

AI-OSINT 用户名侦察引擎

840+ 平台 · 异步 · ML 驱动的检测

PyPI CI Python License

## 📡 什么是 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抓取, 实时处理, 数据抓取, 无后门, 机器学习, 特征检测, 网络安全, 请求拦截, 逆向工具, 隐私保护