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

[](https://github.com/xdrew87/nexusintel)
[](./LICENSE)
[](https://www.python.org/)
[](https://react.dev/)
[](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
**为安全研究社区倾心打造 ❤️**
标签:测试用例, 请求拦截, 运行时操纵, 逆向工具