Skip to content
/ cvss Public

๐Ÿ›ก๏ธ Professional Go library for parsing, calculating, and processing CVSS 3.x vectors. Complete vulnerability scoring with temporal/environmental metrics, distance calculation, and enterprise-ready features. Full documentation at https://scagogogo.github.io/cvss/

License

Notifications You must be signed in to change notification settings

scagogogo/cvss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CVSS Parser

Go Tests and Examples Go Report Card License: MIT

Languages: English | ็ฎ€ไฝ“ไธญๆ–‡

CVSS Parser is a Go library for parsing, calculating, and processing CVSS (Common Vulnerability Scoring System) vectors. It supports CVSS 3.0 and 3.1 versions, providing comprehensive functionality for vulnerability management and security assessment.

๐Ÿ“– Documentation

๐ŸŒ Complete Documentation Website

Visit our comprehensive documentation website for:

Features

  • Support for CVSS 3.0 and 3.1 vector parsing and calculation
  • Calculate base, temporal, and environmental scores
  • JSON output and formatting capabilities
  • Vector comparison and similarity calculation
  • Strict and tolerant parsing modes
  • Complete documentation and examples
  • High test coverage

Installation

go get github.com/scagogogo/cvss

Quick Start

Parse and calculate CVSS scores:

package main

import (
    "fmt"
    "log"

    "github.com/scagogogo/cvss-parser/pkg/cvss"
    "github.com/scagogogo/cvss-parser/pkg/parser"
)

func main() {
    // Parse CVSS vector
    p := parser.NewCvss3xParser("CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H")
    cvssVector, err := p.Parse()
    if err != nil {
        log.Fatalf("Parse failed: %v", err)
    }

    // Calculate score
    calculator := cvss.NewCalculator(cvssVector)
    score, err := calculator.Calculate()
    if err != nil {
        log.Fatalf("Calculation failed: %v", err)
    }

    fmt.Printf("CVSS Score: %.1f\n", score)
    fmt.Printf("Severity: %s\n", calculator.GetSeverityRating(score))
}

For more examples, see the examples directory.

๐Ÿ“š Learning Resources

Quick Start

Deep Dive

Practical Examples

Contributing

We welcome code contributions, issue reports, and improvement suggestions! Please check our:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

๐Ÿ›ก๏ธ Professional Go library for parsing, calculating, and processing CVSS 3.x vectors. Complete vulnerability scoring with temporal/environmental metrics, distance calculation, and enterprise-ready features. Full documentation at https://scagogogo.github.io/cvss/

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published