xdrew87/nexusintel

GitHub: xdrew87/nexusintel

NexusIntel 是一个以分析师为中心的模块化网络安全调查平台,通过关联域名、IP、证书等指标,构建可交互的关系图谱,并支持持久化案件管理与证据编排。

Stars: 0 | Forks: 0

# NexusIntel ![NexusIntel Banner](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5c13050e17165339.png) [![GitHub Stars](https://img.shields.io/github/stars/xdrew87/nexusintel?style=flat-square&logo=github&color=0FF441)](https://github.com/xdrew87/nexusintel) [![License: MIT](https://img.shields.io/badge/License-MIT-0FF441?style=flat-square)](./LICENSE) [![Python 3.12+](https://img.shields.io/badge/Python-3.12%2B-0FF441?style=flat-square&logo=python)](https://www.python.org/) [![React 18+](https://img.shields.io/badge/React-18%2B-0FF441?style=flat-square&logo=react)](https://react.dev/) [![FastAPI](https://img.shields.io/badge/FastAPI-0FF441?style=flat-square&logo=fastapi)](https://fastapi.tiangolo.com/) ## 🎯 NexusIntel 是什么? NexusIntel 是一个**模块化、以分析师为中心的网络安全调查平台**,专为安全研究人员、SOC 分析师、OSINT 调查人员以及红/蓝队设计。它能够关联基础设施、绘制关系图、构建调查图谱,并在**生产级环境**中丰富情报。 ### 不只是另一个工具 - ❌ 不是简单的仪表盘 - ❌ 不是另一个通用的 OSINT 扫描器 - ❌ 不是另一个 SIEM 克隆 ### 它实际是什么 - ✅ 一个带有持久化案件管理的调查工作区 - ✅ 一个网络安全情报关联引擎 - ✅ 一个关系与基础设施映射系统 - ✅ 一个以分析师为中心的调查枢纽平台 - ✅ 企业级,拥有商业级 UI/UX ## ✨ 核心功能 ### 🔍 调查工作区 创建和管理调查,支持持久化会话、证据整理、笔记、标签和枢纽跟踪。 ### 📊 情报丰富 丰富指标(IP、域名、URL、邮箱、用户名、哈希、ASN),包含: - DNS 解析与反向 DNS - WHOIS 与 ASN 数据 - TLS 证书 - 子域名发现 - 地理位置数据 - 技术指纹识别 ### 🌐 图谱引擎 交互式关系可视化,具备以下特性: - **节点类型:** 域名、IP、ASN、证书、邮箱、用户、哈希、技术 - **边类型:** hosted_on、resolves_to、owns、related_to、uses、shares_certificate、shares_asn - **能力:** 缩放、拖拽、筛选、聚类、导出、动画过渡 ### 📁 案件证据系统 上传并整理证据: - 截图、JSON、日志、文本、CSV 文件 - 自动 SHA256 哈希 - 元数据保留 - 时间戳追踪 ### 🔗 威胁情报集成 可选 API 集成,支持: - AbuseIPDB - Shodan - Censys - VirusTotal - OTX(AlienVault) - GreyNoise ### 📈 战役聚类 通过以下方式检测基础设施关联: - 共享 ASN 检测 - 证书相关性 - 托管提供商分析 - Favicon 哈希匹配 ### 📋 报告生成 将调查导出为: - Markdown 报告 - JSON 结构 - 样式化 HTML 文档 - 调查摘要 ### 🔎 全局搜索 搜索范围包括: - 指标 - 案件 - 证据 - 笔记 - 关系 ### ⏱️ 时间线视图 可视化调查时间线,展示: - 分析人员枢纽操作 - 证据上传 - 丰富结果 - 已执行操作 ## 🛠️ 技术栈 ### 后端 - **FastAPI** - 异步 Web 框架 - **SQLAlchemy** - ORM - **Pydantic** - 数据验证 - **AsyncIO** - 异步操作 - **httpx** - 异步 HTTP 客户端 - **SQLite/PostgreSQL** - 数据库 ### 前端 - **React 18** - UI 框架 - **Vite** - 构建工具 - **TailwindCSS** - 样式 - **Framer Motion** - 动画 - **Cytoscape.js** - 图谱可视化 - **React Flow** - 备选图谱库 - **Monaco Editor** - 代码编辑器 - **Zustand** - 状态管理 ### DevOps - **Docker** - 容器化 - **Docker Compose** - 编排 - **GitHub Actions** - CI/CD ## 🚀 快速开始 ### 前置条件 - Python 3.12+ - Node.js 18+ - Docker 与 Docker Compose(可选) ### 本地安装 **1. 克隆仓库:** ``` git clone https://github.com/xdrew87/nexusintel.git cd nexusintel ``` **2. 后端设置:** ``` cd backend python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt cp .env.example .env python3 -m uvicorn api.main:app --reload ``` 后端运行在 `http://localhost:8000` **3. 前端设置(新终端):** ``` cd frontend npm install npm run dev ``` 前端运行在 `http://localhost:5173` **4. 访问 NexusIntel:** 在浏览器中打开 `http://localhost:5173` ### Docker 部署 ``` docker-compose up -d ``` 以上命令启动: - 后端(端口 8000) - 前端(端口 5173) - SQLite 数据库 访问 `http://localhost:5173` ## 📖 API 文档 API 文档位于 `http://localhost:8000/docs`(Swagger UI) ### 核心端点 #### 调查 ``` GET /api/v1/investigations - List investigations POST /api/v1/investigations - Create investigation GET /api/v1/investigations/{id} - Get investigation PUT /api/v1/investigations/{id} - Update investigation DELETE /api/v1/investigations/{id} - Delete investigation ``` #### 指标 ``` POST /api/v1/indicators/enrich - Enrich indicator GET /api/v1/indicators/{id} - Get indicator details ``` #### 图谱 ``` GET /api/v1/graph/{investigation_id} - Get graph data POST /api/v1/graph/pivot - Pivot from indicator ``` #### 证据 ``` POST /api/v1/evidence/upload - Upload evidence GET /api/v1/evidence/{id} - Get evidence ``` #### 搜索 ``` GET /api/v1/search?query=... - Global search ``` ## 🏗️ 架构 ``` NexusIntel/ ├── backend/ │ ├── api/ # REST API routes │ ├── models/ # SQLAlchemy models │ ├── services/ # Business logic │ ├── enrichers/ # Enrichment modules │ ├── graph/ # Graph engine │ ├── database/ # DB setup │ ├── utils/ # Utilities │ └── main.py # Entry point ├── frontend/ │ ├── src/ │ │ ├── components/ # React components │ │ ├── pages/ # Page routes │ │ ├── hooks/ # Custom hooks │ │ ├── stores/ # Zustand state │ │ └── utils/ # Utilities │ └── public/ # Static assets ├── docs/ # Documentation ├── docker/ # Docker configs └── scripts/ # Utility scripts ``` ## 🔐 安全 NexusIntel 实现了: - ✅ 严格的输入验证 - ✅ 安全的文件处理,包含路径遍历防护 - ✅ 速率限制 - ✅ API 清理 - ✅ 安全的异步工作器 - ✅ CSP 头 - ✅ 安全的会话处理 - ✅ 基于环境的配置(无硬编码密钥) **绝不:** - 暴露 API 密钥 - 硬编码密钥 - 无限制上传 - 未经验证的用户输入 详情请参阅 [SECURITY.md](./SECURITY.md)。 ## 🔄 配置 复制 `.env.example` 为 `.env` 并进行配置: ``` # Database DATABASE_URL=sqlite:///./nexusintel.db # DATABASE_URL=postgresql://user:pass@localhost/nexusintel # PostgreSQL 支持 # API Keys (可选 - 留空以跳过集成) SHODAN_API_KEY= ABUSEIPDB_API_KEY= VIRUSTOTAL_API_KEY= CENSYS_API_KEY= GREYNOISE_API_KEY= # 功能 ENABLE_ENRICHMENT=true ENABLE_GRAPH_ENGINE=true ENABLE_AUTONOMOUS_PIVOTING=false # 服务器 DEBUG=false LOG_LEVEL=INFO ``` ## 🧪 测试 ``` cd backend pytest tests/ -v pytest tests/ --cov=api # With coverage ``` ``` cd frontend npm test npm run test:e2e ``` ## 📚 文档 - [架构指南](./docs/ARCHITECTURE.md) - [API 参考](./docs/API.md) - [开发指南](./CONTRIBUTING.md) - [安全策略](./SECURITY.md) ## 🤝 贡献 我们欢迎贡献!请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md) 了解指南。 **可贡献的领域:** - 新的丰富模块 - UI/UX 改进 - 集成模块 - 文档 - Bug 修复 ## 📋 路线图 ### v1.0(当前版本) - ✅ 调查工作区 - ✅ 情报丰富 - ✅ 图谱可视化 - ✅ 证据管理 - ✅ 基础报告生成 ### v1.1(计划中) - 🔄 自动化战役聚类 - 🔄 自主枢纽引擎 - 🔄 基础设施热力图 - 🔄 多用户协作 ### v1.2(未来) - 📋 调查共享与协作 - 📋 高级可视化选项 📋 自定义丰富模块 - 📋 云部署模板 ## ⚖️ 许可证 该项目基于 **MIT 许可证** 授权 - 详情请参阅 [LICENSE](./LICENSE)。 ### ⚠️ 免责声明 NexusIntel 仅供**授权的安全研究和测试使用**。未经授权访问、收集数据或用于不属于你或未经许可测试的系统,属于违法行为。用户需自行确保合法使用。 ## 👤 作者 **xdrew87** - 网络安全研究员与 OSINT 专家 - GitHub:[@xdrew87](https://github.com/xdrew87) - 专注领域:企业安全、OSINT、基础设施调查 ## 📞 支持与联系 - **问题反馈:** GitHub Issues 用于提交 bug 和功能请求 - **讨论交流:** GitHub Discussions 用于提问 - **文档:** 参见 `/docs` 文件夹 ## 🙏 致谢 灵感来源于: - Palantir Gotham - Maltego - Elastic Security - Recorded Future - Microsoft Sentinel **为安全研究社区倾心打造 ❤️**
标签:测试用例, 请求拦截, 运行时操纵, 逆向工具