Skip to content

CWE Go 库通用弱点枚举 Go 语言库

一个用于处理CWE数据的综合Go语言库,具有API客户端、速率限制和树操作功能

CWE Go Library

快速开始

安装库:

bash
go get github.com/scagogogo/cwe

基本用法:

go
package main

import (
    "fmt"
    "log"

    "github.com/scagogogo/cwe"
)

func main() {
    // 创建新的API客户端
    client := cwe.NewAPIClient()

    // 获取CWE版本信息
    version, err := client.GetVersion()
    if err != nil {
        log.Fatalf("获取CWE版本失败: %v", err)
    }

    fmt.Printf("当前CWE版本: %s,发布日期: %s\n", 
        version.Version, version.ReleaseDate)

    // 获取特定弱点
    weakness, err := client.GetWeakness("79")
    if err != nil {
        log.Fatalf("获取弱点失败: %v", err)
    }

    fmt.Printf("CWE-79: %s\n", weakness.Name)
}

功能特性

🎯 核心组件

  • API客户端: 用于CWE数据的完整REST API客户端
  • 数据获取器: 用于获取和转换CWE数据的高级接口
  • 注册表: CWE条目的集合管理
  • HTTP客户端: 具有重试逻辑的速率限制HTTP客户端
  • 树操作: 构建和遍历CWE层次结构

📈 高级功能

  • 速率限制: 可配置的请求速率限制
  • 自动重试: 失败请求的自动重试
  • 并发安全: 为并发使用设计的线程安全
  • 导出/导入: JSON和XML序列化支持
  • 搜索: 灵活的搜索和过滤功能

文档

许可证

该项目基于MIT许可证授权。

基于 MIT 许可证发布。