From 4ca3185e81243912281e6cbe53f1dcf63e6dcf98 Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 13 Feb 2025 14:14:50 +0000 Subject: [PATCH 1/6] Add 'Validation Component' Constraints --- features/fedramp_extensions.feature | 12 +++++++++++ .../ssp/xml/fedramp-ssp-example.oscal.xml | 8 ++++---- ...-valid-validation-details-link-INVALID.xml | 10 ++++++++++ ...nt-has-validation-details-link-INVALID.xml | 9 +++++++++ ...onent-has-validation-reference-INVALID.xml | 9 +++++++++ ...n-reference-has-correct-format-INVALID.xml | 10 ++++++++++ .../fedramp-external-constraints.xml | 20 +++++++++++++++++++ ...as-valid-validation-details-link-FAIL.yaml | 9 +++++++++ ...as-valid-validation-details-link-PASS.yaml | 9 +++++++++ ...nent-has-validation-details-link-FAIL.yaml | 9 +++++++++ ...nent-has-validation-details-link-PASS.yaml | 9 +++++++++ ...mponent-has-validation-reference-FAIL.yaml | 9 +++++++++ ...mponent-has-validation-reference-PASS.yaml | 9 +++++++++ ...ion-reference-has-correct-format-FAIL.yaml | 9 +++++++++ ...ion-reference-has-correct-format-PASS.yaml | 9 +++++++++ 15 files changed, 146 insertions(+), 4 deletions(-) create mode 100644 src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml create mode 100644 src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml create mode 100644 src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml create mode 100644 src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml create mode 100644 src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index 8e4ca3a19..f40ff8c74 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -43,6 +43,9 @@ Examples: | component-has-non-provider-responsible-role | | component-has-provider-responsible-role | | component-has-used-by-link | + | component-has-valid-validation-details-link | + | component-has-validation-details-link | + | component-has-validation-reference | | component-type | | connection-security | | control-implementation-status | @@ -195,6 +198,7 @@ Examples: | user-privilege-level | | user-sensitivity-level | | user-type | + | validation-reference-has-correct-format | #END_DYNAMIC_CONSTRAINT_IDS @constraints @@ -246,6 +250,12 @@ Examples: | component-has-non-provider-responsible-role-PASS.yaml | | component-has-used-by-link-FAIL.yaml | | component-has-used-by-link-PASS.yaml | + | component-has-valid-validation-details-link-FAIL.yaml | + | component-has-valid-validation-details-link-PASS.yaml | + | component-has-validation-details-link-FAIL.yaml | + | component-has-validation-details-link-PASS.yaml | + | component-has-validation-reference-FAIL.yaml | + | component-has-validation-reference-PASS.yaml | | component-responsible-role-references-party-FAIL.yaml | | component-responsible-role-references-party-PASS.yaml | | component-type-FAIL.yaml | @@ -552,6 +562,8 @@ Examples: | user-sensitivity-level-PASS.yaml | | user-type-FAIL.yaml | | user-type-PASS.yaml | + | validation-reference-has-correct-format-FAIL.yaml | + | validation-reference-has-correct-format-PASS.yaml | #END_DYNAMIC_TEST_CASES @style-guide diff --git a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml index c83b28345..038ae17f4 100644 --- a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml +++ b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml @@ -1712,8 +1712,8 @@ compliance (e.g., Module in Process).

- - + + @@ -1731,8 +1731,8 @@ compliance (e.g., Module in Process).

