tayabawan19/National-Cyber-Threat-Intelligence
GitHub: tayabawan19/National-Cyber-Threat-Intelligence
一款集成多源威胁情报摄取、规则与 LLM 协同检测、分析师工作台的企业级 SOC 平台。
Stars: 0 | Forks: 0
# 国家网络威胁情报平台
一款企业级 AI 辅助 SOC(安全运营中心)威胁情报平台,基于 NestJS、React、OpenSearch、BullMQ 和 Groq LLM 推理构建。
## 🚀 当前状态:第 4 阶段完成(第 0-4 阶段已验证)
| 阶段 | 描述 | 状态 |
| :--- | :--- | :---: |
| **第 0 阶段** | 核心架构,NestJS API,PostgreSQL Schema 与 RBAC | ✅ 已验证 |
| **第 1 阶段** | 威胁情报源摄取收集器 (OTX, NVD CVE, abuse.ch) 与 BullMQ 队列 | ✅ 已验证 |
| **第 2 阶段** | OpenSearch 镜像,MalwareBazaar 元数据库与关联分析 | ✅ 已验证 |
| **第 3 阶段** | 多条件检测引擎,去重与 Groq AI 威胁摘要 | ✅ 已验证 |
| **第 4 阶段** | SOC 分析师体验,空间攻击地图,案例时间线与 READ_ONLY RBAC | ✅ 已验证 |
| **第 5 阶段** | 生产环境强化,SIEM 导出与扩展的 Copilot 工作流 | ⏳ 下一步 |
## 🏗️ 技术栈
- **后端**:NestJS (TypeScript),REST API,Class Validator DTO,Swagger/OpenAPI (`/api/docs`)
- **数据库与 ORM**:PostgreSQL 16,Prisma ORM
- **异步队列与后台 Worker**:Redis 7,BullMQ (`sync-otx`, `sync-nvd`, `sync-abusech`, `sync-malware`)
- **搜索镜像**:OpenSearch 2.13 (`ctp-iocs`, `ctp-cves`, `ctp-malware`)
- **AI 威胁摘要**:Groq API (`llama-3.3-70b-versatile`)
- **前端**:React 18,Vite,TypeScript,Tailwind CSS,Lucide React
- **认证与安全**:JWT Bearer Tokens,Bcrypt 密码哈希,NestJS `RolesGuard` RBAC
## 🔑 所需环境变量
将 `.env.example` 复制为 `.env`:
```
cp .env.example .env
```
### 环境变量名称
- `NODE_ENV`
- `PORT`
- `POSTGRES_USER`
- `POSTGRES_PASSWORD`
- `POSTGRES_DB`
- `POSTGRES_HOST`
- `POSTGRES_PORT`
- `DATABASE_URL`
- `REDIS_HOST`
- `REDIS_PORT`
- `JWT_SECRET`
- `JWT_EXPIRATION`
- `BCRYPT_SALT_ROUNDS`
- `ADMIN_EMAIL`
- `ADMIN_PASSWORD`
- `VITE_API_BASE_URL`
- `OTX_API_KEY`
- `NVD_API_KEY`
- `GROQ_API_KEY`
- `OPENSEARCH_NODE`
## ⚙️ 快速开始(本地设置)
### 1. 启动 Docker 基础设施与应用
```
docker-compose up -d --build
```
### 2. 填充初始用户、情报源与检测规则
```
cd backend
npx prisma db seed
```
### 3. 访问应用服务
- **SOC Web 控制台**:[http://localhost:5173](http://localhost:5173)
- **API Swagger 文档**:[http://localhost:3000/api/docs](http://localhost:3000/api/docs)
- **OpenSearch 集群**:[http://localhost:9200](http://localhost:9200)
### 🔐 演示账号
- **管理员**:`admin@cyberintel.gov` / `AdminSecurePass123!` (`ADMIN` 角色)
- **分析师**:`analyst@cyberintel.gov` / `AnalystPass123!` (`SOC_ANALYST` 角色)
- **只读**:`readonly@cyberintel.gov` / `ReadOnlyPass123!` (`READ_ONLY` 角色)
## 🧪 验证与测试
要运行自动化验证套件:
```
# 运行 Phase 4 Scoped Verification Suite
cd backend
npx ts-node src/test-phase4-verification.ts
# 运行 Direct HTTP API 403 Forbidden RBAC Suite
npx ts-node src/test-rbac-403.ts
# 触发所有 Threat Feed Sync Worker
npx ts-node src/run-all-syncs.ts
```
## 📜 许可证
未授权 / 企业 SOC 内部使用。
标签:NestJS, React, Syscalls, 威胁情报, 安全运营, 开发者工具, 扫描框架, 搜索引擎查询, 测试用例, 自动化攻击, 请求拦截