diff --git a/.gitignore b/.gitignore index 48187df3..b066ebee 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,4 @@ dmypy.json ssvc2-applier-wip.xlsx _version.py node_modules +tmp diff --git a/Makefile b/Makefile index efbfc498..1ae2d193 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,7 @@ down: regenerate_json: @echo "Regenerating JSON files..." rm -rf data/json/decision_points - export PYTHONPATH=$(PWD)/src && ./src/ssvc/doctools.py --jsondir=./data/json --overwrite + export PYTHONPATH=$(PWD)/src && ./src/ssvc/doctools.py --datadir=./data --overwrite clean: @echo "Cleaning up Docker resources..." diff --git a/README.md b/README.md index 770ee0fe..6c8354af 100644 --- a/README.md +++ b/README.md @@ -45,20 +45,22 @@ The data folder contains detailed data files that define suggested prioritizatio There are both `.csv` and `.json` files in this directory. -### `/data/csvs/*` +### `/data/csv/*` -The `.csv` files are the primary data files used by the `ssvc.py` module. +The `.csv` files are generated from the python `ssvc` module. -Also included in data are the lookup tables as csv files which `ssvc_v2.py` reads in. -These files define one row per possible path through the trees as described in the documentation. +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. +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/*` @@ -85,15 +87,6 @@ These modules are used to generate documentation for various [Decision Points](h Documentation for the `ssvc` module can be found at [https://certcc.github.io/SSVC/reference/code/](https://certcc.github.io/SSVC/reference/code/) -### `src/ssvc_v2.py` - -A basic Python module for interacting with the SSVC trees. `ssvc_v2.py` has -two methods: `applier_tree()` and `developer_tree()` - -The two methods just loop through their respective lookup tables until -they hit a match, then return the outcome. Maybe not the best implementation, -but it worked well enough for what was needed at the time. - ## Local development The simplest way to get started with local development is to use Docker. diff --git a/data/csv/cisa/cisa_coordinator_2_0_3.csv b/data/csv/cisa/cisa_coordinator_2_0_3.csv new file mode 100644 index 00000000..e24d6a0e --- /dev/null +++ b/data/csv/cisa/cisa_coordinator_2_0_3.csv @@ -0,0 +1,37 @@ +row,Exploitation v1.1.0,Automatable v2.0.0,Technical Impact v1.0.0,Mission and Well-Being Impact v1.0.0,CISA Levels v1.1.0 (cisa) +0,none,no,partial,low,track +1,none,no,partial,medium,track +2,none,no,partial,high,track +3,none,no,total,low,track +4,none,no,total,medium,track +5,none,no,total,high,track* +6,none,yes,partial,low,track +7,none,yes,partial,medium,track +8,none,yes,partial,high,attend +9,none,yes,total,low,track +10,none,yes,total,medium,track +11,none,yes,total,high,attend +12,public poc,no,partial,low,track +13,public poc,no,partial,medium,track +14,public poc,no,partial,high,track* +15,public poc,no,total,low,track +16,public poc,no,total,medium,track* +17,public poc,no,total,high,attend +18,public poc,yes,partial,low,track +19,public poc,yes,partial,medium,track +20,public poc,yes,partial,high,attend +21,public poc,yes,total,low,track +22,public poc,yes,total,medium,track* +23,public poc,yes,total,high,attend +24,active,no,partial,low,track +25,active,no,partial,medium,track +26,active,no,partial,high,attend +27,active,no,total,low,track +28,active,no,total,medium,attend +29,active,no,total,high,act +30,active,yes,partial,low,attend +31,active,yes,partial,medium,attend +32,active,yes,partial,high,act +33,active,yes,total,low,attend +34,active,yes,total,medium,act +35,active,yes,total,high,act diff --git a/data/csv/cvss/cvss_v4_0_qualitative_severity_ratings_4_0_0.csv b/data/csv/cvss/cvss_v4_0_qualitative_severity_ratings_4_0_0.csv new file mode 100644 index 00000000..bb0b1a7a --- /dev/null +++ b/data/csv/cvss/cvss_v4_0_qualitative_severity_ratings_4_0_0.csv @@ -0,0 +1,325 @@ +row,Equivalence Set 1 v1.0.0 (cvss),Equivalence Set 2 v1.0.0 (cvss),Equivalence Set 3 v1.0.0 (cvss),Equivalence Set 4 v1.0.0 (cvss),Equivalence Set 5 v1.0.0 (cvss),Equivalence Set 6 v1.0.0 (cvss),CVSS Qualitative Severity Rating Scale v1.0.0 (cvss) +0,low,low,low,low,low,low,low +1,medium,low,low,low,low,low,low +2,low,high,low,low,low,low,low +3,low,low,medium,low,low,low,low +4,low,low,low,medium,low,low,low +5,low,low,low,low,medium,low,low +6,low,low,low,low,low,high,low +7,high,low,low,low,low,low,low +8,medium,high,low,low,low,low,low +9,medium,low,medium,low,low,low,low +10,low,high,medium,low,low,low,low +11,low,low,high,low,low,low,low +12,medium,low,low,medium,low,low,low +13,low,high,low,medium,low,low,low +14,low,low,medium,medium,low,low,low +15,low,low,low,high,low,low,low +16,medium,low,low,low,medium,low,low +17,low,high,low,low,medium,low,low +18,low,low,medium,low,medium,low,low +19,low,low,low,medium,medium,low,low +20,low,low,low,low,high,low,low +21,medium,low,low,low,low,high,low +22,low,high,low,low,low,high,low +23,low,low,medium,low,low,high,low +24,low,low,low,medium,low,high,low +25,low,low,low,low,medium,high,low +26,high,high,low,low,low,low,low +27,high,low,medium,low,low,low,low +28,medium,high,medium,low,low,low,low +29,medium,low,high,low,low,low,low +30,low,high,high,low,low,low,low +31,high,low,low,medium,low,low,low +32,medium,high,low,medium,low,low,low +33,medium,low,medium,medium,low,low,low +34,low,high,medium,medium,low,low,low +35,low,low,high,medium,low,low,low +36,medium,low,low,high,low,low,low +37,low,high,low,high,low,low,low +38,low,low,medium,high,low,low,low +39,high,low,low,low,medium,low,low +40,medium,high,low,low,medium,low,low +41,medium,low,medium,low,medium,low,low +42,low,high,medium,low,medium,low,low +43,low,low,high,low,medium,low,low +44,medium,low,low,medium,medium,low,low +45,low,high,low,medium,medium,low,low +46,low,low,medium,medium,medium,low,low +47,low,low,low,high,medium,low,low +48,medium,low,low,low,high,low,low +49,low,high,low,low,high,low,low +50,low,low,medium,low,high,low,low +51,low,low,low,medium,high,low,low +52,high,low,low,low,low,high,low +53,medium,high,low,low,low,high,low +54,medium,low,medium,low,low,high,low +55,low,high,medium,low,low,high,low +56,low,low,high,low,low,high,low +57,medium,low,low,medium,low,high,low +58,low,high,low,medium,low,high,low +59,low,low,medium,medium,low,high,low +60,low,low,low,high,low,high,low +61,medium,low,low,low,medium,high,low +62,low,high,low,low,medium,high,low +63,low,low,medium,low,medium,high,low +64,low,low,low,medium,medium,high,low +65,low,low,low,low,high,high,low +66,high,high,medium,low,low,low,medium +67,high,low,high,low,low,low,medium +68,medium,high,high,low,low,low,medium +69,high,high,low,medium,low,low,medium +70,high,low,medium,medium,low,low,medium +71,medium,high,medium,medium,low,low,medium +72,medium,low,high,medium,low,low,medium +73,low,high,high,medium,low,low,low +74,high,low,low,high,low,low,medium +75,medium,high,low,high,low,low,medium +76,medium,low,medium,high,low,low,medium +77,low,high,medium,high,low,low,medium +78,low,low,high,high,low,low,medium +79,high,high,low,low,medium,low,medium +80,high,low,medium,low,medium,low,medium +81,medium,high,medium,low,medium,low,medium +82,medium,low,high,low,medium,low,medium +83,low,high,high,low,medium,low,medium +84,high,low,low,medium,medium,low,medium +85,medium,high,low,medium,medium,low,medium +86,medium,low,medium,medium,medium,low,medium +87,low,high,medium,medium,medium,low,medium +88,low,low,high,medium,medium,low,medium +89,medium,low,low,high,medium,low,medium +90,low,high,low,high,medium,low,medium +91,low,low,medium,high,medium,low,medium +92,high,low,low,low,high,low,medium +93,medium,high,low,low,high,low,medium +94,medium,low,medium,low,high,low,medium +95,low,high,medium,low,high,low,low +96,low,low,high,low,high,low,medium +97,medium,low,low,medium,high,low,medium +98,low,high,low,medium,high,low,medium +99,low,low,medium,medium,high,low,medium +100,low,low,low,high,high,low,medium +101,high,high,low,low,low,high,low +102,high,low,medium,low,low,high,medium +103,medium,high,medium,low,low,high,medium +104,medium,low,high,low,low,high,medium +105,low,high,high,low,low,high,medium +106,high,low,low,medium,low,high,low +107,medium,high,low,medium,low,high,low +108,medium,low,medium,medium,low,high,medium +109,low,high,medium,medium,low,high,medium +110,low,low,high,medium,low,high,medium +111,medium,low,low,high,low,high,low +112,low,high,low,high,low,high,low +113,low,low,medium,high,low,high,medium +114,high,low,low,low,medium,high,low +115,medium,high,low,low,medium,high,low +116,medium,low,medium,low,medium,high,medium +117,low,high,medium,low,medium,high,low +118,low,low,high,low,medium,high,medium +119,medium,low,low,medium,medium,high,low +120,low,high,low,medium,medium,high,low +121,low,low,medium,medium,medium,high,medium +122,low,low,low,high,medium,high,low +123,medium,low,low,low,high,high,low +124,low,high,low,low,high,high,low +125,low,low,medium,low,high,high,medium +126,low,low,low,medium,high,high,low +127,high,high,high,low,low,low,medium +128,high,high,medium,medium,low,low,medium +129,high,low,high,medium,low,low,high +130,medium,high,high,medium,low,low,medium +131,high,high,low,high,low,low,high +132,high,low,medium,high,low,low,high +133,medium,high,medium,high,low,low,medium +134,medium,low,high,high,low,low,high +135,low,high,high,high,low,low,medium +136,high,high,medium,low,medium,low,high +137,high,low,high,low,medium,low,high +138,medium,high,high,low,medium,low,medium +139,high,high,low,medium,medium,low,medium +140,high,low,medium,medium,medium,low,high +141,medium,high,medium,medium,medium,low,medium +142,medium,low,high,medium,medium,low,medium +143,low,high,high,medium,medium,low,medium +144,high,low,low,high,medium,low,high +145,medium,high,low,high,medium,low,high +146,medium,low,medium,high,medium,low,medium +147,low,high,medium,high,medium,low,medium +148,low,low,high,high,medium,low,medium +149,high,high,low,low,high,low,medium +150,high,low,medium,low,high,low,high +151,medium,high,medium,low,high,low,medium +152,medium,low,high,low,high,low,medium +153,low,high,high,low,high,low,medium +154,high,low,low,medium,high,low,high +155,medium,high,low,medium,high,low,medium +156,medium,low,medium,medium,high,low,medium +157,low,high,medium,medium,high,low,medium +158,low,low,high,medium,high,low,medium +159,medium,low,low,high,high,low,high +160,low,high,low,high,high,low,medium +161,low,low,medium,high,high,low,medium +162,high,high,medium,low,low,high,medium +163,high,low,high,low,low,high,high +164,medium,high,high,low,low,high,medium +165,high,high,low,medium,low,high,medium +166,high,low,medium,medium,low,high,high +167,medium,high,medium,medium,low,high,medium +168,medium,low,high,medium,low,high,medium +169,low,high,high,medium,low,high,medium +170,high,low,low,high,low,high,medium +171,medium,high,low,high,low,high,medium +172,medium,low,medium,high,low,high,medium +173,low,high,medium,high,low,high,medium +174,low,low,high,high,low,high,medium +175,high,high,low,low,medium,high,medium +176,high,low,medium,low,medium,high,high +177,medium,high,medium,low,medium,high,medium +178,medium,low,high,low,medium,high,medium +179,low,high,high,low,medium,high,medium +180,high,low,low,medium,medium,high,medium +181,medium,high,low,medium,medium,high,medium +182,medium,low,medium,medium,medium,high,medium +183,low,high,medium,medium,medium,high,medium +184,low,low,high,medium,medium,high,medium +185,medium,low,low,high,medium,high,medium +186,low,high,low,high,medium,high,medium +187,low,low,medium,high,medium,high,medium +188,high,low,low,low,high,high,medium +189,medium,high,low,low,high,high,medium +190,medium,low,medium,low,high,high,medium +191,low,high,medium,low,high,high,medium +192,low,low,high,low,high,high,medium +193,medium,low,low,medium,high,high,medium +194,low,high,low,medium,high,high,medium +195,low,low,medium,medium,high,high,medium +196,low,low,low,high,high,high,medium +197,high,high,high,medium,low,low,high +198,high,high,medium,high,low,low,high +199,high,low,high,high,low,low,high +200,medium,high,high,high,low,low,high +201,high,high,high,low,medium,low,high +202,high,high,medium,medium,medium,low,high +203,high,low,high,medium,medium,low,high +204,medium,high,high,medium,medium,low,high +205,high,high,low,high,medium,low,high +206,high,low,medium,high,medium,low,high +207,medium,high,medium,high,medium,low,high +208,medium,low,high,high,medium,low,high +209,low,high,high,high,medium,low,high +210,high,high,medium,low,high,low,high +211,high,low,high,low,high,low,high +212,medium,high,high,low,high,low,high +213,high,high,low,medium,high,low,high +214,high,low,medium,medium,high,low,high +215,medium,high,medium,medium,high,low,high +216,medium,low,high,medium,high,low,high +217,low,high,high,medium,high,low,high +218,high,low,low,high,high,low,high +219,medium,high,low,high,high,low,high +220,medium,low,medium,high,high,low,high +221,low,high,medium,high,high,low,high +222,low,low,high,high,high,low,high +223,high,high,high,low,low,high,high +224,high,high,medium,medium,low,high,high +225,high,low,high,medium,low,high,high +226,medium,high,high,medium,low,high,high +227,high,high,low,high,low,high,high +228,high,low,medium,high,low,high,high +229,medium,high,medium,high,low,high,high +230,medium,low,high,high,low,high,high +231,low,high,high,high,low,high,high +232,high,high,medium,low,medium,high,high +233,high,low,high,low,medium,high,high +234,medium,high,high,low,medium,high,high +235,high,high,low,medium,medium,high,medium +236,high,low,medium,medium,medium,high,high +237,medium,high,medium,medium,medium,high,high +238,medium,low,high,medium,medium,high,high +239,low,high,high,medium,medium,high,high +240,high,low,low,high,medium,high,high +241,medium,high,low,high,medium,high,high +242,medium,low,medium,high,medium,high,high +243,low,high,medium,high,medium,high,high +244,low,low,high,high,medium,high,high +245,high,high,low,low,high,high,medium +246,high,low,medium,low,high,high,high +247,medium,high,medium,low,high,high,high +248,medium,low,high,low,high,high,high +249,low,high,high,low,high,high,high +250,high,low,low,medium,high,high,high +251,medium,high,low,medium,high,high,medium +252,medium,low,medium,medium,high,high,high +253,low,high,medium,medium,high,high,high +254,low,low,high,medium,high,high,high +255,medium,low,low,high,high,high,high +256,low,high,low,high,high,high,medium +257,low,low,medium,high,high,high,high +258,high,high,high,high,low,low,critical +259,high,high,high,medium,medium,low,high +260,high,high,medium,high,medium,low,critical +261,high,low,high,high,medium,low,critical +262,medium,high,high,high,medium,low,high +263,high,high,high,low,high,low,critical +264,high,high,medium,medium,high,low,critical +265,high,low,high,medium,high,low,critical +266,medium,high,high,medium,high,low,high +267,high,high,low,high,high,low,critical +268,high,low,medium,high,high,low,critical +269,medium,high,medium,high,high,low,high +270,medium,low,high,high,high,low,critical +271,low,high,high,high,high,low,high +272,high,high,high,medium,low,high,critical +273,high,high,medium,high,low,high,critical +274,high,low,high,high,low,high,critical +275,medium,high,high,high,low,high,critical +276,high,high,high,low,medium,high,high +277,high,high,medium,medium,medium,high,high +278,high,low,high,medium,medium,high,critical +279,medium,high,high,medium,medium,high,high +280,high,high,low,high,medium,high,high +281,high,low,medium,high,medium,high,critical +282,medium,high,medium,high,medium,high,high +283,medium,low,high,high,medium,high,high +284,low,high,high,high,medium,high,high +285,high,high,medium,low,high,high,high +286,high,low,high,low,high,high,critical +287,medium,high,high,low,high,high,high +288,high,high,low,medium,high,high,high +289,high,low,medium,medium,high,high,critical +290,medium,high,medium,medium,high,high,high +291,medium,low,high,medium,high,high,critical +292,low,high,high,medium,high,high,high +293,high,low,low,high,high,high,high +294,medium,high,low,high,high,high,high +295,medium,low,medium,high,high,high,high +296,low,high,medium,high,high,high,high +297,low,low,high,high,high,high,high +298,high,high,high,high,medium,low,critical +299,high,high,high,medium,high,low,critical +300,high,high,medium,high,high,low,critical +301,high,low,high,high,high,low,critical +302,medium,high,high,high,high,low,critical +303,high,high,high,high,low,high,critical +304,high,high,high,medium,medium,high,critical +305,high,high,medium,high,medium,high,critical +306,high,low,high,high,medium,high,critical +307,medium,high,high,high,medium,high,critical +308,high,high,high,low,high,high,critical +309,high,high,medium,medium,high,high,critical +310,high,low,high,medium,high,high,critical +311,medium,high,high,medium,high,high,critical +312,high,high,low,high,high,high,critical +313,high,low,medium,high,high,high,critical +314,medium,high,medium,high,high,high,critical +315,medium,low,high,high,high,high,critical +316,low,high,high,high,high,high,critical +317,high,high,high,high,high,low,critical +318,high,high,high,high,medium,high,critical +319,high,high,high,medium,high,high,critical +320,high,high,medium,high,high,high,critical +321,high,low,high,high,high,high,critical +322,medium,high,high,high,high,high,critical +323,high,high,high,high,high,high,critical diff --git a/data/csv/cvss/cvss_v4_equivalence_set_1_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_1_1_0_0.csv new file mode 100644 index 00000000..d80c1fe2 --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_1_1_0_0.csv @@ -0,0 +1,37 @@ +row,Attack Vector v3.0.1 (cvss),Privileges Required v1.0.1 (cvss),User Interaction v2.0.0 (cvss),Equivalence Set 1 v1.0.0 (cvss) +0,physical,high,active,low +1,local,high,active,low +2,physical,low,active,low +3,physical,high,passive,low +4,adjacent,high,active,low +5,local,low,active,low +6,physical,none,active,low +7,local,high,passive,low +8,physical,low,passive,low +9,physical,high,none,low +10,network,high,active,medium +11,adjacent,low,active,low +12,local,none,active,medium +13,adjacent,high,passive,low +14,local,low,passive,low +15,physical,none,passive,low +16,local,high,none,medium +17,physical,low,none,low +18,network,low,active,medium +19,adjacent,none,active,medium +20,network,high,passive,medium +21,adjacent,low,passive,low +22,local,none,passive,medium +23,adjacent,high,none,medium +24,local,low,none,medium +25,physical,none,none,low +26,network,none,active,medium +27,network,low,passive,medium +28,adjacent,none,passive,medium +29,network,high,none,medium +30,adjacent,low,none,medium +31,local,none,none,medium +32,network,none,passive,medium +33,network,low,none,medium +34,adjacent,none,none,medium +35,network,none,none,high diff --git a/data/csv/cvss/cvss_v4_equivalence_set_2_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_2_1_0_0.csv new file mode 100644 index 00000000..1ce2c02c --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_2_1_0_0.csv @@ -0,0 +1,5 @@ +row,Attack Complexity v3.0.1 (cvss),Attack Requirements v1.0.0 (cvss),Equivalence Set 2 v1.0.0 (cvss) +0,high,present,low +1,low,present,low +2,high,none,low +3,low,none,high diff --git a/data/csv/cvss/cvss_v4_equivalence_set_3_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_3_1_0_0.csv new file mode 100644 index 00000000..f28168a0 --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_3_1_0_0.csv @@ -0,0 +1,28 @@ +row,Confidentiality Impact to the Vulnerable System v3.0.0 (cvss),Integrity Impact to the Vulnerable System v3.0.0 (cvss),Availability Impact to the Vulnerable System v3.0.0 (cvss),Equivalence Set 3 v1.0.0 (cvss) +0,none,none,none,low +1,low,none,none,low +2,none,low,none,low +3,none,none,low,low +4,high,none,none,medium +5,low,low,none,low +6,none,high,none,medium +7,low,none,low,low +8,none,low,low,low +9,none,none,high,medium +10,high,low,none,medium +11,low,high,none,medium +12,high,none,low,medium +13,low,low,low,low +14,none,high,low,medium +15,low,none,high,medium +16,none,low,high,medium +17,high,high,none,high +18,high,low,low,medium +19,low,high,low,medium +20,high,none,high,medium +21,low,low,high,medium +22,none,high,high,medium +23,high,high,low,high +24,high,low,high,medium +25,low,high,high,medium +26,high,high,high,high diff --git a/data/csv/cvss/cvss_v4_equivalence_set_4_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_4_1_0_0.csv new file mode 100644 index 00000000..42ba3391 --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_4_1_0_0.csv @@ -0,0 +1,49 @@ +row,Confidentiality Impact to the Subsequent System v1.0.0 (cvss),Modified Integrity Impact to the Subsequent System (without Not Defined) v1.0.1 (cvss),Modified Availability Impact to the Subsequent System (without Not Defined) v1.0.1 (cvss),Equivalence Set 4 v1.0.0 (cvss) +0,negligible,negligible,negligible,low +1,low,negligible,negligible,low +2,negligible,low,negligible,low +3,negligible,negligible,low,low +4,high,negligible,negligible,medium +5,low,low,negligible,low +6,negligible,high,negligible,medium +7,low,negligible,low,low +8,negligible,low,low,low +9,negligible,negligible,high,medium +10,high,low,negligible,medium +11,low,high,negligible,medium +12,negligible,safety,negligible,high +13,high,negligible,low,medium +14,low,low,low,low +15,negligible,high,low,medium +16,low,negligible,high,medium +17,negligible,low,high,medium +18,negligible,negligible,safety,high +19,high,high,negligible,medium +20,low,safety,negligible,high +21,high,low,low,medium +22,low,high,low,medium +23,negligible,safety,low,high +24,high,negligible,high,medium +25,low,low,high,medium +26,negligible,high,high,medium +27,low,negligible,safety,high +28,negligible,low,safety,high +29,high,safety,negligible,high +30,high,high,low,medium +31,low,safety,low,high +32,high,low,high,medium +33,low,high,high,medium +34,negligible,safety,high,high +35,high,negligible,safety,high +36,low,low,safety,high +37,negligible,high,safety,high +38,high,safety,low,high +39,high,high,high,medium +40,low,safety,high,high +41,high,low,safety,high +42,low,high,safety,high +43,negligible,safety,safety,high +44,high,safety,high,high +45,high,high,safety,high +46,low,safety,safety,high +47,high,safety,safety,high diff --git a/data/csv/cvss/cvss_v4_equivalence_set_5_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_5_1_0_0.csv new file mode 100644 index 00000000..7daa47d7 --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_5_1_0_0.csv @@ -0,0 +1,4 @@ +row,Exploit Maturity (without Not Defined) v2.0.0 (cvss),Equivalence Set 5 v1.0.0 (cvss) +0,unreported,low +1,proof-of-concept,medium +2,attacked,high diff --git a/data/csv/cvss/cvss_v4_equivalence_set_6_1_0_0.csv b/data/csv/cvss/cvss_v4_equivalence_set_6_1_0_0.csv new file mode 100644 index 00000000..22664e9f --- /dev/null +++ b/data/csv/cvss/cvss_v4_equivalence_set_6_1_0_0.csv @@ -0,0 +1,730 @@ +row,Confidentiality Requirement (without Not Defined) v1.1.1 (cvss),Confidentiality Impact to the Vulnerable System v3.0.0 (cvss),Integrity Requirement (without Not Defined) v1.1.1 (cvss),Integrity Impact to the Vulnerable System v3.0.0 (cvss),Availability Requirement (without Not Defined) v1.1.1 (cvss),Availability Impact to the Vulnerable System v3.0.0 (cvss),Equivalence Set 6 v1.0.0 (cvss) +0,low,none,low,none,low,none,low +1,medium,none,low,none,low,none,low +2,low,low,low,none,low,none,low +3,low,none,medium,none,low,none,low +4,low,none,low,low,low,none,low +5,low,none,low,none,medium,none,low +6,low,none,low,none,low,low,low +7,high,none,low,none,low,none,low +8,medium,low,low,none,low,none,low +9,low,high,low,none,low,none,low +10,medium,none,medium,none,low,none,low +11,low,low,medium,none,low,none,low +12,low,none,high,none,low,none,low +13,medium,none,low,low,low,none,low +14,low,low,low,low,low,none,low +15,low,none,medium,low,low,none,low +16,low,none,low,high,low,none,low +17,medium,none,low,none,medium,none,low +18,low,low,low,none,medium,none,low +19,low,none,medium,none,medium,none,low +20,low,none,low,low,medium,none,low +21,low,none,low,none,high,none,low +22,medium,none,low,none,low,low,low +23,low,low,low,none,low,low,low +24,low,none,medium,none,low,low,low +25,low,none,low,low,low,low,low +26,low,none,low,none,medium,low,low +27,low,none,low,none,low,high,low +28,high,low,low,none,low,none,low +29,medium,high,low,none,low,none,low +30,high,none,medium,none,low,none,low +31,medium,low,medium,none,low,none,low +32,low,high,medium,none,low,none,low +33,medium,none,high,none,low,none,low +34,low,low,high,none,low,none,low +35,high,none,low,low,low,none,low +36,medium,low,low,low,low,none,low +37,low,high,low,low,low,none,low +38,medium,none,medium,low,low,none,low +39,low,low,medium,low,low,none,low +40,low,none,high,low,low,none,low +41,medium,none,low,high,low,none,low +42,low,low,low,high,low,none,low +43,low,none,medium,high,low,none,low +44,high,none,low,none,medium,none,low +45,medium,low,low,none,medium,none,low +46,low,high,low,none,medium,none,low +47,medium,none,medium,none,medium,none,low +48,low,low,medium,none,medium,none,low +49,low,none,high,none,medium,none,low +50,medium,none,low,low,medium,none,low +51,low,low,low,low,medium,none,low +52,low,none,medium,low,medium,none,low +53,low,none,low,high,medium,none,low +54,medium,none,low,none,high,none,low +55,low,low,low,none,high,none,low +56,low,none,medium,none,high,none,low +57,low,none,low,low,high,none,low +58,high,none,low,none,low,low,low +59,medium,low,low,none,low,low,low +60,low,high,low,none,low,low,low +61,medium,none,medium,none,low,low,low +62,low,low,medium,none,low,low,low +63,low,none,high,none,low,low,low +64,medium,none,low,low,low,low,low +65,low,low,low,low,low,low,low +66,low,none,medium,low,low,low,low +67,low,none,low,high,low,low,low +68,medium,none,low,none,medium,low,low +69,low,low,low,none,medium,low,low +70,low,none,medium,none,medium,low,low +71,low,none,low,low,medium,low,low +72,low,none,low,none,high,low,low +73,medium,none,low,none,low,high,low +74,low,low,low,none,low,high,low +75,low,none,medium,none,low,high,low +76,low,none,low,low,low,high,low +77,low,none,low,none,medium,high,low +78,high,high,low,none,low,none,high +79,high,low,medium,none,low,none,low +80,medium,high,medium,none,low,none,low +81,high,none,high,none,low,none,low +82,medium,low,high,none,low,none,low +83,low,high,high,none,low,none,low +84,high,low,low,low,low,none,low +85,medium,high,low,low,low,none,low +86,high,none,medium,low,low,none,low +87,medium,low,medium,low,low,none,low +88,low,high,medium,low,low,none,low +89,medium,none,high,low,low,none,low +90,low,low,high,low,low,none,low +91,high,none,low,high,low,none,low +92,medium,low,low,high,low,none,low +93,low,high,low,high,low,none,low +94,medium,none,medium,high,low,none,low +95,low,low,medium,high,low,none,low +96,low,none,high,high,low,none,high +97,high,low,low,none,medium,none,low +98,medium,high,low,none,medium,none,low +99,high,none,medium,none,medium,none,low +100,medium,low,medium,none,medium,none,low +101,low,high,medium,none,medium,none,low +102,medium,none,high,none,medium,none,low +103,low,low,high,none,medium,none,low +104,high,none,low,low,medium,none,low +105,medium,low,low,low,medium,none,low +106,low,high,low,low,medium,none,low +107,medium,none,medium,low,medium,none,low +108,low,low,medium,low,medium,none,low +109,low,none,high,low,medium,none,low +110,medium,none,low,high,medium,none,low +111,low,low,low,high,medium,none,low +112,low,none,medium,high,medium,none,low +113,high,none,low,none,high,none,low +114,medium,low,low,none,high,none,low +115,low,high,low,none,high,none,low +116,medium,none,medium,none,high,none,low +117,low,low,medium,none,high,none,low +118,low,none,high,none,high,none,low +119,medium,none,low,low,high,none,low +120,low,low,low,low,high,none,low +121,low,none,medium,low,high,none,low +122,low,none,low,high,high,none,low +123,high,low,low,none,low,low,low +124,medium,high,low,none,low,low,low +125,high,none,medium,none,low,low,low +126,medium,low,medium,none,low,low,low +127,low,high,medium,none,low,low,low +128,medium,none,high,none,low,low,low +129,low,low,high,none,low,low,low +130,high,none,low,low,low,low,low +131,medium,low,low,low,low,low,low +132,low,high,low,low,low,low,low +133,medium,none,medium,low,low,low,low +134,low,low,medium,low,low,low,low +135,low,none,high,low,low,low,low +136,medium,none,low,high,low,low,low +137,low,low,low,high,low,low,low +138,low,none,medium,high,low,low,low +139,high,none,low,none,medium,low,low +140,medium,low,low,none,medium,low,low +141,low,high,low,none,medium,low,low +142,medium,none,medium,none,medium,low,low +143,low,low,medium,none,medium,low,low +144,low,none,high,none,medium,low,low +145,medium,none,low,low,medium,low,low +146,low,low,low,low,medium,low,low +147,low,none,medium,low,medium,low,low +148,low,none,low,high,medium,low,low +149,medium,none,low,none,high,low,low +150,low,low,low,none,high,low,low +151,low,none,medium,none,high,low,low +152,low,none,low,low,high,low,low +153,high,none,low,none,low,high,low +154,medium,low,low,none,low,high,low +155,low,high,low,none,low,high,low +156,medium,none,medium,none,low,high,low +157,low,low,medium,none,low,high,low +158,low,none,high,none,low,high,low +159,medium,none,low,low,low,high,low +160,low,low,low,low,low,high,low +161,low,none,medium,low,low,high,low +162,low,none,low,high,low,high,low +163,medium,none,low,none,medium,high,low +164,low,low,low,none,medium,high,low +165,low,none,medium,none,medium,high,low +166,low,none,low,low,medium,high,low +167,low,none,low,none,high,high,high +168,high,high,medium,none,low,none,high +169,high,low,high,none,low,none,low +170,medium,high,high,none,low,none,low +171,high,high,low,low,low,none,high +172,high,low,medium,low,low,none,low +173,medium,high,medium,low,low,none,low +174,high,none,high,low,low,none,low +175,medium,low,high,low,low,none,low +176,low,high,high,low,low,none,low +177,high,low,low,high,low,none,low +178,medium,high,low,high,low,none,low +179,high,none,medium,high,low,none,low +180,medium,low,medium,high,low,none,low +181,low,high,medium,high,low,none,low +182,medium,none,high,high,low,none,high +183,low,low,high,high,low,none,high +184,high,high,low,none,medium,none,high +185,high,low,medium,none,medium,none,low +186,medium,high,medium,none,medium,none,low +187,high,none,high,none,medium,none,low +188,medium,low,high,none,medium,none,low +189,low,high,high,none,medium,none,low +190,high,low,low,low,medium,none,low +191,medium,high,low,low,medium,none,low +192,high,none,medium,low,medium,none,low +193,medium,low,medium,low,medium,none,low +194,low,high,medium,low,medium,none,low +195,medium,none,high,low,medium,none,low +196,low,low,high,low,medium,none,low +197,high,none,low,high,medium,none,low +198,medium,low,low,high,medium,none,low +199,low,high,low,high,medium,none,low +200,medium,none,medium,high,medium,none,low +201,low,low,medium,high,medium,none,low +202,low,none,high,high,medium,none,high +203,high,low,low,none,high,none,low +204,medium,high,low,none,high,none,low +205,high,none,medium,none,high,none,low +206,medium,low,medium,none,high,none,low +207,low,high,medium,none,high,none,low +208,medium,none,high,none,high,none,low +209,low,low,high,none,high,none,low +210,high,none,low,low,high,none,low +211,medium,low,low,low,high,none,low +212,low,high,low,low,high,none,low +213,medium,none,medium,low,high,none,low +214,low,low,medium,low,high,none,low +215,low,none,high,low,high,none,low +216,medium,none,low,high,high,none,low +217,low,low,low,high,high,none,low +218,low,none,medium,high,high,none,low +219,high,high,low,none,low,low,high +220,high,low,medium,none,low,low,low +221,medium,high,medium,none,low,low,low +222,high,none,high,none,low,low,low +223,medium,low,high,none,low,low,low +224,low,high,high,none,low,low,low +225,high,low,low,low,low,low,low +226,medium,high,low,low,low,low,low +227,high,none,medium,low,low,low,low +228,medium,low,medium,low,low,low,low +229,low,high,medium,low,low,low,low +230,medium,none,high,low,low,low,low +231,low,low,high,low,low,low,low +232,high,none,low,high,low,low,low +233,medium,low,low,high,low,low,low +234,low,high,low,high,low,low,low +235,medium,none,medium,high,low,low,low +236,low,low,medium,high,low,low,low +237,low,none,high,high,low,low,high +238,high,low,low,none,medium,low,low +239,medium,high,low,none,medium,low,low +240,high,none,medium,none,medium,low,low +241,medium,low,medium,none,medium,low,low +242,low,high,medium,none,medium,low,low +243,medium,none,high,none,medium,low,low +244,low,low,high,none,medium,low,low +245,high,none,low,low,medium,low,low +246,medium,low,low,low,medium,low,low +247,low,high,low,low,medium,low,low +248,medium,none,medium,low,medium,low,low +249,low,low,medium,low,medium,low,low +250,low,none,high,low,medium,low,low +251,medium,none,low,high,medium,low,low +252,low,low,low,high,medium,low,low +253,low,none,medium,high,medium,low,low +254,high,none,low,none,high,low,low +255,medium,low,low,none,high,low,low +256,low,high,low,none,high,low,low +257,medium,none,medium,none,high,low,low +258,low,low,medium,none,high,low,low +259,low,none,high,none,high,low,low +260,medium,none,low,low,high,low,low +261,low,low,low,low,high,low,low +262,low,none,medium,low,high,low,low +263,low,none,low,high,high,low,low +264,high,low,low,none,low,high,low +265,medium,high,low,none,low,high,low +266,high,none,medium,none,low,high,low +267,medium,low,medium,none,low,high,low +268,low,high,medium,none,low,high,low +269,medium,none,high,none,low,high,low +270,low,low,high,none,low,high,low +271,high,none,low,low,low,high,low +272,medium,low,low,low,low,high,low +273,low,high,low,low,low,high,low +274,medium,none,medium,low,low,high,low +275,low,low,medium,low,low,high,low +276,low,none,high,low,low,high,low +277,medium,none,low,high,low,high,low +278,low,low,low,high,low,high,low +279,low,none,medium,high,low,high,low +280,high,none,low,none,medium,high,low +281,medium,low,low,none,medium,high,low +282,low,high,low,none,medium,high,low +283,medium,none,medium,none,medium,high,low +284,low,low,medium,none,medium,high,low +285,low,none,high,none,medium,high,low +286,medium,none,low,low,medium,high,low +287,low,low,low,low,medium,high,low +288,low,none,medium,low,medium,high,low +289,low,none,low,high,medium,high,low +290,medium,none,low,none,high,high,high +291,low,low,low,none,high,high,high +292,low,none,medium,none,high,high,high +293,low,none,low,low,high,high,high +294,high,high,high,none,low,none,high +295,high,high,medium,low,low,none,high +296,high,low,high,low,low,none,low +297,medium,high,high,low,low,none,low +298,high,high,low,high,low,none,high +299,high,low,medium,high,low,none,low +300,medium,high,medium,high,low,none,low +301,high,none,high,high,low,none,high +302,medium,low,high,high,low,none,high +303,low,high,high,high,low,none,high +304,high,high,medium,none,medium,none,high +305,high,low,high,none,medium,none,low +306,medium,high,high,none,medium,none,low +307,high,high,low,low,medium,none,high +308,high,low,medium,low,medium,none,low +309,medium,high,medium,low,medium,none,low +310,high,none,high,low,medium,none,low +311,medium,low,high,low,medium,none,low +312,low,high,high,low,medium,none,low +313,high,low,low,high,medium,none,low +314,medium,high,low,high,medium,none,low +315,high,none,medium,high,medium,none,low +316,medium,low,medium,high,medium,none,low +317,low,high,medium,high,medium,none,low +318,medium,none,high,high,medium,none,high +319,low,low,high,high,medium,none,high +320,high,high,low,none,high,none,high +321,high,low,medium,none,high,none,low +322,medium,high,medium,none,high,none,low +323,high,none,high,none,high,none,low +324,medium,low,high,none,high,none,low +325,low,high,high,none,high,none,low +326,high,low,low,low,high,none,low +327,medium,high,low,low,high,none,low +328,high,none,medium,low,high,none,low +329,medium,low,medium,low,high,none,low +330,low,high,medium,low,high,none,low +331,medium,none,high,low,high,none,low +332,low,low,high,low,high,none,low +333,high,none,low,high,high,none,low +334,medium,low,low,high,high,none,low +335,low,high,low,high,high,none,low +336,medium,none,medium,high,high,none,low +337,low,low,medium,high,high,none,low +338,low,none,high,high,high,none,high +339,high,high,medium,none,low,low,high +340,high,low,high,none,low,low,low +341,medium,high,high,none,low,low,low +342,high,high,low,low,low,low,high +343,high,low,medium,low,low,low,low +344,medium,high,medium,low,low,low,low +345,high,none,high,low,low,low,low +346,medium,low,high,low,low,low,low +347,low,high,high,low,low,low,low +348,high,low,low,high,low,low,low +349,medium,high,low,high,low,low,low +350,high,none,medium,high,low,low,low +351,medium,low,medium,high,low,low,low +352,low,high,medium,high,low,low,low +353,medium,none,high,high,low,low,high +354,low,low,high,high,low,low,high +355,high,high,low,none,medium,low,high +356,high,low,medium,none,medium,low,low +357,medium,high,medium,none,medium,low,low +358,high,none,high,none,medium,low,low +359,medium,low,high,none,medium,low,low +360,low,high,high,none,medium,low,low +361,high,low,low,low,medium,low,low +362,medium,high,low,low,medium,low,low +363,high,none,medium,low,medium,low,low +364,medium,low,medium,low,medium,low,low +365,low,high,medium,low,medium,low,low +366,medium,none,high,low,medium,low,low +367,low,low,high,low,medium,low,low +368,high,none,low,high,medium,low,low +369,medium,low,low,high,medium,low,low +370,low,high,low,high,medium,low,low +371,medium,none,medium,high,medium,low,low +372,low,low,medium,high,medium,low,low +373,low,none,high,high,medium,low,high +374,high,low,low,none,high,low,low +375,medium,high,low,none,high,low,low +376,high,none,medium,none,high,low,low +377,medium,low,medium,none,high,low,low +378,low,high,medium,none,high,low,low +379,medium,none,high,none,high,low,low +380,low,low,high,none,high,low,low +381,high,none,low,low,high,low,low +382,medium,low,low,low,high,low,low +383,low,high,low,low,high,low,low +384,medium,none,medium,low,high,low,low +385,low,low,medium,low,high,low,low +386,low,none,high,low,high,low,low +387,medium,none,low,high,high,low,low +388,low,low,low,high,high,low,low +389,low,none,medium,high,high,low,low +390,high,high,low,none,low,high,high +391,high,low,medium,none,low,high,low +392,medium,high,medium,none,low,high,low +393,high,none,high,none,low,high,low +394,medium,low,high,none,low,high,low +395,low,high,high,none,low,high,low +396,high,low,low,low,low,high,low +397,medium,high,low,low,low,high,low +398,high,none,medium,low,low,high,low +399,medium,low,medium,low,low,high,low +400,low,high,medium,low,low,high,low +401,medium,none,high,low,low,high,low +402,low,low,high,low,low,high,low +403,high,none,low,high,low,high,low +404,medium,low,low,high,low,high,low +405,low,high,low,high,low,high,low +406,medium,none,medium,high,low,high,low +407,low,low,medium,high,low,high,low +408,low,none,high,high,low,high,high +409,high,low,low,none,medium,high,low +410,medium,high,low,none,medium,high,low +411,high,none,medium,none,medium,high,low +412,medium,low,medium,none,medium,high,low +413,low,high,medium,none,medium,high,low +414,medium,none,high,none,medium,high,low +415,low,low,high,none,medium,high,low +416,high,none,low,low,medium,high,low +417,medium,low,low,low,medium,high,low +418,low,high,low,low,medium,high,low +419,medium,none,medium,low,medium,high,low +420,low,low,medium,low,medium,high,low +421,low,none,high,low,medium,high,low +422,medium,none,low,high,medium,high,low +423,low,low,low,high,medium,high,low +424,low,none,medium,high,medium,high,low +425,high,none,low,none,high,high,high +426,medium,low,low,none,high,high,high +427,low,high,low,none,high,high,high +428,medium,none,medium,none,high,high,high +429,low,low,medium,none,high,high,high +430,low,none,high,none,high,high,high +431,medium,none,low,low,high,high,high +432,low,low,low,low,high,high,high +433,low,none,medium,low,high,high,high +434,low,none,low,high,high,high,high +435,high,high,high,low,low,none,high +436,high,high,medium,high,low,none,high +437,high,low,high,high,low,none,high +438,medium,high,high,high,low,none,high +439,high,high,high,none,medium,none,high +440,high,high,medium,low,medium,none,high +441,high,low,high,low,medium,none,low +442,medium,high,high,low,medium,none,low +443,high,high,low,high,medium,none,high +444,high,low,medium,high,medium,none,low +445,medium,high,medium,high,medium,none,low +446,high,none,high,high,medium,none,high +447,medium,low,high,high,medium,none,high +448,low,high,high,high,medium,none,high +449,high,high,medium,none,high,none,high +450,high,low,high,none,high,none,low +451,medium,high,high,none,high,none,low +452,high,high,low,low,high,none,high +453,high,low,medium,low,high,none,low +454,medium,high,medium,low,high,none,low +455,high,none,high,low,high,none,low +456,medium,low,high,low,high,none,low +457,low,high,high,low,high,none,low +458,high,low,low,high,high,none,low +459,medium,high,low,high,high,none,low +460,high,none,medium,high,high,none,low +461,medium,low,medium,high,high,none,low +462,low,high,medium,high,high,none,low +463,medium,none,high,high,high,none,high +464,low,low,high,high,high,none,high +465,high,high,high,none,low,low,high +466,high,high,medium,low,low,low,high +467,high,low,high,low,low,low,low +468,medium,high,high,low,low,low,low +469,high,high,low,high,low,low,high +470,high,low,medium,high,low,low,low +471,medium,high,medium,high,low,low,low +472,high,none,high,high,low,low,high +473,medium,low,high,high,low,low,high +474,low,high,high,high,low,low,high +475,high,high,medium,none,medium,low,high +476,high,low,high,none,medium,low,low +477,medium,high,high,none,medium,low,low +478,high,high,low,low,medium,low,high +479,high,low,medium,low,medium,low,low +480,medium,high,medium,low,medium,low,low +481,high,none,high,low,medium,low,low +482,medium,low,high,low,medium,low,low +483,low,high,high,low,medium,low,low +484,high,low,low,high,medium,low,low +485,medium,high,low,high,medium,low,low +486,high,none,medium,high,medium,low,low +487,medium,low,medium,high,medium,low,low +488,low,high,medium,high,medium,low,low +489,medium,none,high,high,medium,low,high +490,low,low,high,high,medium,low,high +491,high,high,low,none,high,low,high +492,high,low,medium,none,high,low,low +493,medium,high,medium,none,high,low,low +494,high,none,high,none,high,low,low +495,medium,low,high,none,high,low,low +496,low,high,high,none,high,low,low +497,high,low,low,low,high,low,low +498,medium,high,low,low,high,low,low +499,high,none,medium,low,high,low,low +500,medium,low,medium,low,high,low,low +501,low,high,medium,low,high,low,low +502,medium,none,high,low,high,low,low +503,low,low,high,low,high,low,low +504,high,none,low,high,high,low,low +505,medium,low,low,high,high,low,low +506,low,high,low,high,high,low,low +507,medium,none,medium,high,high,low,low +508,low,low,medium,high,high,low,low +509,low,none,high,high,high,low,high +510,high,high,medium,none,low,high,high +511,high,low,high,none,low,high,low +512,medium,high,high,none,low,high,low +513,high,high,low,low,low,high,high +514,high,low,medium,low,low,high,low +515,medium,high,medium,low,low,high,low +516,high,none,high,low,low,high,low +517,medium,low,high,low,low,high,low +518,low,high,high,low,low,high,low +519,high,low,low,high,low,high,low +520,medium,high,low,high,low,high,low +521,high,none,medium,high,low,high,low +522,medium,low,medium,high,low,high,low +523,low,high,medium,high,low,high,low +524,medium,none,high,high,low,high,high +525,low,low,high,high,low,high,high +526,high,high,low,none,medium,high,high +527,high,low,medium,none,medium,high,low +528,medium,high,medium,none,medium,high,low +529,high,none,high,none,medium,high,low +530,medium,low,high,none,medium,high,low +531,low,high,high,none,medium,high,low +532,high,low,low,low,medium,high,low +533,medium,high,low,low,medium,high,low +534,high,none,medium,low,medium,high,low +535,medium,low,medium,low,medium,high,low +536,low,high,medium,low,medium,high,low +537,medium,none,high,low,medium,high,low +538,low,low,high,low,medium,high,low +539,high,none,low,high,medium,high,low +540,medium,low,low,high,medium,high,low +541,low,high,low,high,medium,high,low +542,medium,none,medium,high,medium,high,low +543,low,low,medium,high,medium,high,low +544,low,none,high,high,medium,high,high +545,high,low,low,none,high,high,high +546,medium,high,low,none,high,high,high +547,high,none,medium,none,high,high,high +548,medium,low,medium,none,high,high,high +549,low,high,medium,none,high,high,high +550,medium,none,high,none,high,high,high +551,low,low,high,none,high,high,high +552,high,none,low,low,high,high,high +553,medium,low,low,low,high,high,high +554,low,high,low,low,high,high,high +555,medium,none,medium,low,high,high,high +556,low,low,medium,low,high,high,high +557,low,none,high,low,high,high,high +558,medium,none,low,high,high,high,high +559,low,low,low,high,high,high,high +560,low,none,medium,high,high,high,high +561,high,high,high,high,low,none,high +562,high,high,high,low,medium,none,high +563,high,high,medium,high,medium,none,high +564,high,low,high,high,medium,none,high +565,medium,high,high,high,medium,none,high +566,high,high,high,none,high,none,high +567,high,high,medium,low,high,none,high +568,high,low,high,low,high,none,low +569,medium,high,high,low,high,none,low +570,high,high,low,high,high,none,high +571,high,low,medium,high,high,none,low +572,medium,high,medium,high,high,none,low +573,high,none,high,high,high,none,high +574,medium,low,high,high,high,none,high +575,low,high,high,high,high,none,high +576,high,high,high,low,low,low,high +577,high,high,medium,high,low,low,high +578,high,low,high,high,low,low,high +579,medium,high,high,high,low,low,high +580,high,high,high,none,medium,low,high +581,high,high,medium,low,medium,low,high +582,high,low,high,low,medium,low,low +583,medium,high,high,low,medium,low,low +584,high,high,low,high,medium,low,high +585,high,low,medium,high,medium,low,low +586,medium,high,medium,high,medium,low,low +587,high,none,high,high,medium,low,high +588,medium,low,high,high,medium,low,high +589,low,high,high,high,medium,low,high +590,high,high,medium,none,high,low,high +591,high,low,high,none,high,low,low +592,medium,high,high,none,high,low,low +593,high,high,low,low,high,low,high +594,high,low,medium,low,high,low,low +595,medium,high,medium,low,high,low,low +596,high,none,high,low,high,low,low +597,medium,low,high,low,high,low,low +598,low,high,high,low,high,low,low +599,high,low,low,high,high,low,low +600,medium,high,low,high,high,low,low +601,high,none,medium,high,high,low,low +602,medium,low,medium,high,high,low,low +603,low,high,medium,high,high,low,low +604,medium,none,high,high,high,low,high +605,low,low,high,high,high,low,high +606,high,high,high,none,low,high,high +607,high,high,medium,low,low,high,high +608,high,low,high,low,low,high,low +609,medium,high,high,low,low,high,low +610,high,high,low,high,low,high,high +611,high,low,medium,high,low,high,low +612,medium,high,medium,high,low,high,low +613,high,none,high,high,low,high,high +614,medium,low,high,high,low,high,high +615,low,high,high,high,low,high,high +616,high,high,medium,none,medium,high,high +617,high,low,high,none,medium,high,low +618,medium,high,high,none,medium,high,low +619,high,high,low,low,medium,high,high +620,high,low,medium,low,medium,high,low +621,medium,high,medium,low,medium,high,low +622,high,none,high,low,medium,high,low +623,medium,low,high,low,medium,high,low +624,low,high,high,low,medium,high,low +625,high,low,low,high,medium,high,low +626,medium,high,low,high,medium,high,low +627,high,none,medium,high,medium,high,low +628,medium,low,medium,high,medium,high,low +629,low,high,medium,high,medium,high,low +630,medium,none,high,high,medium,high,high +631,low,low,high,high,medium,high,high +632,high,high,low,none,high,high,high +633,high,low,medium,none,high,high,high +634,medium,high,medium,none,high,high,high +635,high,none,high,none,high,high,high +636,medium,low,high,none,high,high,high +637,low,high,high,none,high,high,high +638,high,low,low,low,high,high,high +639,medium,high,low,low,high,high,high +640,high,none,medium,low,high,high,high +641,medium,low,medium,low,high,high,high +642,low,high,medium,low,high,high,high +643,medium,none,high,low,high,high,high +644,low,low,high,low,high,high,high +645,high,none,low,high,high,high,high +646,medium,low,low,high,high,high,high +647,low,high,low,high,high,high,high +648,medium,none,medium,high,high,high,high +649,low,low,medium,high,high,high,high +650,low,none,high,high,high,high,high +651,high,high,high,high,medium,none,high +652,high,high,high,low,high,none,high +653,high,high,medium,high,high,none,high +654,high,low,high,high,high,none,high +655,medium,high,high,high,high,none,high +656,high,high,high,high,low,low,high +657,high,high,high,low,medium,low,high +658,high,high,medium,high,medium,low,high +659,high,low,high,high,medium,low,high +660,medium,high,high,high,medium,low,high +661,high,high,high,none,high,low,high +662,high,high,medium,low,high,low,high +663,high,low,high,low,high,low,low +664,medium,high,high,low,high,low,low +665,high,high,low,high,high,low,high +666,high,low,medium,high,high,low,low +667,medium,high,medium,high,high,low,low +668,high,none,high,high,high,low,high +669,medium,low,high,high,high,low,high +670,low,high,high,high,high,low,high +671,high,high,high,low,low,high,high +672,high,high,medium,high,low,high,high +673,high,low,high,high,low,high,high +674,medium,high,high,high,low,high,high +675,high,high,high,none,medium,high,high +676,high,high,medium,low,medium,high,high +677,high,low,high,low,medium,high,low +678,medium,high,high,low,medium,high,low +679,high,high,low,high,medium,high,high +680,high,low,medium,high,medium,high,low +681,medium,high,medium,high,medium,high,low +682,high,none,high,high,medium,high,high +683,medium,low,high,high,medium,high,high +684,low,high,high,high,medium,high,high +685,high,high,medium,none,high,high,high +686,high,low,high,none,high,high,high +687,medium,high,high,none,high,high,high +688,high,high,low,low,high,high,high +689,high,low,medium,low,high,high,high +690,medium,high,medium,low,high,high,high +691,high,none,high,low,high,high,high +692,medium,low,high,low,high,high,high +693,low,high,high,low,high,high,high +694,high,low,low,high,high,high,high +695,medium,high,low,high,high,high,high +696,high,none,medium,high,high,high,high +697,medium,low,medium,high,high,high,high +698,low,high,medium,high,high,high,high +699,medium,none,high,high,high,high,high +700,low,low,high,high,high,high,high +701,high,high,high,high,high,none,high +702,high,high,high,high,medium,low,high +703,high,high,high,low,high,low,high +704,high,high,medium,high,high,low,high +705,high,low,high,high,high,low,high +706,medium,high,high,high,high,low,high +707,high,high,high,high,low,high,high +708,high,high,high,low,medium,high,high +709,high,high,medium,high,medium,high,high +710,high,low,high,high,medium,high,high +711,medium,high,high,high,medium,high,high +712,high,high,high,none,high,high,high +713,high,high,medium,low,high,high,high +714,high,low,high,low,high,high,high +715,medium,high,high,low,high,high,high +716,high,high,low,high,high,high,high +717,high,low,medium,high,high,high,high +718,medium,high,medium,high,high,high,high +719,high,none,high,high,high,high,high +720,medium,low,high,high,high,high,high +721,low,high,high,high,high,high,high +722,high,high,high,high,high,low,high +723,high,high,high,high,medium,high,high +724,high,high,high,low,high,high,high +725,high,high,medium,high,high,high,high +726,high,low,high,high,high,high,high +727,medium,high,high,high,high,high,high +728,high,high,high,high,high,high,high diff --git a/data/csv/ssvc/coordinator_publish_decision_table_1_0_0.csv b/data/csv/ssvc/coordinator_publish_decision_table_1_0_0.csv new file mode 100644 index 00000000..60b8b32a --- /dev/null +++ b/data/csv/ssvc/coordinator_publish_decision_table_1_0_0.csv @@ -0,0 +1,28 @@ +row,Supplier Involvement v1.0.0,Exploitation v1.1.0,Public Value Added v1.0.0,"Publish, Do Not Publish v1.0.0" +0,fix ready,none,limited,do not publish +1,cooperative,none,limited,do not publish +2,fix ready,public poc,limited,do not publish +3,fix ready,none,ampliative,do not publish +4,uncooperative/unresponsive,none,limited,do not publish +5,cooperative,public poc,limited,do not publish +6,fix ready,active,limited,do not publish +7,cooperative,none,ampliative,do not publish +8,fix ready,public poc,ampliative,do not publish +9,fix ready,none,precedence,publish +10,uncooperative/unresponsive,public poc,limited,do not publish +11,cooperative,active,limited,do not publish +12,uncooperative/unresponsive,none,ampliative,do not publish +13,cooperative,public poc,ampliative,do not publish +14,fix ready,active,ampliative,publish +15,cooperative,none,precedence,publish +16,fix ready,public poc,precedence,publish +17,uncooperative/unresponsive,active,limited,publish +18,uncooperative/unresponsive,public poc,ampliative,publish +19,cooperative,active,ampliative,publish +20,uncooperative/unresponsive,none,precedence,publish +21,cooperative,public poc,precedence,publish +22,fix ready,active,precedence,publish +23,uncooperative/unresponsive,active,ampliative,publish +24,uncooperative/unresponsive,public poc,precedence,publish +25,cooperative,active,precedence,publish +26,uncooperative/unresponsive,active,precedence,publish diff --git a/data/csv/ssvc/coordinator_triage_1_0_0.csv b/data/csv/ssvc/coordinator_triage_1_0_0.csv new file mode 100644 index 00000000..5d5c8ee8 --- /dev/null +++ b/data/csv/ssvc/coordinator_triage_1_0_0.csv @@ -0,0 +1,193 @@ +row,Report Public v1.0.0,Supplier Contacted v1.0.0,Report Credibility v1.0.0,Supplier Cardinality v1.0.0,Supplier Engagement v1.0.0,Utility v1.0.1,Public Safety Impact v2.0.1,"Decline, Track, Coordinate v1.0.1" +0,yes,no,not credible,one,active,laborious,minimal,decline +1,no,no,not credible,one,active,laborious,minimal,decline +2,yes,yes,not credible,one,active,laborious,minimal,decline +3,yes,no,credible,one,active,laborious,minimal,decline +4,yes,no,not credible,multiple,active,laborious,minimal,decline +5,yes,no,not credible,one,unresponsive,laborious,minimal,decline +6,yes,no,not credible,one,active,efficient,minimal,decline +7,yes,no,not credible,one,active,laborious,significant,decline +8,no,yes,not credible,one,active,laborious,minimal,decline +9,no,no,credible,one,active,laborious,minimal,decline +10,yes,yes,credible,one,active,laborious,minimal,decline +11,no,no,not credible,multiple,active,laborious,minimal,decline +12,yes,yes,not credible,multiple,active,laborious,minimal,decline +13,yes,no,credible,multiple,active,laborious,minimal,decline +14,no,no,not credible,one,unresponsive,laborious,minimal,decline +15,yes,yes,not credible,one,unresponsive,laborious,minimal,decline +16,yes,no,credible,one,unresponsive,laborious,minimal,decline +17,yes,no,not credible,multiple,unresponsive,laborious,minimal,decline +18,no,no,not credible,one,active,efficient,minimal,decline +19,yes,yes,not credible,one,active,efficient,minimal,decline +20,yes,no,credible,one,active,efficient,minimal,decline +21,yes,no,not credible,multiple,active,efficient,minimal,decline +22,yes,no,not credible,one,unresponsive,efficient,minimal,decline +23,yes,no,not credible,one,active,super effective,minimal,decline +24,no,no,not credible,one,active,laborious,significant,decline +25,yes,yes,not credible,one,active,laborious,significant,decline +26,yes,no,credible,one,active,laborious,significant,decline +27,yes,no,not credible,multiple,active,laborious,significant,decline +28,yes,no,not credible,one,unresponsive,laborious,significant,decline +29,yes,no,not credible,one,active,efficient,significant,decline +30,no,yes,credible,one,active,laborious,minimal,decline +31,no,yes,not credible,multiple,active,laborious,minimal,decline +32,no,no,credible,multiple,active,laborious,minimal,decline +33,yes,yes,credible,multiple,active,laborious,minimal,decline +34,no,yes,not credible,one,unresponsive,laborious,minimal,decline +35,no,no,credible,one,unresponsive,laborious,minimal,decline +36,yes,yes,credible,one,unresponsive,laborious,minimal,decline +37,no,no,not credible,multiple,unresponsive,laborious,minimal,decline +38,yes,yes,not credible,multiple,unresponsive,laborious,minimal,decline +39,yes,no,credible,multiple,unresponsive,laborious,minimal,decline +40,no,yes,not credible,one,active,efficient,minimal,decline +41,no,no,credible,one,active,efficient,minimal,decline +42,yes,yes,credible,one,active,efficient,minimal,decline +43,no,no,not credible,multiple,active,efficient,minimal,decline +44,yes,yes,not credible,multiple,active,efficient,minimal,decline +45,yes,no,credible,multiple,active,efficient,minimal,decline +46,no,no,not credible,one,unresponsive,efficient,minimal,decline +47,yes,yes,not credible,one,unresponsive,efficient,minimal,decline +48,yes,no,credible,one,unresponsive,efficient,minimal,decline +49,yes,no,not credible,multiple,unresponsive,efficient,minimal,decline +50,no,no,not credible,one,active,super effective,minimal,decline +51,yes,yes,not credible,one,active,super effective,minimal,decline +52,yes,no,credible,one,active,super effective,minimal,decline +53,yes,no,not credible,multiple,active,super effective,minimal,decline +54,yes,no,not credible,one,unresponsive,super effective,minimal,decline +55,no,yes,not credible,one,active,laborious,significant,decline +56,no,no,credible,one,active,laborious,significant,decline +57,yes,yes,credible,one,active,laborious,significant,decline +58,no,no,not credible,multiple,active,laborious,significant,decline +59,yes,yes,not credible,multiple,active,laborious,significant,decline +60,yes,no,credible,multiple,active,laborious,significant,decline +61,no,no,not credible,one,unresponsive,laborious,significant,decline +62,yes,yes,not credible,one,unresponsive,laborious,significant,decline +63,yes,no,credible,one,unresponsive,laborious,significant,decline +64,yes,no,not credible,multiple,unresponsive,laborious,significant,decline +65,no,no,not credible,one,active,efficient,significant,decline +66,yes,yes,not credible,one,active,efficient,significant,decline +67,yes,no,credible,one,active,efficient,significant,decline +68,yes,no,not credible,multiple,active,efficient,significant,decline +69,yes,no,not credible,one,unresponsive,efficient,significant,decline +70,yes,no,not credible,one,active,super effective,significant,decline +71,no,yes,credible,multiple,active,laborious,minimal,decline +72,no,yes,credible,one,unresponsive,laborious,minimal,track +73,no,yes,not credible,multiple,unresponsive,laborious,minimal,decline +74,no,no,credible,multiple,unresponsive,laborious,minimal,decline +75,yes,yes,credible,multiple,unresponsive,laborious,minimal,decline +76,no,yes,credible,one,active,efficient,minimal,decline +77,no,yes,not credible,multiple,active,efficient,minimal,decline +78,no,no,credible,multiple,active,efficient,minimal,decline +79,yes,yes,credible,multiple,active,efficient,minimal,decline +80,no,yes,not credible,one,unresponsive,efficient,minimal,decline +81,no,no,credible,one,unresponsive,efficient,minimal,decline +82,yes,yes,credible,one,unresponsive,efficient,minimal,decline +83,no,no,not credible,multiple,unresponsive,efficient,minimal,decline +84,yes,yes,not credible,multiple,unresponsive,efficient,minimal,decline +85,yes,no,credible,multiple,unresponsive,efficient,minimal,decline +86,no,yes,not credible,one,active,super effective,minimal,decline +87,no,no,credible,one,active,super effective,minimal,decline +88,yes,yes,credible,one,active,super effective,minimal,decline +89,no,no,not credible,multiple,active,super effective,minimal,decline +90,yes,yes,not credible,multiple,active,super effective,minimal,decline +91,yes,no,credible,multiple,active,super effective,minimal,decline +92,no,no,not credible,one,unresponsive,super effective,minimal,decline +93,yes,yes,not credible,one,unresponsive,super effective,minimal,decline +94,yes,no,credible,one,unresponsive,super effective,minimal,decline +95,yes,no,not credible,multiple,unresponsive,super effective,minimal,decline +96,no,yes,credible,one,active,laborious,significant,decline +97,no,yes,not credible,multiple,active,laborious,significant,track +98,no,no,credible,multiple,active,laborious,significant,decline +99,yes,yes,credible,multiple,active,laborious,significant,decline +100,no,yes,not credible,one,unresponsive,laborious,significant,decline +101,no,no,credible,one,unresponsive,laborious,significant,decline +102,yes,yes,credible,one,unresponsive,laborious,significant,decline +103,no,no,not credible,multiple,unresponsive,laborious,significant,decline +104,yes,yes,not credible,multiple,unresponsive,laborious,significant,decline +105,yes,no,credible,multiple,unresponsive,laborious,significant,decline +106,no,yes,not credible,one,active,efficient,significant,track +107,no,no,credible,one,active,efficient,significant,decline +108,yes,yes,credible,one,active,efficient,significant,decline +109,no,no,not credible,multiple,active,efficient,significant,decline +110,yes,yes,not credible,multiple,active,efficient,significant,decline +111,yes,no,credible,multiple,active,efficient,significant,decline +112,no,no,not credible,one,unresponsive,efficient,significant,decline +113,yes,yes,not credible,one,unresponsive,efficient,significant,decline +114,yes,no,credible,one,unresponsive,efficient,significant,decline +115,yes,no,not credible,multiple,unresponsive,efficient,significant,decline +116,no,no,not credible,one,active,super effective,significant,decline +117,yes,yes,not credible,one,active,super effective,significant,decline +118,yes,no,credible,one,active,super effective,significant,decline +119,yes,no,not credible,multiple,active,super effective,significant,coordinate +120,yes,no,not credible,one,unresponsive,super effective,significant,decline +121,no,yes,credible,multiple,unresponsive,laborious,minimal,coordinate +122,no,yes,credible,multiple,active,efficient,minimal,decline +123,no,yes,credible,one,unresponsive,efficient,minimal,coordinate +124,no,yes,not credible,multiple,unresponsive,efficient,minimal,decline +125,no,no,credible,multiple,unresponsive,efficient,minimal,decline +126,yes,yes,credible,multiple,unresponsive,efficient,minimal,decline +127,no,yes,credible,one,active,super effective,minimal,decline +128,no,yes,not credible,multiple,active,super effective,minimal,track +129,no,no,credible,multiple,active,super effective,minimal,decline +130,yes,yes,credible,multiple,active,super effective,minimal,decline +131,no,yes,not credible,one,unresponsive,super effective,minimal,decline +132,no,no,credible,one,unresponsive,super effective,minimal,decline +133,yes,yes,credible,one,unresponsive,super effective,minimal,decline +134,no,no,not credible,multiple,unresponsive,super effective,minimal,decline +135,yes,yes,not credible,multiple,unresponsive,super effective,minimal,decline +136,yes,no,credible,multiple,unresponsive,super effective,minimal,decline +137,no,yes,credible,multiple,active,laborious,significant,track +138,no,yes,credible,one,unresponsive,laborious,significant,coordinate +139,no,yes,not credible,multiple,unresponsive,laborious,significant,track +140,no,no,credible,multiple,unresponsive,laborious,significant,decline +141,yes,yes,credible,multiple,unresponsive,laborious,significant,decline +142,no,yes,credible,one,active,efficient,significant,track +143,no,yes,not credible,multiple,active,efficient,significant,track +144,no,no,credible,multiple,active,efficient,significant,decline +145,yes,yes,credible,multiple,active,efficient,significant,decline +146,no,yes,not credible,one,unresponsive,efficient,significant,track +147,no,no,credible,one,unresponsive,efficient,significant,decline +148,yes,yes,credible,one,unresponsive,efficient,significant,decline +149,no,no,not credible,multiple,unresponsive,efficient,significant,decline +150,yes,yes,not credible,multiple,unresponsive,efficient,significant,decline +151,yes,no,credible,multiple,unresponsive,efficient,significant,decline +152,no,yes,not credible,one,active,super effective,significant,track +153,no,no,credible,one,active,super effective,significant,decline +154,yes,yes,credible,one,active,super effective,significant,decline +155,no,no,not credible,multiple,active,super effective,significant,coordinate +156,yes,yes,not credible,multiple,active,super effective,significant,coordinate +157,yes,no,credible,multiple,active,super effective,significant,coordinate +158,no,no,not credible,one,unresponsive,super effective,significant,decline +159,yes,yes,not credible,one,unresponsive,super effective,significant,decline +160,yes,no,credible,one,unresponsive,super effective,significant,decline +161,yes,no,not credible,multiple,unresponsive,super effective,significant,coordinate +162,no,yes,credible,multiple,unresponsive,efficient,minimal,coordinate +163,no,yes,credible,multiple,active,super effective,minimal,coordinate +164,no,yes,credible,one,unresponsive,super effective,minimal,coordinate +165,no,yes,not credible,multiple,unresponsive,super effective,minimal,track +166,no,no,credible,multiple,unresponsive,super effective,minimal,decline +167,yes,yes,credible,multiple,unresponsive,super effective,minimal,decline +168,no,yes,credible,multiple,unresponsive,laborious,significant,coordinate +169,no,yes,credible,multiple,active,efficient,significant,track +170,no,yes,credible,one,unresponsive,efficient,significant,coordinate +171,no,yes,not credible,multiple,unresponsive,efficient,significant,track +172,no,no,credible,multiple,unresponsive,efficient,significant,decline +173,yes,yes,credible,multiple,unresponsive,efficient,significant,decline +174,no,yes,credible,one,active,super effective,significant,track +175,no,yes,not credible,multiple,active,super effective,significant,coordinate +176,no,no,credible,multiple,active,super effective,significant,coordinate +177,yes,yes,credible,multiple,active,super effective,significant,coordinate +178,no,yes,not credible,one,unresponsive,super effective,significant,track +179,no,no,credible,one,unresponsive,super effective,significant,decline +180,yes,yes,credible,one,unresponsive,super effective,significant,decline +181,no,no,not credible,multiple,unresponsive,super effective,significant,coordinate +182,yes,yes,not credible,multiple,unresponsive,super effective,significant,coordinate +183,yes,no,credible,multiple,unresponsive,super effective,significant,coordinate +184,no,yes,credible,multiple,unresponsive,super effective,minimal,coordinate +185,no,yes,credible,multiple,unresponsive,efficient,significant,coordinate +186,no,yes,credible,multiple,active,super effective,significant,coordinate +187,no,yes,credible,one,unresponsive,super effective,significant,coordinate +188,no,yes,not credible,multiple,unresponsive,super effective,significant,coordinate +189,no,no,credible,multiple,unresponsive,super effective,significant,coordinate +190,yes,yes,credible,multiple,unresponsive,super effective,significant,coordinate +191,no,yes,credible,multiple,unresponsive,super effective,significant,coordinate diff --git a/data/csv/ssvc/deployer_patch_application_priority_1_0_0.csv b/data/csv/ssvc/deployer_patch_application_priority_1_0_0.csv new file mode 100644 index 00000000..345b4bf0 --- /dev/null +++ b/data/csv/ssvc/deployer_patch_application_priority_1_0_0.csv @@ -0,0 +1,73 @@ +row,Exploitation v1.1.0,System Exposure v1.0.1,Automatable v2.0.0,Human Impact v2.0.2,"Defer, Scheduled, Out-of-Cycle, Immediate v1.0.0" +0,none,small,no,low,defer +1,none,small,no,medium,defer +2,none,small,no,high,scheduled +3,none,small,no,very high,scheduled +4,none,small,yes,low,defer +5,none,small,yes,medium,scheduled +6,none,small,yes,high,scheduled +7,none,small,yes,very high,scheduled +8,none,controlled,no,low,defer +9,none,controlled,no,medium,scheduled +10,none,controlled,no,high,scheduled +11,none,controlled,no,very high,scheduled +12,none,controlled,yes,low,scheduled +13,none,controlled,yes,medium,scheduled +14,none,controlled,yes,high,scheduled +15,none,controlled,yes,very high,scheduled +16,none,open,no,low,defer +17,none,open,no,medium,scheduled +18,none,open,no,high,scheduled +19,none,open,no,very high,scheduled +20,none,open,yes,low,scheduled +21,none,open,yes,medium,scheduled +22,none,open,yes,high,scheduled +23,none,open,yes,very high,out-of-cycle +24,public poc,small,no,low,defer +25,public poc,small,no,medium,scheduled +26,public poc,small,no,high,scheduled +27,public poc,small,no,very high,scheduled +28,public poc,small,yes,low,scheduled +29,public poc,small,yes,medium,scheduled +30,public poc,small,yes,high,scheduled +31,public poc,small,yes,very high,scheduled +32,public poc,controlled,no,low,defer +33,public poc,controlled,no,medium,scheduled +34,public poc,controlled,no,high,scheduled +35,public poc,controlled,no,very high,scheduled +36,public poc,controlled,yes,low,scheduled +37,public poc,controlled,yes,medium,scheduled +38,public poc,controlled,yes,high,scheduled +39,public poc,controlled,yes,very high,out-of-cycle +40,public poc,open,no,low,scheduled +41,public poc,open,no,medium,scheduled +42,public poc,open,no,high,scheduled +43,public poc,open,no,very high,out-of-cycle +44,public poc,open,yes,low,scheduled +45,public poc,open,yes,medium,scheduled +46,public poc,open,yes,high,out-of-cycle +47,public poc,open,yes,very high,out-of-cycle +48,active,small,no,low,scheduled +49,active,small,no,medium,scheduled +50,active,small,no,high,out-of-cycle +51,active,small,no,very high,out-of-cycle +52,active,small,yes,low,scheduled +53,active,small,yes,medium,out-of-cycle +54,active,small,yes,high,out-of-cycle +55,active,small,yes,very high,out-of-cycle +56,active,controlled,no,low,scheduled +57,active,controlled,no,medium,scheduled +58,active,controlled,no,high,out-of-cycle +59,active,controlled,no,very high,out-of-cycle +60,active,controlled,yes,low,out-of-cycle +61,active,controlled,yes,medium,out-of-cycle +62,active,controlled,yes,high,out-of-cycle +63,active,controlled,yes,very high,out-of-cycle +64,active,open,no,low,scheduled +65,active,open,no,medium,out-of-cycle +66,active,open,no,high,out-of-cycle +67,active,open,no,very high,immediate +68,active,open,yes,low,out-of-cycle +69,active,open,yes,medium,out-of-cycle +70,active,open,yes,high,immediate +71,active,open,yes,very high,immediate diff --git a/data/csv/ssvc/human_impact_1_0_0.csv b/data/csv/ssvc/human_impact_1_0_0.csv new file mode 100644 index 00000000..b100b9c7 --- /dev/null +++ b/data/csv/ssvc/human_impact_1_0_0.csv @@ -0,0 +1,17 @@ +row,Safety Impact v2.0.0,Mission Impact v2.0.0,Human Impact v2.0.2 +0,negligible,degraded,low +1,negligible,mef support crippled,low +2,negligible,mef failure,medium +3,negligible,mission failure,very high +4,marginal,degraded,low +5,marginal,mef support crippled,low +6,marginal,mef failure,medium +7,marginal,mission failure,very high +8,critical,degraded,medium +9,critical,mef support crippled,high +10,critical,mef failure,high +11,critical,mission failure,very high +12,catastrophic,degraded,very high +13,catastrophic,mef support crippled,very high +14,catastrophic,mef failure,very high +15,catastrophic,mission failure,very high diff --git a/data/csv/ssvc/public_safety_impact_1_0_0.csv b/data/csv/ssvc/public_safety_impact_1_0_0.csv new file mode 100644 index 00000000..e515a840 --- /dev/null +++ b/data/csv/ssvc/public_safety_impact_1_0_0.csv @@ -0,0 +1,5 @@ +row,Safety Impact v2.0.0,Public Safety Impact v2.0.1 +0,negligible,minimal +1,marginal,significant +2,critical,significant +3,catastrophic,significant diff --git a/data/csv/ssvc/supplier_patch_development_priority_1_0_0.csv b/data/csv/ssvc/supplier_patch_development_priority_1_0_0.csv new file mode 100644 index 00000000..b3a02936 --- /dev/null +++ b/data/csv/ssvc/supplier_patch_development_priority_1_0_0.csv @@ -0,0 +1,37 @@ +row,Exploitation v1.1.0,Utility v1.0.1,Technical Impact v1.0.0,Public Safety Impact v2.0.1,"Defer, Scheduled, Out-of-Cycle, Immediate v1.0.0" +0,none,laborious,partial,minimal,defer +1,none,laborious,partial,significant,scheduled +2,none,laborious,total,minimal,scheduled +3,none,laborious,total,significant,out-of-cycle +4,none,efficient,partial,minimal,scheduled +5,none,efficient,partial,significant,out-of-cycle +6,none,efficient,total,minimal,scheduled +7,none,efficient,total,significant,out-of-cycle +8,none,super effective,partial,minimal,scheduled +9,none,super effective,partial,significant,out-of-cycle +10,none,super effective,total,minimal,out-of-cycle +11,none,super effective,total,significant,out-of-cycle +12,public poc,laborious,partial,minimal,scheduled +13,public poc,laborious,partial,significant,out-of-cycle +14,public poc,laborious,total,minimal,scheduled +15,public poc,laborious,total,significant,immediate +16,public poc,efficient,partial,minimal,scheduled +17,public poc,efficient,partial,significant,immediate +18,public poc,efficient,total,minimal,out-of-cycle +19,public poc,efficient,total,significant,immediate +20,public poc,super effective,partial,minimal,out-of-cycle +21,public poc,super effective,partial,significant,immediate +22,public poc,super effective,total,minimal,out-of-cycle +23,public poc,super effective,total,significant,immediate +24,active,laborious,partial,minimal,out-of-cycle +25,active,laborious,partial,significant,immediate +26,active,laborious,total,minimal,out-of-cycle +27,active,laborious,total,significant,immediate +28,active,efficient,partial,minimal,out-of-cycle +29,active,efficient,partial,significant,immediate +30,active,efficient,total,minimal,out-of-cycle +31,active,efficient,total,significant,immediate +32,active,super effective,partial,minimal,immediate +33,active,super effective,partial,significant,immediate +34,active,super effective,total,minimal,immediate +35,active,super effective,total,significant,immediate diff --git a/data/csv/ssvc/utility_1_0_0.csv b/data/csv/ssvc/utility_1_0_0.csv new file mode 100644 index 00000000..5bdd4fcc --- /dev/null +++ b/data/csv/ssvc/utility_1_0_0.csv @@ -0,0 +1,5 @@ +row,Automatable v2.0.0,Value Density v1.0.0,Utility v1.0.1 +0,no,diffuse,laborious +1,no,concentrated,efficient +2,yes,diffuse,efficient +3,yes,concentrated,super effective diff --git a/data/csvs b/data/csvs new file mode 120000 index 00000000..c3f45170 --- /dev/null +++ b/data/csvs @@ -0,0 +1 @@ +csv \ No newline at end of file diff --git a/data/csvs/README b/data/csvs/README deleted file mode 100644 index 6985a664..00000000 --- a/data/csvs/README +++ /dev/null @@ -1,10 +0,0 @@ -These delimter separated lists are for convenience. -If there is a conflict with an associated JSON schema, the JSON takes precedence. - -A skeleton for filling in a csv table can be generated using ../src/enumerate*.sh -That is mostly useful if you want to customize your risk posture by changing the priority for some situations. - -These CSV files are used as input to ../src/SSVC_csv-to-latex.py as part of the pipeline for creating the pretty static images of the trees used in the PDF document. - -The folder child_trees contain CSV files that contribute to a Combined Value of two child decision points for e.g., the Human Impact is a combination of Situated Safety Impact and Mission Impact. In the future these will be created a Child trees in SSVC schema. - diff --git a/data/csvs/child_trees/human-impact.csv b/data/csvs/child_trees/human-impact.csv deleted file mode 100644 index 03c75179..00000000 --- a/data/csvs/child_trees/human-impact.csv +++ /dev/null @@ -1,21 +0,0 @@ - Situated Safety Impact , Mission Impact , Human Impact - None , Degraded , Low - None , Crippled , Low - None , MEF Failure , Medium - None , Mission Failure , Very High - Minor , Degraded , Low - Minor , Crippled , Low - Minor , MEF Failure , Medium - Minor , Mission Failure , Very High - Major , Degraded , Medium - Major , Crippled , Medium - Major , MEF Failure , High - Major , Mission Failure , Very High - Hazardous , Degraded , High - Hazardous , Crippled , High - Hazardous , MEF Failure , High - Hazardous , Mission Failure , Very High - Catastrophic , Degraded , Very High - Catastrophic , Crippled , Very High - Catastrophic , MEF Failure , Very High - Catastrophic , Mission Failure , Very High diff --git a/data/csvs/child_trees/mission-and-well-being.csv b/data/csvs/child_trees/mission-and-well-being.csv deleted file mode 100644 index f24af30c..00000000 --- a/data/csvs/child_trees/mission-and-well-being.csv +++ /dev/null @@ -1,10 +0,0 @@ -Mission Prevalence , Public Well-being Impact , Mission and Well-being Impact -minimal , minimal , low -minimal , material , medium -minimal , irreversible, high -support , minimal , medium -support , material , medium -support , irreversible, high -essential , minimal , high -essential , material , high -essential , irreversible, high diff --git a/data/csvs/child_trees/utility.csv b/data/csvs/child_trees/utility.csv deleted file mode 100644 index 15b6e6e8..00000000 --- a/data/csvs/child_trees/utility.csv +++ /dev/null @@ -1,5 +0,0 @@ - Automatable , Value Density , Utility - no , diffuse , laborious - no , concentrated , efficient - yes , diffuse , efficient - yes , concentrated , super effective diff --git a/data/csvs/coord-publish-options.csv b/data/csvs/coord-publish-options.csv deleted file mode 100644 index 10da468e..00000000 --- a/data/csvs/coord-publish-options.csv +++ /dev/null @@ -1,28 +0,0 @@ -row,Supplier involvement,Exploitation,Value added,Priority -1,fix ready,none,precedence,publish -2,fix ready,none,ampliative,don't publish -3,fix ready,none,limited,don't publish -4,fix ready,PoC,precedence,publish -5,fix ready,PoC,ampliative,don't publish -6,fix ready,PoC,limited,don't publish -7,fix ready,active,precedence,publish -8,fix ready,active,ampliative,publish -9,fix ready,active,limited,don't publish -10,cooperative,none,precedence,publish -11,cooperative,none,ampliative,don't publish -12,cooperative,none,limited,don't publish -13,cooperative,PoC,precedence,publish -14,cooperative,PoC,ampliative,don't publish -15,cooperative,PoC,limited,don't publish -16,cooperative,active,precedence,publish -17,cooperative,active,ampliative,publish -18,cooperative,active,limited,don't publish -19,uncoop/unresponsive,none,precedence,publish -20,uncoop/unresponsive,none,ampliative,don't publish -21,uncoop/unresponsive,none,limited,don't publish -22,uncoop/unresponsive,PoC,precedence,publish -23,uncoop/unresponsive,PoC,ampliative,publish -24,uncoop/unresponsive,PoC,limited,don't publish -25,uncoop/unresponsive,active,precedence,publish -26,uncoop/unresponsive,active,ampliative,publish -27,uncoop/unresponsive,active,limited,publish diff --git a/data/csvs/coord-triage-options.csv b/data/csvs/coord-triage-options.csv deleted file mode 100644 index 4f40e1d1..00000000 --- a/data/csvs/coord-triage-options.csv +++ /dev/null @@ -1,85 +0,0 @@ -row,Public,Contacted,Report_Credibility,Cardinality,Engagement,Utility,Public_Safety_Impact,Priority -1,no,yes,no,one,active,laborious,minimal,decline -2,no,yes,no,one,active,laborious,significant,decline -3,no,yes,no,one,active,efficient,minimal,decline -4,no,yes,no,one,active,efficient,significant,track -5,no,yes,no,one,active,super effective,minimal,decline -6,no,yes,no,one,active,super effective,significant,track -7,no,yes,no,one,unresponsive,laborious,minimal,decline -8,no,yes,no,one,unresponsive,laborious,significant,decline -9,no,yes,no,one,unresponsive,efficient,minimal,decline -10,no,yes,no,one,unresponsive,efficient,significant,track -11,no,yes,no,one,unresponsive,super effective,minimal,decline -12,no,yes,no,one,unresponsive,super effective,significant,track -13,no,yes,no,multiple,active,laborious,minimal,decline -14,no,yes,no,multiple,active,laborious,significant,track -15,no,yes,no,multiple,active,efficient,minimal,decline -16,no,yes,no,multiple,active,efficient,significant,track -17,no,yes,no,multiple,active,super effective,minimal,track -18,no,yes,no,multiple,active,super effective,significant,coordinate -19,no,yes,no,multiple,unresponsive,laborious,minimal,decline -20,no,yes,no,multiple,unresponsive,laborious,significant,track -21,no,yes,no,multiple,unresponsive,efficient,minimal,decline -22,no,yes,no,multiple,unresponsive,efficient,significant,track -23,no,yes,no,multiple,unresponsive,super effective,minimal,track -24,no,yes,no,multiple,unresponsive,super effective,significant,coordinate -25,no,yes,yes,one,active,laborious,minimal,decline -26,no,yes,yes,one,active,laborious,significant,decline -27,no,yes,yes,one,active,efficient,minimal,decline -28,no,yes,yes,one,active,efficient,significant,track -29,no,yes,yes,one,active,super effective,minimal,decline -30,no,yes,yes,one,active,super effective,significant,track -31,no,yes,yes,one,unresponsive,laborious,minimal,track -32,no,yes,yes,one,unresponsive,laborious,significant,coordinate -33,no,yes,yes,one,unresponsive,efficient,minimal,coordinate -34,no,yes,yes,one,unresponsive,efficient,significant,coordinate -35,no,yes,yes,one,unresponsive,super effective,minimal,coordinate -36,no,yes,yes,one,unresponsive,super effective,significant,coordinate -37,no,yes,yes,multiple,active,laborious,minimal,decline -38,no,yes,yes,multiple,active,laborious,significant,track -39,no,yes,yes,multiple,active,efficient,minimal,decline -40,no,yes,yes,multiple,active,efficient,significant,track -41,no,yes,yes,multiple,active,super effective,minimal,coordinate -42,no,yes,yes,multiple,active,super effective,significant,coordinate -43,no,yes,yes,multiple,unresponsive,laborious,minimal,coordinate -44,no,yes,yes,multiple,unresponsive,laborious,significant,coordinate -45,no,yes,yes,multiple,unresponsive,efficient,minimal,coordinate -46,no,yes,yes,multiple,unresponsive,efficient,significant,coordinate -47,no,yes,yes,multiple,unresponsive,super effective,minimal,coordinate -48,no,yes,yes,multiple,unresponsive,super effective,significant,coordinate -49,yes,yes,no,multiple,active,super effective,significant,coordinate -50,yes,yes,no,multiple,unresponsive,super effective,significant,coordinate -51,yes,yes,yes,multiple,active,super effective,significant,coordinate -52,yes,yes,yes,multiple,unresponsive,super effective,significant,coordinate -53,yes,no,no,multiple,active,super effective,significant,coordinate -54,yes,no,no,multiple,unresponsive,super effective,significant,coordinate -55,yes,no,yes,multiple,active,super effective,significant,coordinate -56,yes,no,yes,multiple,unresponsive,super effective,significant,coordinate -57,yes,yes,no,one,active,laborious,minimal,decline -58,yes,yes,no,one,active,efficient,minimal,decline -59,yes,yes,no,one,unresponsive,laborious,minimal,decline -60,yes,yes,no,one,unresponsive,efficient,minimal,decline -61,yes,yes,yes,one,active,laborious,minimal,decline -62,yes,yes,yes,one,active,efficient,minimal,decline -63,yes,yes,yes,one,unresponsive,laborious,minimal,decline -64,yes,yes,yes,one,unresponsive,efficient,minimal,decline -65,yes,no,no,one,active,laborious,minimal,decline -66,yes,no,no,one,active,efficient,minimal,decline -67,yes,no,no,one,unresponsive,laborious,minimal,decline -68,yes,no,no,one,unresponsive,efficient,minimal,decline -69,yes,no,yes,one,active,laborious,minimal,decline -70,yes,no,yes,one,active,efficient,minimal,decline -71,yes,no,yes,one,unresponsive,laborious,minimal,decline -72,yes,no,yes,one,unresponsive,efficient,minimal,decline -73,no,no,no,multiple,active,super effective,significant,coordinate -74,no,no,no,multiple,unresponsive,super effective,significant,coordinate -75,no,no,yes,multiple,active,super effective,significant,coordinate -76,no,no,yes,multiple,unresponsive,super effective,significant,coordinate -77,no,no,no,one,active,laborious,minimal,decline -78,no,no,no,one,active,efficient,minimal,decline -79,no,no,no,one,unresponsive,laborious,minimal,decline -80,no,no,no,one,unresponsive,efficient,minimal,decline -81,no,no,yes,one,active,laborious,minimal,decline -82,no,no,yes,one,active,efficient,minimal,decline -83,no,no,yes,one,unresponsive,laborious,minimal,decline -84,no,no,yes,one,unresponsive,efficient,minimal,decline diff --git a/data/csvs/deployer-options.csv b/data/csvs/deployer-options.csv deleted file mode 100644 index 6b9a8791..00000000 --- a/data/csvs/deployer-options.csv +++ /dev/null @@ -1,73 +0,0 @@ -row,Exploitation,Exposure,Automatable,Human Impact,Priority -1,none,small,no,low,defer -2,none,small,no,medium,defer -3,none,small,no,high,scheduled -4,none,small,no,very high,scheduled -5,none,small,yes,low,defer -6,none,small,yes,medium,scheduled -7,none,small,yes,high,scheduled -8,none,small,yes,very high,scheduled -9,none,controlled,no,low,defer -10,none,controlled,no,medium,scheduled -11,none,controlled,no,high,scheduled -12,none,controlled,no,very high,scheduled -13,none,controlled,yes,low,scheduled -14,none,controlled,yes,medium,scheduled -15,none,controlled,yes,high,scheduled -16,none,controlled,yes,very high,scheduled -17,none,open,no,low,defer -18,none,open,no,medium,scheduled -19,none,open,no,high,scheduled -20,none,open,no,very high,scheduled -21,none,open,yes,low,scheduled -22,none,open,yes,medium,scheduled -23,none,open,yes,high,scheduled -24,none,open,yes,very high,out-of-cycle -25,PoC,small,no,low,defer -26,PoC,small,no,medium,scheduled -27,PoC,small,no,high,scheduled -28,PoC,small,no,very high,scheduled -29,PoC,small,yes,low,scheduled -30,PoC,small,yes,medium,scheduled -31,PoC,small,yes,high,scheduled -32,PoC,small,yes,very high,scheduled -33,PoC,controlled,no,low,defer -34,PoC,controlled,no,medium,scheduled -35,PoC,controlled,no,high,scheduled -36,PoC,controlled,no,very high,scheduled -37,PoC,controlled,yes,low,scheduled -38,PoC,controlled,yes,medium,scheduled -39,PoC,controlled,yes,high,scheduled -40,PoC,controlled,yes,very high,out-of-cycle -41,PoC,open,no,low,scheduled -42,PoC,open,no,medium,scheduled -43,PoC,open,no,high,scheduled -44,PoC,open,no,very high,out-of-cycle -45,PoC,open,yes,low,scheduled -46,PoC,open,yes,medium,scheduled -47,PoC,open,yes,high,out-of-cycle -48,PoC,open,yes,very high,out-of-cycle -49,active,small,no,low,scheduled -50,active,small,no,medium,scheduled -51,active,small,no,high,out-of-cycle -52,active,small,no,very high,out-of-cycle -53,active,small,yes,low,scheduled -54,active,small,yes,medium,out-of-cycle -55,active,small,yes,high,out-of-cycle -56,active,small,yes,very high,out-of-cycle -57,active,controlled,no,low,scheduled -58,active,controlled,no,medium,scheduled -59,active,controlled,no,high,out-of-cycle -60,active,controlled,no,very high,out-of-cycle -61,active,controlled,yes,low,out-of-cycle -62,active,controlled,yes,medium,out-of-cycle -63,active,controlled,yes,high,out-of-cycle -64,active,controlled,yes,very high,out-of-cycle -65,active,open,no,low,scheduled -66,active,open,no,medium,out-of-cycle -67,active,open,no,high,out-of-cycle -68,active,open,no,very high,immediate -69,active,open,yes,low,out-of-cycle -70,active,open,yes,medium,out-of-cycle -71,active,open,yes,high,immediate -72,active,open,yes,very high,immediate diff --git a/data/csvs/mapped_trees/public-safety-impact.csv b/data/csvs/mapped_trees/public-safety-impact.csv deleted file mode 100644 index fdf6859a..00000000 --- a/data/csvs/mapped_trees/public-safety-impact.csv +++ /dev/null @@ -1,6 +0,0 @@ -Safety Impact , Public Safety Impact -none , minimal -minor , minimal -major , significant -hazardous , significant -catastrophic , significant diff --git a/data/csvs/supplier-options.csv b/data/csvs/supplier-options.csv deleted file mode 100644 index 72148dd8..00000000 --- a/data/csvs/supplier-options.csv +++ /dev/null @@ -1,37 +0,0 @@ -row,Exploitation,Utility,Technical Impact,Public-Safety Impact,Priority -1,none,laborious,partial,minimal,defer -2,none,laborious,partial,significant,scheduled -3,none,laborious,total,minimal,scheduled -4,none,laborious,total,significant,out-of-cycle -5,none,efficient,partial,minimal,scheduled -6,none,efficient,partial,significant,out-of-cycle -7,none,efficient,total,minimal,scheduled -8,none,efficient,total,significant,out-of-cycle -9,none,super effective,partial,minimal,scheduled -10,none,super effective,partial,significant,out-of-cycle -11,none,super effective,total,minimal,out-of-cycle -12,none,super effective,total,significant,out-of-cycle -13,PoC,laborious,partial,minimal,scheduled -14,PoC,laborious,partial,significant,out-of-cycle -15,PoC,laborious,total,minimal,scheduled -16,PoC,laborious,total,significant,immediate -17,PoC,efficient,partial,minimal,scheduled -18,PoC,efficient,partial,significant,immediate -19,PoC,efficient,total,minimal,out-of-cycle -20,PoC,efficient,total,significant,immediate -21,PoC,super effective,partial,minimal,out-of-cycle -22,PoC,super effective,partial,significant,immediate -23,PoC,super effective,total,minimal,out-of-cycle -24,PoC,super effective,total,significant,immediate -25,active,laborious,partial,minimal,out-of-cycle -26,active,laborious,partial,significant,immediate -27,active,laborious,total,minimal,out-of-cycle -28,active,laborious,total,significant,immediate -29,active,efficient,partial,minimal,out-of-cycle -30,active,efficient,partial,significant,immediate -31,active,efficient,total,minimal,out-of-cycle -32,active,efficient,total,significant,immediate -33,active,super effective,partial,minimal,immediate -34,active,super effective,partial,significant,immediate -35,active,super effective,total,minimal,immediate -36,active,super effective,total,significant,immediate diff --git a/src/pyproject.toml b/src/pyproject.toml index 3025fbb9..3320affd 100644 --- a/src/pyproject.toml +++ b/src/pyproject.toml @@ -55,6 +55,7 @@ dynamic = ["version",] [project.scripts] ssvc_csv_analyzer="ssvc.csv_analyzer:main" +ssvc_doctools="ssvc.doctools:main" [project.urls] "Homepage" = "https://certcc.github.io/SSVC" diff --git a/src/ssvc/doctools.py b/src/ssvc/doctools.py index 3d11b3fc..873a3df1 100755 --- a/src/ssvc/doctools.py +++ b/src/ssvc/doctools.py @@ -45,7 +45,10 @@ DecisionPoint, ) from ssvc.decision_points.ssvc.base import SsvcDecisionPoint -from ssvc.decision_tables.base import DecisionTable +from ssvc.decision_tables.base import ( + DecisionTable, + decision_table_to_longform_df, +) from ssvc.registry import get_registry from ssvc.registry.base import SsvcObjectRegistry, get_all from ssvc.selection import SelectionList @@ -306,21 +309,53 @@ def dump_decision_table( logger.warning( f"File {json_file} already exists, use --overwrite to replace" ) - return str(json_file) + + +def dump_decision_table_csv( + csvdir: str, dt: DecisionTable, overwrite: bool +) -> None: + basename = ( + _filename_friendly(dt.name) + f"_{_filename_friendly(dt.version)}" + ) + filename = f"{basename}.csv" + parts = [ + csvdir, + ] + parts.append(_filename_friendly(dt.namespace)) + dirname = os.path.join(*parts) + parts.append(filename) + csv_file = os.path.join(*parts) + if overwrite: + remove_if_exists(csv_file) + with EnsureDirExists(dirname): + try: + logger.info("Writing {csv_file}") + with open(csv_file, "x") as f: + df = decision_table_to_longform_df(dt=dt) + # set the index title + df.index.name = "row" + f.write(df.to_csv(index=True)) + except FileExistsError: + logger.warning( + f"File {csv_file} already exists, use --overwrite to replace" + ) def main(): - # we are going to generate three files for each decision point: - # - a markdown table that can be used in the decision point documentation - # - a json example that can be used in the decision point documentation - # - a markdown file that builds an mkdocs table to switch between the markdown description and the json - # example using markdown-include plugin of mkdocs + """Generate the json examples for decision points and decision tables. + + Emits the following files: + - json examples for each decision point in datadir/json/decision_points// + - json examples for each decision table in datadir/json/decision_tables// + - csv examples for each decision table in datadir/csv// + - the ssvc object registry in datadir/json/ssvc_object_registry.json + - the json schemas for decision points, decision tables, selection lists, and the registry in datadir/schema/v2/ + """ - # parse command line args import argparse parser = argparse.ArgumentParser( - description="Generate decision point documentation" + description="Generate json, json schema, and csv examples for SSVC Decision Points and Decision Tables" ) parser.add_argument( "--overwrite", @@ -330,12 +365,13 @@ def main(): ) parser.add_argument( - "--jsondir", help="json output directory", default="./tmp/json_out" + "--datadir", help="json output directory", default="./tmp" ) args = parser.parse_args() overwrite = args.overwrite - jsondir = args.jsondir + jsondir = os.path.join(os.path.abspath(args.datadir), "json") + csvdir = os.path.join(os.path.abspath(args.datadir), "csv") dp_dir = os.path.join(os.path.abspath(jsondir), "decision_points") dt_dir = os.path.join(os.path.abspath(jsondir), "decision_tables") @@ -357,6 +393,7 @@ def main(): # for each decision table: for dt in get_all("DecisionTable", registry=registry): dump_decision_table(dt_dir, dt, overwrite) + dump_decision_table_csv(csvdir, dt, overwrite) # dump the registry registry_json = os.path.join(jsondir, "ssvc_object_registry.json")