- - + + diff --git a/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml new file mode 100644 index 000000000..dd0164901 --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-valid-validation-details-link-INVALID.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml new file mode 100644 index 000000000..85508274b --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-validation-details-link-INVALID.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml b/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml new file mode 100644 index 000000000..c9f79c94b --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-validation-reference-INVALID.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml b/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml new file mode 100644 index 000000000..7200ae3af --- /dev/null +++ b/src/validations/constraints/content/ssp-validation-reference-has-correct-format-INVALID.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 43dfdde1d..bb367bbc0 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -8,6 +8,21 @@ + + Component Has Valid Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a valid validation details link. + + + Component Has Proof of Compliance Link + + In a FedRAMP SSP, a validation component MUST include a validation details link. + + + Component Has Validation Reference + + In a FedRAMP SSP, a validation component MUST include a validation reference. + Cryptographic Module Component Has Function @@ -28,6 +43,11 @@ In a FedRAMP SSP, a crytographic module component MUST include at least one "validation" link. + + Validation Reference Has Correct Format + + In a FedRAMP SSP, a validation component MUST include a validation reference with the correct 4-digit format. + diff --git a/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml new file mode 100644 index 000000000..b64e61034 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-valid-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-valid-validation-details-link + content: ../content/ssp-component-has-valid-validation-details-link-INVALID.xml + expectations: + - constraint-id: component-has-valid-validation-details-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml new file mode 100644 index 000000000..506404854 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-valid-validation-details-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-valid-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-valid-validation-details-link + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-valid-validation-details-link + result: pass diff --git a/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml new file mode 100644 index 000000000..bfa7032df --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-details-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-validation-details-link + description: >- + This test case validates the behavior of constraint + component-has-validation-details-link + content: ../content/ssp-component-has-validation-details-link-INVALID.xml + expectations: + - constraint-id: component-has-validation-details-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml new file mode 100644 index 000000000..a6faf52c0 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-validation-details + description: >- + This test case validates the behavior of constraint + component-has-validation-details + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-validation-details + result: pass diff --git a/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml new file mode 100644 index 000000000..6cfebf2da --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-reference-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-validation-reference + description: >- + This test case validates the behavior of constraint + component-has-validation-reference + content: ../content/ssp-component-has-validation-reference-INVALID.xml + expectations: + - constraint-id: component-has-validation-reference + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml b/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml new file mode 100644 index 000000000..16176ce65 --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-validation-reference-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-validation-reference + description: >- + This test case validates the behavior of constraint + component-has-validation-reference + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-validation-reference + result: pass diff --git a/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml new file mode 100644 index 000000000..10c685575 --- /dev/null +++ b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for validation-reference-has-correct-format + description: >- + This test case validates the behavior of constraint + validation-reference-has-correct-format + content: ../content/ssp-validation-reference-has-correct-format-INVALID.xml + expectations: + - constraint-id: validation-reference-has-correct-format + result: fail diff --git a/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml new file mode 100644 index 000000000..102bebecd --- /dev/null +++ b/src/validations/constraints/unit-tests/validation-reference-has-correct-format-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for validation-reference-has-correct-format + description: >- + This test case validates the behavior of constraint + validation-reference-has-correct-format + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: validation-reference-has-correct-format + result: pass From 0c4f93f3b03c01dd660ddd155d3ccab9947c442c Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 20 Feb 2025 10:14:38 -0500 Subject: [PATCH 2/6] Update src/validations/constraints/fedramp-external-constraints.xml Co-authored-by: A.J. Stein --- src/validations/constraints/fedramp-external-constraints.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index bb367bbc0..0cca3a7d5 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -46,7 +46,7 @@ Validation Reference Has Correct Format - In a FedRAMP SSP, a validation component MUST include a validation reference with the correct 4-digit format. + In a FedRAMP SSP, a cryptography validation component MUST include a validation reference with the correct 4-digit format. From fc91c956047e7e445dcd894dc1de08545a242243 Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 20 Feb 2025 10:14:59 -0500 Subject: [PATCH 3/6] Update src/validations/constraints/fedramp-external-constraints.xml Co-authored-by: A.J. Stein --- src/validations/constraints/fedramp-external-constraints.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 0cca3a7d5..79e8d2f7f 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -21,7 +21,7 @@ Component Has Validation Reference - In a FedRAMP SSP, a validation component MUST include a validation reference. + In a FedRAMP SSP, a cryptography validation component MUST include a validation reference. Cryptographic Module Component Has Function From a4c98f7d3d7b00c54a398ecca2a596e60558b52e Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 20 Feb 2025 10:15:20 -0500 Subject: [PATCH 4/6] Update src/validations/constraints/fedramp-external-constraints.xml Co-authored-by: A.J. Stein --- src/validations/constraints/fedramp-external-constraints.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 79e8d2f7f..9ff36d7f0 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -16,7 +16,7 @@ Component Has Proof of Compliance Link - In a FedRAMP SSP, a validation component MUST include a validation details link. + In a FedRAMP SSP, a cryptography validation component MUST include a validation details link. Component Has Validation Reference From 3992a25d496f642866d7465190a8f2492900e375 Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 20 Feb 2025 10:15:38 -0500 Subject: [PATCH 5/6] Update src/validations/constraints/fedramp-external-constraints.xml Co-authored-by: A.J. Stein --- src/validations/constraints/fedramp-external-constraints.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 9ff36d7f0..668fa2bd8 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -11,7 +11,7 @@ Component Has Valid Proof of Compliance Link - In a FedRAMP SSP, a validation component MUST include a valid validation details link. + In a FedRAMP SSP, a cryptography validation component MUST include a valid validation details link. Component Has Proof of Compliance Link From 998056a4a020728db1fbc571716c843f812801ac Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Thu, 20 Feb 2025 15:22:33 +0000 Subject: [PATCH 6/6] Fix Unit Tests --- .../component-has-validation-details-link-PASS.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml index a6faf52c0..94d9a5a4f 100644 --- a/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml +++ b/src/validations/constraints/unit-tests/component-has-validation-details-link-PASS.yaml @@ -1,9 +1,9 @@ test-case: - name: Positive Test for component-has-validation-details + name: Positive Test for component-has-validation-details-link description: >- This test case validates the behavior of constraint - component-has-validation-details + component-has-validation-details-link content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml expectations: - - constraint-id: component-has-validation-details + - constraint-id: component-has-validation-details-link result: pass