Tools for working with a Stakeholder Specific Vulnerability Categorization (SSVC)
Project description
CERTCC SSVC
This is the official Python package for the CERT/CC Stakeholder-Specific Vulnerability Categorization (SSVC) project.
Installation
You can install the latest release from PyPI:
pip install certcc-ssvc
Demo to explore SSVC decision making
After installation, import the package and explore the examples:
import ssvc
# Example decision point usage. A Weather Forecast and Humidity Value decision point
from ssvc.decision_points.example import weather
print(weather.LATEST.model_dump_json(indent=2))
from ssvc.decision_points.example import humidity
print(humidity.LATEST.model_dump_json(indent=2))
# Example decision table usage
from ssvc.decision_tables.example import to_play
print(to_play.LATEST.model_dump_json(indent=2))
Explanation
This demo is a simple decision tree that provides an Outcome based on two conditions: the weather forecast and the humidity level.
Imagine the decision tree as a series of questions. To find the outcome (the YesNo column), you start at the first question (Decision Point), which is the root node of the tree: What is the Weather Forecast?
- Step 1: Look at the Weather Forecast column (e.g., rain, overcast, sunny).
- Step 2: Look at the Humidity Value above 40% column (e.g., high, low).
- Step 3: Based on the combination of these two conditions, the YesNo column will give you the Decision as "Yes" to play and "No" to not to play.
The YesNo column is the Outcome Decision Point, and the other two Decision Points are inputs that will be collected.
Usage
For usage in vulnerability management scenarios consider the following popular SSVC decisions
import ssvc
# Example decision point usage. Exploitation as a Decision Point
from ssvc.decision_points.ssvc.exploitation import LATEST as Exploitation
print(Exploitation.model_dump_json(indent=2))
# Try a CVSS metic Attack Vector using SSVC
from ssvc.decision_points.cvss.attack_vector import LATEST as AttackVector
print(AttackVector.model_dump_json(indent=2))
from ssvc.decision_points.cisa.in_kev import LATEST as InKEV
print(InKEV.model_dump_json(indent=2))
# Example decision table for a Supplier deciding Patch Development Priority
from ssvc.decision_tables.ssvc.supplier_dt import LATEST as SupplierDT
print(SupplierDT.model_dump_json(indent=2))
# Example decision table for a Deployer decision Patch Application Priority
from ssvc.decision_tables.ssvc.deployer_dt import LATEST as DeployerDT
print(DeployerDT.model_dump_json(indent=2))
# View CISA Decision Table as Coordinator for Vulnerability Management writ large
from ssvc.decision_tables.cisa.cisa_coordinate_dt import LATEST as CISACoordinate
print(CISACoordinate.model_dump_json(indent=2))
Resources
Source code and full documentation: https://github.com/CERTCC/SSVC
SSVC Policy Explorer: https://certcc.github.io/SSVC/ssvc-explorer/
SSVC Calculator: https://certcc.github.io/SSVC/ssvc-calc/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certcc_ssvc-2025.9.131446.tar.gz.
File metadata
- Download URL: certcc_ssvc-2025.9.131446.tar.gz
- Upload date:
- Size: 236.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e81ce519c70cc967ff4aee532890c137f252f1aa6fcd97b18d0ce3a3afc39a6d
|
|
| MD5 |
87f494ab7bdb5e6badb9e83c4eda2ec7
|
|
| BLAKE2b-256 |
55c7dbb1606391eea7171a606dfcf913d143d798327306956a9ce5b1f93d2a2e
|
File details
Details for the file certcc_ssvc-2025.9.131446-py3-none-any.whl.
File metadata
- Download URL: certcc_ssvc-2025.9.131446-py3-none-any.whl
- Upload date:
- Size: 288.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
189f9d71da9bc0eada959c52f153d8f2facca250416978b9158711870bb602c2
|
|
| MD5 |
f78200791acf62c0d2c88bd1a4579b67
|
|
| BLAKE2b-256 |
3946d9fea170ba9baaff6b86fc374fad9754c840789d8a5e7800580641fac137
|