mythofkas-commits/onionintel
GitHub: mythofkas-commits/onionintel
OnionIntel是一款Docker化暗网OSINT调查工具,集成Tor搜索、AI查询扩展与源健康监控,为安全研究员提供可审计、可追溯的暗网情报采集与取证报告能力。
Stars: 0 | Forks: 0
# OnionIntel
OnionIntel 是一个 Docker 化暗网 OSINT 调查应用,支持 Tor 后洋葱搜索、AI 辅助查询扩展、源健康监控、信息提取以及可审计的调查报告。
它专为合法的网络安全研究、网络威胁情报、品牌保护、个人暴露审查以及强调来源可追溯性和可重复证据的调查 OSINT 工作流而设计。
## 功能概述
OnionIntel 运行一个由 Tor 驱动的本地 Streamlit Web 应用。它可以搜索可配置的洋葱站点和明网暗网搜索源,记录源健康状态,对结果去重和注释,提取调查工件,可选择使用 LLM 进行查询规划和报告撰写,并为每次调查保存 JSON 审计追踪。
## 主要特性
- Docker 优先的暗网 OSINT 工作流,容器内包含 Tor。
- Streamlit Web 界面,单用户调查访问 `http://localhost:8501`。
- 在 `sources.yml` 中可配置的暗网搜索源注册表。
- 源健康报告:成功、超时、HTTP 错误、Tor/DNS 故障、解析失败、零结果、延迟和结果数量。
- AI 查询扩展:保守模式、探索模式、关闭模式。
- 意图感知的搜索计划:用户名、姓名、邮箱/域名、组织、品牌、技术 IOC 以及自由形式威胁搜索。
- 查询审计追踪:显示生成的查询、查询理由、来源、阶段、意图和结果数量。
- 确定性工件提取:洋葱 URL、明网 URL、电子邮件、域名、IP、CVE、哈希值、加密货币地址和用户名。
- 更安全的抓取:URL 验证、重定向限制、内容大小限制、去重处理、不支持的内容类型处理以及提示强化。
- 元数据丰富的调查持久化:来源溯源、源健康快照、提取的工件、抓取的 URL、查询计划、查询运行和最终摘要。
- 多提供商 LLM 支持:OpenAI、Anthropic、Google Gemini、OpenRouter、Ollama 以及兼容 llama.cpp 的本地端点。
- 可选模型路由:用于更便宜查询扩展和分诊模型,以及更强的最终报告模型。
## 为什么选择 OnionIntel
暗网搜索工具常常以隐蔽的方式失效:陈旧的洋葱源下线,搜索引擎返回通用的市场页面,结果数量因 Tor 电路而异,最终报告可能夸大薄弱证据。OnionIntel 强调可靠性和可审计性:
- 失败的来源可见;
- 失败后的当前运行中跳过失效来源;
- 原始结果和合格结果分开追踪;
- 通用基础设施链接被标记而非当作目标证据;
- LLM 生成的查询变体有界并保存;
- 抓取的页面文本被视为不受信任的输入。
## 快速开始
### 1. 克隆并配置
```
git clone https://github.com/mythofkas-commits/onionintel.git
cd onionintel
cp .env.example .env
```
编辑 `.env` 并至少配置一个托管或本地模型提供商。
OpenAI 示例:
```
OPENAI_API_KEY=your_openai_api_key
```
从 Docker(Windows 或 macOS)运行 Ollama:
```
OLLAMA_BASE_URL=http://host.docker.internal:11434
```
### 2. 使用 Docker Compose 运行
```
docker compose up --build
```
打开:
```
http://localhost:8501
```
### 3. 直接使用 Docker 运行
```
docker build -t onionintel .
docker run --rm \
--env-file .env \
-p 8501:8501 \
-v "$(pwd)/investigations:/app/investigations" \
onionintel
```
PowerShell:
```
docker build -t onionintel .
docker run --rm `
--env-file .env `
-p 8501:8501 `
-v "${PWD}\investigations:/app/investigations" `
onionintel
```
## Docker 运行时
容器启动 Tor,等待 SOCKS 监听器就绪,然后等待可用的 Tor 电路,之后才启动 Streamlit。这避免了在 Tor 仍处于引导阶段时启动搜索。
重要路径:
- `.env`:本地提供商密钥和模型端点。不要提交真实密钥。
- `investigations/`:保存的调查 JSON 文件。
- `sources.yml`:暗网源注册表。
## 源注册表
搜索源在 `sources.yml` 中配置:
```
sources:
- name: TorDex
url_template: "http://example.onion/search?query={query}"
enabled: true
parser: generic
timeout: 25
notes: "Example Tor-native onion search source."
```
支持的字段:
- `name`
- `url_template`
- `enabled`
- `parser`
- `timeout`
- `notes`
源不会因运行时故障而被永久禁用。失效源在当前进程的后续查询变体中被跳过,而永久性的源更改仍需在 `sources.yml` 中显式进行。
## AI 查询扩展
OnionIntel 可以根据基础查询加上可选的调查员上下文生成有界的搜索计划。
模式:
- `关闭`:单个精炼查询。
- `保守`:有界的查询变体,低风险试探。
- `探索`:更大的查询预算,可选的工件转置。
搜索意图:
- `person_name`
- `handle`
- `email_or_domain`
- `org_or_brand`
- `technical_ioc`
- `freeform_threat`
搜索意图控制搜索策略。提示设置控制报告风格。
## 工件提取
在最终报告之前,OnionIntel 提取:
- 洋葱 URL
- 明网 URL
- 电子邮件地址
- 域名
- IP 地址
- CVE
- 哈希值
- 加密货币地址
- 用户名
工件随调查一起保存,可用于后续转置分析。
## 开发
安装依赖:
```
pip install -r requirements.txt
```
本地运行:
```
streamlit run ui.py
```
运行测试:
```
python -m unittest discover -s tests -v
```
构建 Docker 镜像:
```
docker build -t onionintel .
```
## SEO 关键词
暗网 OSINT、洋葱搜索引擎、Tor 搜索、Tor OSINT、暗网监控、网络威胁情报、Docker OSINT 工具、Streamlit OSINT 应用、AI OSINT 助手、LLM 调查助手、洋葱目录搜索、泄露情报、源溯源、调查审计追踪、工件提取、威胁情报工作流。
## 归属与许可协议
OnionIntel 基于 Apurv Singh Gautam 开发的 Robin 暗网 OSINT 应用,并增加了 Docker、源可靠性、审计追踪、AI 查询扩展、意图感知搜索和更安全抓取等功能。
继承的项目基于 MIT 许可证授权:
原始 MIT 许可证声明保留在 [LICENSE](LICENSE) 中,以符合许可要求。
标签:AI风险缓解, Docker, Docker化应用, ESC4, Kubernetes, LLM, OSINT, Petitpotam, Streamlit, Tor, Unmanaged PE, 个人暴露, 人工智能, 品牌保护, 威胁情报, 安全防御评估, 审计追踪, 工件提取, 开发者工具, 情报收集, 暗网, 暗网搜索, 查询扩展, 源健康监控, 漏洞研究, 用户模式Hook绕过, 网络安全, 访问控制, 证据管理, 请求拦截, 调查工具, 逆向工具, 隐私保护