LogsOneX/NexusIntel
GitHub: LogsOneX/NexusIntel
NexusIntel 是一个开源的公开源情报调查平台,用于自动化收集和分析公开数据并生成可视化图谱。
Stars: 1 | Forks: 0
# NexusIntel 开源情报平台
NexusIntel 是一个独立的开源情报调查平台:包含可视化图谱仪表板、FastAPI 网关、Celery 工作节点、Redis 实时遥测以及 PostgreSQL 图存储。核心代码直接从根仓库运行,路径为 `frontend/`、`backend/main.py` 和 `backend/tasks.py`。
官方代码库:
```
https://github.com/LogsOneX/NexusIntel
```
本项目不依赖外部开源情报库作为运行时核心。其概念受 Flowsint、Maigret、Sherlock、GHunt、Holehe、Maltego 和 OSINT.Industries 的启发,作为产品设计与工作流参考;此处的实现均采用公开源码/免费方法重新构建。
## 安全准则
NexusIntel 专为公开源情报侦察以及您拥有分析权限的目标设计。
- 无付费 API 订阅。
- 无凭据填充攻击。
- 无滥用私有 API。
- 激进模式仍为只读,且必须仅用于已授权目标。
- 利用针对公开注册响应特征的被动分析以及公开网页文档/ DOM 元数据的解析,这些均属于被动与只读调查范畴,不会修改目标账户数据或触发系统通知。
- 无注册/忘记密码/密码重置探测(此类操作会发送邮件、锁定账户、触发 OTP/2FA、创建目标会话或更改第三方服务状态)。
- 无绕过、垃圾信息、封闭式抓取、私有 API 滥用、凭据填充或速率限制规避行为。
## 技术栈
```
React + Cytoscape dashboard
-> Nginx reverse proxy
-> FastAPI API gateway
-> Celery worker
-> Redis broker + WebSocket log bus
-> PostgreSQL graph database
-> recon_validators + NexusRecon/core/modules/recon local OSINT engine
```
## 系统需求
轻量测试最低要求:
- CPU:2 核心 / 2 vCPU
- 内存:4 GB
- 可用存储空间:12 GB
- 操作系统:推荐 Linux x86_64
- 运行时:Docker Engine 24+ 和 Docker Compose v2
日常推荐配置:
- CPU:4 核心 / 4 vCPU
- 内存:8 GB
- 可用存储空间:25 GB
- 稳定的网络,用于 DNS/HTTP 公开源侦察
大规模或多案件操作:
- CPU:4-8 核心
- 内存:16 GB
- 可用存储空间:50 GB+
存储使用量估算:
- Docker 镜像 + 初始构建缓存:4-10 GB
- `data/postgres`:初始较小,根据调查数量可能增长 1-20 GB
- `data/redis`:通常较小,数百 MB,取决于任务/日志历史
- `results/`、`reports/`、`.nexusrecon/`:使用传统 CLI 时的本地输出
完整详情请参阅 [docs/REQUIREMENTS.md](docs/REQUIREMENTS.md)。
## 启动与关闭工具
### 启动主栈
```
docker compose up -d --build
```
通过 Makefile 替代方案:
```
make up
```
打开命令中心:
```
http://127.0.0.1:8080
```
开发环境默认本地登录:
```
username: admin
password: nexusintel
```
在实际操作前更换凭据:
```
NEXUS_ADMIN_USER=operator NEXUS_ADMIN_PASSWORD="passphrase-kuat" NEXUS_AUTH_SECRET="secret-panjang" docker compose up -d --build
```
此栈运行前端、API、工作节点、Redis 和 PostgreSQL。
### 检查服务状态
```
docker compose ps
```
正常状态:
- `postgres` 运行正常
- `redis` 运行正常
- `api` 运行正常
- `worker` 运行中
- `frontend` 运行正常
### 查看日志
所有服务:
```
docker compose logs -f
```
仅 API:
```
docker compose logs -f api
```
仅工作节点:
```
docker compose logs -f worker
```
### 重启服务
重启所有服务:
```
docker compose restart
```
重启单个服务:
```
docker compose restart api
docker compose restart worker
docker compose restart frontend
```
### 关闭栈
停止并移除容器/网络,数据保持安全:
```
docker compose down
```
或:
```
make down
```
### 重置本地数据
首先关闭栈:
```
docker compose down
```
然后删除运行时本地数据库/缓存:
```
sudo rm -rf data
```
仅在确认需要删除所有旧调查数据时使用重置功能。
### 更改主机或端口
```
NEXUS_HOST=127.0.0.1 NEXUS_PORT=9090 docker compose up -d --build
```
或:
```
make up HOST=127.0.0.1 PORT=9090
```
仪表板地址将变为:
```
http://127.0.0.1:9090
```
### 快速健康检查
```
curl http://127.0.0.1:8080/api/v1/health
```
运行时数据存储在本地:
```
data/postgres
data/redis
```
`data/` 文件夹已被 git 忽略。
## 高级架构模块
NexusIntel 现已具备 6 个高级模块基础,这些模块保持只读与公开源码特性:
- 出站治理:Redis 代理轮换器,抖动延迟 1.2-4.7 秒,指数退避,以及带 dry-run 功能的无服务器调用器。
- 证据链:原始数据存储、SHA-256 溯源、验证端点和审计中间件。
- 监视列表引擎:持久化监控开启/关闭、Celery Beat 以及当图谱特征变化时发送 `SYSTEM_ALERT` 警报。
- 深度实体解析:`ml_gpu` 队列、身份评分、永久/假设边判定。
- 多人协作画布:Yjs + y-websocket + Zustand + Redis Pub/Sub 补丁/在线状态。
- 加密货币钱包追踪:钱包节点 + 交易边,配合 `NEXUS_ENV=development` 的 dry-run 模式。
完整详情请参阅 `docs/NSA_GRADE_MODULES.md`。
## 命令中心流程
最新 UI 作为多页情报命令中心运行,包含受保护的本地登录、持久化侧边栏、仪表板中心、工作区/案件管理、网络图谱、AI 神谕、设置和账户页面。核心图谱使用基于 Cytoscape 的 `GraphCanvas`,具备边缘到边缘的战术画布、统一主工具栏、集成启动表单、拖拽实体面板、右键逻辑流、剧本、智能选择器、可折叠数据抽屉、可折叠终端 HUD、时间线模式、导出情报报告、明确的调查生命周期停靠栏(用于选择/新建/清空/删除案件,不自动加载旧案件)、时间机器时序回放、扁平化关联热力指示器,以及被动威胁自动标记。
1. 打开网络图谱;画布默认分离启动,除非 URL 包含 `?case=`。
2. 从生命周期停靠栏选择调查,创建空白调查,或在主工具栏输入目标用户名/邮箱/域名/IP/电话。
3. 点击 `添加实体` 将目标添加到画布/案件,不执行查找,也不启动工作节点。
4. 仅当操作员确实希望运行针对该目标的公开源 OSINT 管道时,才点击 `查找`。
5. API 对目标进行分类,并在无活动案件时创建调查及根实体。
6. Celery 工作节点根据目标类型运行公开源 OSINT 管道。
7. `backend/recon_validators.py` 验证、拆分和规范化工件为图谱 schema。
8. 工作节点将节点/边写入 PostgreSQL,并将实时日志广播到 Redis。
9. UI 通过 WebSocket 在终端 HUD 接收遥测数据,并轮询任务图谱直至完成,因此节点直接出现无需页面跳转。
10. 案件清理模块计算健康评分、弱节点、孤立节点、覆盖缺口及转换建议。
11. 调查员可点击/右键点击/拖放实体以进行显式高级转换。
主要转换:
- 用户名/账户枢纽:`username_to_email`、`username_to_accounts`,加上 4 级执行策略 `tier_1_major_socials`、`tier_2_tech_dev`、`tier_3_gaming_forums` 和 `tier_4_deep_sweep`,避免工作节点直接探测 100+ 个平台。
- 邮箱/账户/工作区侦察:`email_to_account`、`email_to_domain`,将 Holehe/GHunt 概念限制在 DNS、提供商提示、Gravatar 哈希和公开工作区指示器。
- 域名/DNS 侦察:A/AAAA/CNAME/MX/NS/TXT/CAA、RDAP、邮件配置、服务提示以及 crt.sh 子域名只读查询。
- IP 侦察:反向 DNS、RDAP 分配以及来自免费源的 GeoIP/ASN 提示。
- 电话侦察:`phone_to_email`、`phone_to_account`、E.164 验证、国家呼叫代码、公开深度链接元数据以及离线公开号码计划提示。
- 手动实体构建器 + 拖拽实体管道:直接在选定节点上添加实体和链接,无需自动查找;查找仅通过 `查找` 按钮或上下文转换触发。
- 案件清理 + 图谱智能:健康评分、风险态势、来源可靠性、社区、线索队列、弱/孤立实体检测以及维护调查质量的下一步行动建议。
- 时间机器滑块:基于节点/边的 `created_at` 回放图谱,无需重新挂载画布。
- 被动自动标记:私有 IP/伪IP 被标记为 `[INTERNAL]`,包含钓鱼关键词的域名被标记为 `[SUSPICIOUS]`,高度连接的节点被标记为琥珀色/红色边框。
## 安全枢纽策略
NexusIntel 不执行密码重置探测、恢复流程抓取、联系人同步模拟、2FA 触发或使用 Google 内部端点来泄露账户数据。邮箱/电话/Google 的枢纽转换被限制在公开源、开发 dry-run 或由操作员提供的显式公开资料 URL。已审查的实体类型 (`censored_email`、`censored_phone`) 仅用于标记已获授权的部分提示,不用于触发恢复流程。
## 高密度终端图谱优化
网络图谱现使用扁平化节点卡片,配以 SVG data-uri 图标化展示用户名、邮箱、域名、IP、电话、加密货币钱包、交易、已审查标识符、Google 评论和地点。上下文菜单采用视口感知边界和高 z-index,避免重叠/裁剪,以及加密货币转换 `check_wallet_balance` 和 `trace_transactions`。工具栏采用 1px 垂直分隔线(如硬件仪表板),时间滑块保持单色扁平风格。
## 深度侦察验证器
`backend/recon_validators.py` 是一个新的公开源解析器,在数据发送到 UI 前运行:
- 邮箱:正则验证、本地部分/域名拆分、MX/TXT/DMARC/BIMI、一次性域名提示、公开工作区配置、仅 GET 的公开注册文档特征,以及防止状态变更探测的防护措施。
- 域名/IP:DNS、RDAP、crt.sh、反向 DNS、通过免费源的 GeoIP/ASN 提示。
- 用户名/姓名:格式验证、姓名部分拆分、公开资料候选 URL、标题/正文/元数据误报过滤以及敏感信息推断防护。
- 电话:严格 E.164 格式、国家呼叫代码、公开号码计划线路提示以及公开深度链接网页文档元数据,无需声明账户注册。
NexusIntel 不执行密码重置探测、OTP 触发、账户创建、私有 API 使用、联系人同步、SMTP VRFY/RCPT 或速率限制规避。
## 主要 API
```
GET /api/health
GET /api/v1/health
POST /api/v1/scans/nexusrecon
POST /api/v1/investigations
GET /api/v1/investigations
GET /api/v1/investigations/{id}/graph
POST /api/v1/entities
DELETE /api/v1/investigations/{id}/entities/{node_id}
POST /api/v1/transforms
GET /api/v1/tasks/{task_id}
GET /api/v1/tasks/{task_id}/graph
WS /api/v1/ws/logs/{task_id}
```
## 活跃结构
```
.
├── backend/
│ ├── main.py # canonical FastAPI gateway
│ ├── tasks.py # canonical Celery OSINT workers
│ ├── recon_validators.py
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/
│ ├── src/components/Dashboard.tsx
│ ├── src/components/FlowCanvas.tsx
│ ├── src/components/CustomNode.tsx
│ ├── src/components/GraphCanvas.tsx # compatibility wrapper
│ ├── src/App.jsx
│ └── src/styles.css
├── core/ # legacy-compatible local engine, graph, flows, reports
├── modules/ # public-source OSINT modules
├── nexusrecon/ # NexusRecon class bridge used by backend/tasks.py
├── recon/ # platform registry and standalone scanners
├── docs/
├── docker-compose.yml
├── Makefile
└── start.sh
```
## 传统 CLI
传统 CLI 仍可用于终端工作流:
```
python3 main.py hunt johndoe --save --format html
python3 main.py username johndoe --workers 60 --timeout 12 --save
python3 main.py email alice@example.com --save
python3 main.py domain example.com --save
python3 main.py doctor
```
不使用完整栈的传统本地仪表板仍可运行:
```
python3 main.py dashboard 127.0.0.1:8080
```
对于最新企业平台,请使用 Compose。
## 开发检查
```
python3 -m py_compile backend/main.py backend/tasks.py
cd frontend && npm ci && npm run build
docker compose config
docker compose build
```
## 许可证
NexusIntel 基于 **Apache License 2.0** 开源发布。
版权所有 2026 LogsOneX 和 NexusIntel 贡献者。
完整许可证文本请参阅 [LICENSE](LICENSE)。
## AI 神谕与 BYOK
NexusIntel 现已具备 `/oracle` 端点以及 `/graph` 和 `/workspace` 的上下文 Oracle 面板。若无外部 LLM,Oracle 使用基于规则的本地调查大脑读取 JSON 图谱状态、计算案件态势、排序强枢纽、推荐下一步转换、高亮实体类型、清除高亮以及标记收集缺口。Oracle 面板还提供快速提示,用于摘要、下一步转换、高置信度基础设施和缺口分析。
对于本地/远程 LLM,请打开设置或设置环境变量:
```
NEXUS_LLM_PROVIDER=ollama
NEXUS_LLM_ENDPOINT=http://localhost:11434
NEXUS_LLM_MODEL=llama3.1
```
可选的 BYOK 密钥可在设置中用于 Shodan、IntelX 和 VirusTotal。核心 OSINT 功能无需付费 API 即可运行。
## 幽灵引擎:异步公开存在解析
最新后端具备 `backend/modules/` 作为异步公开源侦察引擎:
- `identity_recon.py`:并发公开资料检查,基于状态码、标题/正文/DOM 元数据标记、用户名证据进行误报过滤,并可选通过 `NEXUS_PLATFORM_CATALOG` 加载本地 JSON 目录以注册 500+ 内部表面。
- `workspace_recon.py`:非阻塞异步 DNS MX/TXT/DMARC/BIMI/MTA-STS、Google/Microsoft/Proton/Zoho/Fastmail 提供商配置、Microsoft 租户提示、公开工作区文档以及 Gravatar 哈希。
- `email_recon.py`:邮箱配置解析器,拆分本地部分/域名,运行工作区 + 用户名枢纽,并分析仅 GET 的公开注册文档特征,无需提交目标邮箱。
- `phone_recon.py`:E.164 格式、通过 `phonenumbers` 获取运营商/地理定位/时区、公开号码计划提示以及公开深度链接 DOM/OpenGraph 元数据作为枢纽,无需声明账户注册。
Celery 工作节点通过 `asyncio.run()` 运行此引擎,并在发现时将结果实时流式传输到 Redis/WebSocket。速率限制处理采用指数退避;无绕过或速率限制规避行为。可选的单一出站代理可通过 `NEXUS_EGRESS_PROXY` 用于内部环境。
标签:AV绕过, BSD, Celery, Cytoscape, Docker, FastAPI, Nginx, NIDS, OSINT平台, PostgreSQL, Python, React, Redis, Syscalls, Web分析, 二进制发布, 任务队列, 侦察工具, 公开源数据, 反向代理, 后端开发, 图可视化, 安全合规, 安全防御评估, 实时遥测, 容器化, 开源工具, 情报分析, 情报收集, 授权分析, 搜索引擎查询, 数据库, 数据挖掘, 数据聚合, 无后门, 测试用例, 消息代理, 漏洞研究, 目标调查, 网络代理, 网络安全, 网络诊断, 被动分析, 请求拦截, 调查工具, 逆向工具, 隐私保护