Skip to main content

Tools for working with a Stakeholder Specific Vulnerability Categorization (SSVC)

Project description

Link Checker

SSVC

The Stakeholder-specific Vulnerability Categorization (SSVC) is a system for prioritizing actions during vulnerability management. SSVC aims to avoid one-size-fits-all solutions in favor of a modular decision-making system with clearly defined and tested parts that vulnerability managers can select and use as appropriate to their context.


SSVC is mostly conceptual tools for vulnerability management. These conceptual tools (how to make decisions, what should go into a decision, how to document and communicate decisions clearly, etc.) are described here.

Note: This repository contains the content for the main SSVC documentation hosted at

https://certcc.github.io/SSVC/

  • If you are just looking for SSVC documentation, you should go there.
  • If you are interested in contributing to the SSVC documentation, you are in the right place.

What's here

Here's a quick overview of the main directories and files in this repository.

/docs/*

Raw markdown and graphics files used to build the SSVC documentation website. See project_docs/README.md for more info.

/docs/ssvc-calc

Directory with SSVC calculator using D3 graph. See ssvc-calc/README.md for more info.

A demo version of ssvc-calc can be found at https://certcc.github.io/SSVC/ssvc-calc/

/pdfs/*

Static versions of previously issued PDF reports are stored in this directory.

/data/*

The data folder contains detailed data files that define suggested prioritization results based on each combination of information on a vulnerability work item.

There are both .csv and .json files in this directory.

/data/csv/*

The .csv files are generated from the python ssvc module.

These files define one row per possible path through the decision tables as described in the documentation. Customizing the "outcome" column in this csv is the primary recommended way that stakeholders might adapt SSVC to their environment.

/data/json/*

These json files are generated examples from the python ssvc module, which uses pydantic to define the data models.

/data/schema/* and /data/schema_examples/*

These json schema files are used to validate the structure of the .json files in /data/json/*. They are generated from the python ssvc module, which uses pydantic to define the data models. These files are used by the ssvc-calc module.

/docker/*

The docker directory contains Dockerfiles and related configurations for to create images that can run the SSVC documentation site and unit tests.

Example:

cd docker
docker-compose up test
docker-compose up docs

/src/*

This directory holds helper scripts that can make managing or using SSVC easier.

/src/ssvc/*

The ssvc python module provides tools to work with decision points, decision point groups, and outcomes. These modules are used to generate documentation for various Decision Points

Documentation for the ssvc module can be found at https://certcc.github.io/SSVC/reference/code/

Local development

The simplest way to get started with local development is to use Docker. We provide a Dockerfile that builds an image with all the dependencies needed to build the site. We also provide a Makefile that simplifies the process of building the site and running a local server, so you don't have to remember the exact docker build and docker run commands to get started.

Make Commands

To display the available make commands, run:

make help

To preview any make command without actually executing it, run:

make -n <command>

Run Local Docs Server

The easiest way to get started is using make to build a docker image and run the site. However, we provide a few other options below.

Environment Command
Make, Docker make docs
Make, Docker cd docker && docker-compose up docs
Make, Docker mkdocs serve

Then navigate to http://localhost:8000/SSVC/ to see the site.

Run tests

We include a few tests for the ssvc module. Options for running the test suite are provided below.

Environment Command Comment
Make, Docker make docker_test runs in docker container
Make, Docker cd docker && docker-compose run -rm test runs in docker container
Make, Docker make test runs in host OS
Make, Docker pytest src/test runs in host OS

Environment Variables

If you encounter a problem with the ssvc module not being found, you may need to set the PYTHONPATH environment variable. The Dockerfile takes care of this in the Docker environment. When not running in Docker, make sure that the src directory is in your PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:$(pwd)/src

Contributing

Citing SSVC

To reference SSVC in an academic publication, please refer to the version presented at the 2020 Workshop on Economics of Information Security (WEIS):

@inproceedings{spring2020ssvc,  
  title={Prioritizing vulnerability response: {A} stakeholder-specific vulnerability categorization},  
  author={Jonathan M Spring and Eric Hatleback and Allen D. Householder and Art Manion and Deana Shick},  
  address={Brussels, Belgium},  
  year={2020},  
  month = dec,  
  booktitle = {Workshop on the Economics of Information Security}  
}

References

  1. Spring, J., Hatleback, E., Householder, A., Manion, A., and Shick, D. "Prioritizing Vulnerability Response: A Stakeholder-Specific Vulnerability Categorization." White Paper, Software Engineering Institute, Carnegie Mellon University (2019). https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=636379
  2. Spring, J., Hatleback, E., Householder, A., Manion, A., and Shick, D. "Towards Improving CVSS." White Paper, Software Engineering Institute, Carnegie Mellon University (2018). https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=538368

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certcc_ssvc-2025.9.191330.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certcc_ssvc-2025.9.191330-py3-none-any.whl (381.1 kB view details)

Uploaded Python 3

File details

Details for the file certcc_ssvc-2025.9.191330.tar.gz.

File metadata

  • Download URL: certcc_ssvc-2025.9.191330.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.11

File hashes

Hashes for certcc_ssvc-2025.9.191330.tar.gz
Algorithm Hash digest
SHA256 b96a71e5deb9d7faf90462622819f0281a210c85136b45cb54e785eb5a08a4ff
MD5 99ac289fe5b5c6a257ccaacf96d4d302
BLAKE2b-256 f6b6ed2ed6bedb105e9c55f39bc6f89ee1bdfa208793dc9431df0cc9258d9b99

See more details on using hashes here.

File details

Details for the file certcc_ssvc-2025.9.191330-py3-none-any.whl.

File metadata

File hashes

Hashes for certcc_ssvc-2025.9.191330-py3-none-any.whl
Algorithm Hash digest
SHA256 4e677d92e5fb062ade0680990801f896df0c6aceb0c1dfc0075baa56ca080b4a
MD5 250fff176e5cf6c62a074f02e90deb28
BLAKE2b-256 852f7741940d01fa15075578861ef7128e50f94f949f76273464a264bc305166

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page