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分析, 二进制发布, 任务队列, 侦察工具, 公开源数据, 反向代理, 后端开发, 图可视化, 安全合规, 安全防御评估, 实时遥测, 容器化, 开源工具, 情报分析, 情报收集, 授权分析, 搜索引擎查询, 数据库, 数据挖掘, 数据聚合, 无后门, 测试用例, 消息代理, 漏洞研究, 目标调查, 网络代理, 网络安全, 网络诊断, 被动分析, 请求拦截, 调查工具, 逆向工具, 隐私保护