23r01a66y3/Cyber-Risk-Assessment-Threat-Intelligence-Platform
GitHub: 23r01a66y3/Cyber-Risk-Assessment-Threat-Intelligence-Platform
基于Python和Flask构建的网络风险评估平台,集成Nmap扫描、漏洞检测、风险评分与VirusTotal威胁情报,通过可视化仪表板呈现安全态势。
Stars: 0 | Forks: 0
# 🛡️ 网络风险评估与威胁情报平台
## 📌 概述
本项目是一个使用 Python、Flask 和 Streamlit 构建的**网络风险评估与威胁情报平台**。它扫描目标系统,检测漏洞,分配风险评分,并使用 VirusTotal API 集成外部威胁情报。
该系统有助于识别潜在的安全风险,并通过仪表板将其可视化。
## 🚀 功能特性
* 🔍 使用 Nmap 进行端口扫描
* 🛡️ 漏洞检测
* ⚠️ 风险评分系统
* 🗄️ SQLite 数据库存储
* 📊 数据可视化(图表与仪表板)
* 🌐 使用 VirusTotal API 获取威胁情报
* 📄 报告生成
* 📧 邮件告警(Streamlit 仪表板)
## 🏗️ 项目结构
```
project/
│
├── app.py
├── config.py
├── database/
│ ├── db.py
│ └── m.py
│
├── scanner/
│ ├── port_scanner.py
│ └── vulnerability_scanner.py
│
├── risk/
│ └── risk_engine.py
│
├── threat_intel/
│ └── threat_api.py
│
├── templates/
│ ├── index.html
│ └── report.html
│
├── static/
│ └── style.css
│
├── streamlit_app.py
└── reports/
```
## 🧠 架构
```
USER
↓
FRONTEND (HTML / Streamlit)
↓
BACKEND (Flask)
├── Port Scanner
├── Vulnerability Scanner
├── Risk Engine
├── Threat Intelligence API
↓
DATABASE (SQLite - cyber_risk.db)
↓
FRONTEND (Results + Charts)
```
## ⚙️ 使用的技术
* Python
* Flask
* Streamlit
* SQLite
* Nmap
* Chart.js / Plotly
* VirusTotal API
## 📂 模块说明
### 🔹 database/db.py
* 处理数据库连接
* 创建 `scan_results` 表
### 🔹 database/m.py
* 插入和获取扫描结果
### 🔹 scanner/port_scanner.py
* 使用 Nmap 扫描开放端口
### 🔹 scanner/vulnerability_scanner.py
* 将端口映射到漏洞
### 🔹 risk/risk_engine.py
* 分配风险评分
### 🔹 threat_intel/threat_api.py
* 获取威胁情报数据
### 🔹 app.py
* Flask 主应用程序
* 控制工作流程
### 🔹 streamlit_app.py
* 带有图表和告警的高级仪表板
## 🗄️ 数据库
* **数据库名称:** `cyber_risk.db`
* **表:** `scan_results`
| 列名 | 描述 |
| ---------- | ------------- |
| id | 主键 |
| port | 端口号 |
| issue | 漏洞 |
| risk_score | 风险等级 |
## ▶️ 如何运行
### 1️⃣ 安装依赖
```
pip install flask streamlit pandas plotly python-nmap requests
```
### 2️⃣ 运行 Flask 应用
```
python app.py
```
### 3️⃣ 运行 Streamlit 仪表板
```
streamlit run streamlit_app.py
```
## 🧪 示例目标
* testasp.vulnweb.com
* testphp.vulnweb.com
* zero.webappsecurity.com
## 📊 输出
* 显示开放端口和漏洞
* 展示风险评分
* 提供图表和分析
* 显示威胁情报(IP, ISP, 国家)
## ⚠️ 挑战
* 将 Nmap 与 Python 集成
* 处理 API 错误
* 设计仪表板 UI
* 管理数据库操作
## 📈 未来展望
* 添加基于 AI 的风险预测
* 集成更多 API (Shodan, Nessus)
* 部署到云端
* 添加身份验证系统
## 📌 注意事项
* 使用有效的 VirusTotal API 密钥
* 系统中必须安装 Nmap
## 🎯 总结
本项目为**网络风险检测、分析和可视化**提供了一个完整的解决方案,帮助用户高效地识别漏洞。
## 👩💻 展示者
**SP Keerthi**
标签:Ask搜索, Chart.js, CTI, Flask, GitHub, HTTP/HTTPS抓包, HTTP工具, Kubernetes, Nmap, Plotly, Python安全工具, SQLite, Streamlit, VirusTotal, 仪表盘, 威胁情报, 安全评估平台, 安全运营, 密码管理, 开发者工具, 态势感知, 扫描框架, 插件系统, 数据统计, 无线安全, 端口扫描, 网络安全, 虚拟驱动器, 访问控制, 逆向工具, 邮件告警, 隐私保护, 风险评分