首页
/ SysReptor项目中如何正确使用severity字段替代cvss.level

SysReptor项目中如何正确使用severity字段替代cvss.level

2025-07-07 08:00:17作者:史锋燃Gardner

在SysReptor项目模板开发过程中,许多开发者会遇到需要从传统的CVSS评分等级转向使用预定义的severity字段的情况。本文将详细介绍这一转换的正确实现方式及其技术背景。

字段类型差异分析

SysReptor系统中存在两种不同的严重性表示方式:

  1. CVSS评分等级:基于CVSS评分计算得出的风险等级,通过finding.cvss.level访问
  2. 预定义严重性字段:系统提供的枚举类型字段,通过finding.severity访问

这两种方式在数据结构上有本质区别。CVSS等级是简单的字符串值,而severity字段是一个完整的枚举对象,包含value和label两个属性。

正确使用severity字段

要实现从cvss.level到severity的转换,开发者需要了解枚举字段的结构。正确的访问方式应该是:

<tr v-for="finding in findings" class="table-row-link" :class="'risk-bg-' + finding.severity.value">

这里使用.value而非.level是因为severity字段是一个枚举对象,其实际值存储在value属性中。label属性则通常用于显示更友好的文本描述。

实际应用场景

这种转换常见于以下场景:

  1. 风险可视化图表
  2. 漏洞列表的样式渲染
  3. 报告中的风险等级分类
  4. 自动化工作流中的条件判断

技术实现建议

对于系统模板开发者,建议统一使用severity字段而非cvss.level,因为:

  1. 预定义字段更规范,减少人为错误
  2. 支持多语言显示(label属性)
  3. 便于系统未来的扩展和升级
  4. 与系统其他功能更好兼容

常见问题解决

如果转换后发现样式异常,建议检查:

  1. 确保severity字段已正确定义并赋值
  2. 验证CSS中对应的risk-bg-*类是否正确定义
  3. 确认枚举值的范围与预期一致
  4. 检查是否有其他代码仍在使用cvss.level导致冲突

通过正确理解和使用severity字段,开发者可以构建更健壮、更易维护的系统模板,同时确保风险等级显示的一致性和准确性。

登录后查看全文
热门项目推荐
相关项目推荐