📚 Tutorials
⏱️ self-paced · 10 tutorials · beginner → advanced
These tutorials are hands-on: every step has a command you can copy and real output captured from the bundled cvss binary. By the end you will be able to parse, score, validate, compare, and build CVSS v3.0 / v3.1 vectors from the command line and from Go.
Learning path
Track 1 — Use the CLI (operations)
If you score vulnerabilities in a pipeline or on-call workflow, take these in order:
- getting-started — install, first parse, first score
- your-first-vector — dissect
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hto 9.8 Critical - scoring-walkthrough — watch base→temporal→environmental evolve
- validation-workflow — break a vector, read the error, fix it
- comparison-guide — diff, equal, distance, merge
- batch-scripting —
vectors.txt+batch+sort+csv
Track 2 — Use the Go SDK (programming)
If you embed scoring into a Go service:
- getting-started —
go getthe module, run the first snippet - building-vectors —
FromMapvsBuildervs functionalOptions - version-migration —
UpgradeTo31/DowngradeTo30 - presets-and-random —
mock.RandomCvss3xfor tests
What you need
- The bundled binary at the repo root,
./cvss-cli, runnable on Linux/macOS - Go 1.21+ for the SDK tutorials (module path
github.com/scagogogo/cvss-skills) - 30 minutes for the first two tutorials; about 2 hours for the full set
Prefer the CLI first
Even SDK users benefit from running the CLI a few times — the CLI output is the ground truth for what the SDK produces.
Conventions
- Every command block is copy-pasteable; the output block beneath it is real.
cvssis the installed binary;./cvss-cliis the one in the repo root — same program.- Vectors are always written verbatim, e.g.
CVSS:3.1/AV:N/....
Next
Start with getting-started.