心血来潮突然想做一个资产和漏洞全生命周期的系统,但是想了一下不就是资产和漏洞管理系统吗?资产更新然后关联相关单位,漏洞关联系统然后关联到相关单位。实际上很多安全产品都带着这个功能,但是我又没有安全产品。所以就单独将这个系统脱离出来用AI写一个。
资产和漏洞全生命周期管理平台
一套面向企业安全运营的资产和漏洞全生命周期管理平台,功能聚焦三大核心模块:漏洞管理 · 资产管理 · 统计分析。

角色定义
| 角色 | 英文 Code | 核心职责 | 权限范围 |
|------|----------|---------|---------|
| 管理员 | admin | 系统配置、用户管理、单位管理、全局统计 | 👑 最高权限 |
| 安全人员 | security | 漏洞发现、录入、分派、复测、关闭 | ⚔️ 核心权限 |
| 单位人员 | developer | 接收本单位漏洞、修复漏洞、提交复测 | 🔧 有限权限(仅本单位数据) |
权限对比
| 功能模块 | 管理员 | 安全人员 | 单位人员 |
|---------|-------|---------|---------|
| 系统管理 | ✅ | ❌ | ❌ |
| 资产管理 | ✅ | ✅ | 🔍 只读(本单位) |
| 漏洞提交 | ✅ | ✅ | ❌ |
| 漏洞分派 | ✅ | ✅ | ❌ |
| 漏洞修复 | ✅ | ❌ | ✅(本单位) |
| 漏洞复测 | ✅ | ✅ | ❌ |
| 统计报表 | ✅ | ✅ 全局 | ✅ 本单位 |
核心功能
漏洞管理
-
漏洞全生命周期:发现漏洞→待分派 → 处理中 → 修复中 → 待复测 → 已关闭
-
无限轮复测机制:复测未通过自动打回,直到真正修复
-
复测历史记录(每轮结果、操作人、时间全留痕)
-
提交漏洞时关联资产可自动带出归属单位
-
操作日志追踪(所有操作可追溯)
资产管理
-
资产 CRUD(名称、类型、域名、IP、端口、归属单位、负责人)
-
资产与漏洞关联统计(漏洞数、未关闭数、高危数)
-
Excel 批量导入 / 导出(含漏洞统计列)
-
资产负责人限定为单位人员
统计分析
-
全局总览:漏洞总数、待处理、修复中、待复测、已关闭、高危数、修复率
-
漏洞新增趋势图(30 天 / 90 天)
-
风险等级分布、漏洞类型分布、状态分布
-
单位修复排行榜:修复率 / 平均修复时长 / 复测通过率(数据说话)
-
高危资产 TOP10
漏洞状态流转

技术栈
| 层级 | 技术 |
|------|------|
| 后端 | Python 3.10+ · FastAPI · SQLAlchemy · SQLite(可平滑切换 MySQL) |
| 前端 | Vue 3 · Element Plus · ECharts · Vite |
| 认证 | JWT + bcrypt |
| 数据 | SQLite 单文件(`backend/data/hermes.db`),零配置 |
环境要求
| 组件 | 版本要求 |
|------|---------|
| Python | 3.10+(开发环境 3.14 验证通过) |
| Node.js | 16+(开发环境 v24 验证通过) |
| 浏览器 | Chrome / Edge 等现代浏览器 |
Web页面功能展示
管理员的权限

漏洞管理

提交漏洞的功能点,必填项目是需要关联到归属单位的和相关系统的。

新增漏洞后会出现在页面,点击漏洞详情,可以将漏洞进行分派给单位负责人进行整改,并设置整改期限。


当分派后下发运维反馈已经整改后会变成待复测功能,可以进行可以进行复测。并给予复测通过和复测未通过两个选项。

资产管理



单位管理


用户管理

安全人员
漏洞管理和资产管理同管理员权限


单位人员
漏洞管理


资产管理
