wangfuguie/cyber-threat-intelligence-platform
GitHub: wangfuguie/cyber-threat-intelligence-platform
一个基于 Django 的轻量级本地网络安全威胁情报平台,支持 IOC 与 CVE 检索、资产关联匹配、可视化展示及定时邮件告警。
Stars: 0 | Forks: 0
# 网络安全威胁情报平台
### 概述
本 Django 应用程序是一个使用 SQLite 的本地网络安全威胁情报平台,无需外部登录服务。
它涵盖三种类型的安全数据:
- 战略威胁新闻
- 损失指标 (IOC),包括 IP 地址、URL 和文件哈希
- 常见漏洞和暴露 (CVE)
### 主要功能
- 收集公共安全新闻和近期的 CVE 记录。
- 搜索威胁新闻、IOC 值、CVE ID、描述、日期和 CVSS 分数。
- 显示 CVSS 风险分布图表。
- 根据用户资产列表中的设备品牌匹配安全新闻和 CVE。
- 通过上传 CSV 或 JSON 文件替换示例资产。
- 根据可配置的时间表发送基于关键字的 Email 通知。
- 自动更新威胁数据。
### 环境要求
- Python 3.11 或更高版本
- pip
- 具备对公共威胁情报来源的网络访问权限
### 快速开始
#### 1. 克隆仓库
```
git clone
cd
```
#### 2. 创建环境并安装依赖
macOS 或 Linux:
```
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
Windows PowerShell:
```
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
```
#### 3. 创建数据库并加载示例资产
```
cd Cyber_project_django
python manage.py migrate
python manage.py import_brands
```
`migrate` 会创建 SQLite 数据库和所需的表,而 `import_brands` 会加载 15 个去标识化的示例品牌。
#### 4. 启动平台
```
python manage.py runserver
```
在浏览器中打开 `http://127.0.0.1:8000/`。
### 使用您自己的资产
打开 **产品警报** 页面并上传一个 UTF-8 编码的 CSV 或 JSON 文件。
- 文件最大限制:2 MB
- 最大唯一品牌数:1,000
- 文件必须包含 `device_brand` 字段
- 仅存储 `device_brand` 字段
- 上传的列表将替换当前的产品品牌列表
CSV 示例:
```
device_brand
Cisco
Fortinet
Juniper
```
JSON 示例:
```
[
{"device_brand": "Cisco"},
{"device_brand": "Fortinet"},
{"device_brand": "Juniper"}
]
```
JSON 也可以使用字符串数组:
```
["Cisco", "Fortinet", "Juniper"]
```
上传完成后,产品品牌搜索列表会立即更新。
### Email 通知
1. 从导航栏打开 **设置**。
2. 输入 SMTP 主机、端口、账号、密码和安全模式。
3. 发送测试 Email。
4. 配置主要和附加通知地址。
5. 添加订阅关键字并选择通知时间表。
### 项目简介
这是一个基于 Django 构建的本地网络安全威胁情报平台,使用 SQLite 数据库,不需要登录或对接外部身份验证服务。
平台涵盖三类网络安全数据:
- 战略情报:公开的网络安全新闻与事件信息
- 威胁指标 (IOC):IP、URL 和文件 Hash
- 常见漏洞和暴露 (CVE):CVE ID、日期、CVSS 分数和漏洞描述
### 主要功能
- 收集公开的网络安全新闻和近期的 CVE。
- 检索新闻、IOC、CVE ID、描述、日期和 CVSS 分数。
- 使用图表展示 CVSS 风险分布。
- 根据资产品牌匹配相关的新闻和 CVE。
- 上传 CSV 或 JSON 替换示例资产。
- 根据关键字和计划发送 Email 通知。
- 自动更新威胁情报。
### 环境要求
- Python 3.11 或更高版本
- pip
- 可连接至公开情报来源的网络环境
### 安装与启动
#### 1. 获取项目
```
git clone
cd
```
#### 2. 创建环境并安装依赖包
macOS 或 Linux:
```
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
Windows PowerShell:
```
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
```
#### 3. 创建数据库并加载示例资产
```
cd Cyber_project_django
python manage.py migrate
python manage.py import_brands
```
`migrate` 会创建 SQLite 数据库和必要的数据表,`import_brands` 会加载 15 条去标识化的示例品牌。
#### 4. 启动平台
```
python manage.py runserver
```
在浏览器中打开 `http://127.0.0.1:8000/`。
### 使用自己的资产
进入“产品警报”页面,使用“更新资产”功能上传 UTF-8 编码的 CSV 或 JSON 文件。
- 文件大小上限为 2 MB
- 最多导入 1,000 个不重复的品牌
- 必须提供 `device_brand` 字段
- 系统仅会存储 `device_brand`
- 上传后将替换当前的品牌列表
CSV 示例:
```
device_brand
Cisco
Fortinet
Juniper
```
JSON 示例:
```
[
{"device_brand": "Cisco"},
{"device_brand": "Fortinet"},
{"device_brand": "Juniper"}
]
```
JSON 也可以使用品牌字符串数组:
```
["Cisco", "Fortinet", "Juniper"]
```
更新完成后,产品警报页面的品牌检索列表会立即更新。
### Email 通知设置
1. 在网站导航栏中打开“设置”。
2. 填入 SMTP 主机、端口、账号、密码和安全模式。
3. 使用测试邮件确认连接。
4. 设置主要邮箱及其他收件人。
5. 添加订阅关键字并设置通知频率及时间。
标签:CISA项目, Django, GPT, 多模态安全, 威胁情报, 实时处理, 密码管理, 开发者工具, 漏洞管理, 网络安全, 资产匹配, 逆向工具, 隐私保护