ArwynHwyl/Automated_CVE_Threat_Intelligence
GitHub: ArwynHwyl/Automated_CVE_Threat_Intelligence
一个自动同步NVD漏洞数据并通过Web界面展示的CVE威胁情报平台。
Stars: 1 | Forks: 0
### 链接
**https://automated-cve-threat-intelligence.onrender.com**
### 动机
起初我打算全部使用 Microsoft Ecosystem 来实现,即 Power Page + Automate + Dataverse。但我尝试使用 Power Page 后觉得不太顺手,于是决定改为 Custom 开发,不过仍然继续使用 Dataverse + Automate。因为它们本身就相当于 Database 和 Business logic,这使得我不必费力气去编写大量代码。而且我们能更轻松地去自定义 CSS 或 Proxy。虽然最后可能会遇到关于 Tenant 的问题,但我还是可以直接提取 Dataverse 数据,因为我认为这不应该会有什么问题,毕竟这些数据并不涉及 Sensitive 信息。
### 架构与技术栈
* 数据源:NVD API
* 数据库:Microsoft Dataverse
* 流水线与 API Gateway:Power Automate(用作 HTTP Trigger)
* Backend Proxy:Golang(用于处理 CORS 并拉取数据 * 之所以这样做,是因为我尝试过直接从前端拉取数据,但 HTTP flow 会阻止发送任何自定义 header,因此必须使用 Go Proxy)
* Frontend:HTML、CSS、JS
### 遇到的问题及缓解措施:
* CMU 的 IT 部门进行了封锁,不允许学生在 Entra ID 的 Tenant 层级创建 App register,这导致安全地调用 Dataverse 成了一个难题。因此,我的解决方法是利用 Power Automate 绕过限制,创建一个 API Gateway 来从 Dataverse 中提取数据。
* Data Duplicate 问题:通过 Flow Logic 解决,在将数据保存到 Database 之前进行重复数据的拦截。
* Mapping JSON Instructor:其实在 Power App 中,当我们把内容复制粘贴过去时,它就已经有 Auto generate 功能了,所以这部分并没有构成太大的问题。
### Power Automate 流程
1. **CVE_Auto_DaySync** 这是一个用于每日将新 CVE 更新到 Dataverse 的 Flow。它会先通过 NVD Api 进行 mapping 和 JSON parser 解析,接着检查数据的 Duplicate,然后再将其添加到 Dataverse 中。

2. **Data Access flow** 这个 Flow 负责将 Dataverse 中的数据 Post 出去,交给 Go proxy 发送给 Frontend 进行渲染显示。

它会将数据库中的所有数据一次性全部发送出去,这可能会导致未来因为数据量过大而出现延迟问题。
### 如何运行
```
go run main.go ใช้อันนี้ก็พอโปรเจคไม่ใหญ่มาก
or
go build -o server main.go (For build server in binary)
```
服务器将根据弹出的 URL 启动。
标签:API网关, CORS处理, CVE威胁情报, Golang, GPT, Microsoft Dataverse, Microsoft生态系统, NVD API, Power Automate, Power Platform, React, Syscalls, 低代码开发, 后端代理, 后端开发, 多模态安全, 威胁情报分析, 安全数据源, 安全编程, 密码管理, 情报收集, 数据可视化, 无线安全, 日志审计, 漏洞研究, 漏洞管理, 自动化情报系统