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, 多模态安全, 威胁情报, 实时处理, 密码管理, 开发者工具, 漏洞管理, 网络安全, 资产匹配, 逆向工具, 隐私保护