Skip to content

CVE UtilsCVE 工具方法集合

强大、易用的 CVE (Common Vulnerabilities and Exposures) 处理工具库

快速开始

安装

bash
go get github.com/scagogogo/cve

基本使用

go
package main

import (
    "fmt"
    "github.com/scagogogo/cve"
)

func main() {
    // 格式化 CVE
    formatted := cve.Format("cve-2022-12345")
    fmt.Println(formatted) // 输出: CVE-2022-12345
    
    // 验证 CVE
    isValid := cve.ValidateCve("CVE-2022-12345")
    fmt.Println(isValid) // 输出: true
    
    // 从文本中提取 CVE
    text := "系统受到 CVE-2021-44228 和 CVE-2022-12345 的影响"
    cves := cve.ExtractCve(text)
    fmt.Println(cves) // 输出: [CVE-2021-44228 CVE-2022-12345]
}

主要功能

🔍 格式化与验证

  • Format: 标准化 CVE 格式
  • IsCve: 验证是否为有效 CVE 格式
  • IsContainsCve: 检查文本是否包含 CVE
  • ValidateCve: 全面验证 CVE 合法性

📝 提取方法

  • ExtractCve: 提取所有 CVE 编号
  • ExtractFirstCve: 提取第一个 CVE
  • ExtractLastCve: 提取最后一个 CVE
  • Split: 分割年份和序列号

🔄 比较与排序

  • CompareCves: 比较两个 CVE
  • SortCves: 对 CVE 列表排序
  • CompareByYear: 按年份比较

🎯 过滤与分组

  • FilterCvesByYear: 按年份过滤
  • GroupByYear: 按年份分组
  • RemoveDuplicateCves: 去除重复项

使用场景

  • 安全漏洞管理: 整理和管理企业内部的漏洞清单
  • 漏洞报告分析: 从安全公告中提取和分析 CVE 信息
  • 合规性检查: 验证和标准化 CVE 编号格式
  • 数据清洗: 去重和排序 CVE 数据
  • 漏洞趋势分析: 按时间维度分析漏洞趋势

为什么选择 CVE Utils?

  • 完整功能: 涵盖 CVE 处理的各个方面
  • 高质量代码: 完整的测试覆盖和文档
  • 性能优异: Go 语言实现,处理速度快
  • 易于集成: 简单的 API,无外部依赖
  • 持续维护: 活跃的开发和社区支持

基于 MIT 许可证发布。