Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/fedramp citations #985

Closed
wants to merge 27 commits into from

Conversation

wandmagic
Copy link
Collaborator

@wandmagic wandmagic commented Dec 10, 2024

Committer Notes

Add FedRAMP SSP OSCAL Validation Constraints for Required Attachments
This PR addresses https://github.com/GSA/fedramp-automation/815 regarding automated completeness checks for OSCAL-based SSPs.

User Story Implementation
Implements automated verification of OSCAL-based SSP completeness through metaschema constraints, specifically:

✓ Added checks for standard FedRAMP attachments (E-Authentication)
✓ Implemented validation for FedRAMP Citations reference

All Submissions:

By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.

@wandmagic wandmagic requested a review from a team as a code owner December 10, 2024 16:25
@wandmagic wandmagic marked this pull request as draft December 10, 2024 16:28
@wandmagic wandmagic marked this pull request as ready for review December 10, 2024 17:11
@aj-stein-gsa aj-stein-gsa linked an issue Dec 10, 2024 that may be closed by this pull request
9 tasks
@aj-stein-gsa
Copy link
Contributor

Tangential comment: I just noticed the use of ✓ Unicode char in the checklist instead of the box, slick. 😄

Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok, but there are a lot of other constraints that are out of scope for the requirements I see current in #815 and not in develop. I know this is a revived branch so is there more here than just a rebase?

If you want we can discuss quickly in Google Chat or on a call if I am missing something obvious.

Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per discussion in chat, can you confirm the PIA constraint and files should be removed and confirm the DIL Worksheet one is the issue I guessed (but appears to be coded with an old attachment approach)? I looked at the backlog what you picked up, the second one I need your help to make an educated guess.

wandmagic and others added 7 commits December 10, 2024 19:42
commit f010473
Author: wandmagic <[email protected]>
Date:   Tue Dec 10 15:08:00 2024 -0500

    re-introduce implemented-requirements constraints (GSA#981)

    * re-introduce implemented-requirements constraints

    * add doc available check for health url

    * fix spacing

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: Gabeblis <[email protected]>

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: Gabeblis <[email protected]>

    ---------

    Co-authored-by: Gabeblis <[email protected]>

commit c0ad00e
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 17:17:47 2024 -0500

    Adjust link for all profiles (GSA#979)

commit 8561600
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 11:27:48 2024 -0500

    Add Components To `information-type-800-60-v2r1` Allowed Values (GSA#973)

    * Add Leveraged Authorizations and External, Interconnected, and Unauthorized Systems components to information-type allowed values

    * Adjust constraint target

commit 788b67e
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 09:32:35 2024 -0500

    Fix constraint targets (GSA#974)

commit 9d7946c
Author: A.J. Stein <[email protected]>
Date:   Fri Dec 6 17:10:04 2024 -0500

    [chore] Update container image to cli v2.4.0 (GSA#971)

commit b2c9712
Author: Gabeblis <[email protected]>
Date:   Fri Dec 6 15:26:04 2024 -0500

    Add `used-by-link-references-component` constraint (GSA#972)

    * Add 'used-by-link-references-component' constraint

    * Fix message

    Co-authored-by: Kylie Hunter <[email protected]>

    * fix message

    Co-authored-by: DimitriZhurkin <[email protected]>

    ---------

    Co-authored-by: Kylie Hunter <[email protected]>
    Co-authored-by: DimitriZhurkin <[email protected]>

commit 3dac668
Author: Gabeblis <[email protected]>
Date:   Fri Dec 6 13:43:16 2024 -0500

    Add `component-has-used-by-link` constraint (GSA#970)

    * Add constraint 'protocol-has-used-by-link'

    * Fix message

    * Change constraint id

    * Fix message (last time)

    * Update src/validations/constraints/content/ssp-component-has-used-by-link-INVALID.xml

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit c3db2b2
Author: DimitriZhurkin <[email protected]>
Date:   Thu Dec 5 13:07:39 2024 -0700

    Add inter-boundary-component-has-direction constraint (GSA#930) (GSA#968)

commit 5d6710f
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 13:32:28 2024 -0500

    Fix dev-constraint.js bug (GSA#967)

commit a7f9022
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 13:23:21 2024 -0500

    Add exists() to tests and remove duplicate constraint and fix system-implementation context (GSA#966)

    Remove duplicate constraint and fix system-implementation context

commit 780b38a
Author: wandmagic <[email protected]>
Date:   Thu Dec 5 12:50:29 2024 -0500

    Hotfix/deprecate all valid (GSA#960)

    * deprecate ssp-all-valid

    * Update src/validations/constraints/content/ssp-has-network-architecture-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-authorization-boundary-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-data-flow-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-network-architecture-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update fedramp-ssp-example.oscal.xml

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit 2c0e4de
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 10:21:00 2024 -0500

    Change cia-has-selected test (GSA#965)

commit 9a8e155
Author: wandmagic <[email protected]>
Date:   Wed Dec 4 15:30:29 2024 -0500

    Update fedramp-ssp-example.oscal.xml (GSA#959)

commit 5f7ce81
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 23:38:31 2024 +0000

    change example ssp location

commit 56f399e
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 23:23:59 2024 +0000

    Edit content to make constraints pass

commit d521a22
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 19:12:01 2024 +0000

    Delete extra ssp

commit 8cfb601
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 17:39:38 2024 +0000

    Add example ssp to content file and edit constraint script to point yaml pass file to example ssp

commit ff8f812
Author: ~ . ~ <[email protected]>
Date:   Tue Dec 3 13:50:22 2024 -0500

    fix ssp to pass tests

commit 85ec424
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 17:17:18 2024 +0000

    Add example ssp to content file and edit constraint script to point yaml pass file to example ssp

commit 7312686
Author: Kylie Hunter <[email protected]>
Date:   Mon Nov 25 16:15:01 2024 -0700

    Add connection-security prop constraint for GSA#931

commit 6ccb539
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 16:39:47 2024 -0500

    Add `issue-893` Constraints (GSA#949)

    * Add component-has-non-provider-responsible-role and tests

    * Add constraints and tests

    * Edit message

commit dd3be5f
Author: wandmagic <[email protected]>
Date:   Tue Dec 3 16:39:32 2024 -0500

    remove rev4 constraints (GSA#954)

commit 113c4f5
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 15:42:43 2024 -0500

    Fix Bug Issue GSA#940 (GSA#951)

commit c6f8e8f
Author: wandmagic <[email protected]>
Date:   Tue Dec 3 13:08:35 2024 -0500

    implementation point constraint (GSA#936)

    * implementation point constraint

    * add help uri

    * improve constraint

    * add extra fail content

    * Update src/validations/constraints/content/ssp-all-VALID.xml

    Co-authored-by: DimitriZhurkin <[email protected]>

    * Update fedramp-external-constraints.xml

    Co-authored-by: Rene Tshiteya <[email protected]>

    * implementation point constraint

    * add help uri

    * improve constraint

    * add extra fail content

    * Update src/validations/constraints/content/ssp-all-VALID.xml

    Co-authored-by: DimitriZhurkin <[email protected]>

    * Update fedramp-external-constraints.xml

    Co-authored-by: Rene Tshiteya <[email protected]>

    * add needed props to all valid

    * rebase

    Co-Authored-By: A.J. Stein <[email protected]>

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: DimitriZhurkin <[email protected]>
    Co-authored-by: Rene Tshiteya <[email protected]>
    Co-authored-by: A.J. Stein <[email protected]>

commit 1377478
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 08:57:37 2024 -0500

    Add `component-responsible-role-references-party` constraint (GSA#945)

    * Add constraint 'component-responsible-role-references-party' and tests

    * correct test

    * Rename constraint and adjust help-url

    * Edit message

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit a8461fb
Author: ~ . ~ <[email protected]>
Date:   Mon Dec 2 11:09:13 2024 -0500

    pin server + update oscal-js version

commit b82c417
Author: Gabeblis <[email protected]>
Date:   Mon Dec 2 14:07:05 2024 -0500

    Add `leveraged-authorization-has-valid-impact-level` Constraint (GSA#913)

    * Add leveraged-authorization constraint

    * rename constraint

    * fix constraint test

    * correct constraint test

    * Change 'http' to 'https'

    * Add level

commit 1db5f97
Author: Gabeblis <[email protected]>
Date:   Mon Dec 2 13:13:17 2024 -0500

    Constraints/cleanup constraints file (GSA#946)

    * clean up fedramp-external-constraints.xml

    * fix

    * Add message to fully-operational-date-type
@wandmagic wandmagic force-pushed the feature/fedramp-citations branch from a40b5a4 to f7a9ab0 Compare December 11, 2024 15:46
@aj-stein-gsa
Copy link
Contributor

@wandmagic, can you confirm you intended for #812 to be included in the scope of this PR or not? That pertains to the outstanding constrains you asked to change or remove.

@wandmagic
Copy link
Collaborator Author

@wandmagic, can you confirm you intended for #812 to be included in the scope of this PR or not? That pertains to the outstanding constrains you asked to change or remove.

I'm not sure how they got in there, but i removed them for now, sounds like those constraints needed a rework, but i believe whats in here now is fine

Copy link
Contributor

@Gabeblis Gabeblis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding the frr108 style guide constraint. This is good stuff, just a few comments.

@wandmagic
Copy link
Collaborator Author

ok feedback addressed, thanks gabe!

Comment on lines +644 to +648
<expect id="has-e-authentication-workflow" target="." test="resource[prop[@name eq 'type' and @class eq 'e-authentication-workflow']]" level="ERROR">
<formal-name>Has E-Authentication Workflow</formal-name>
<prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/5-attachments/"/>
<message>A FedRAMP SSP MUST have an E-Authentication Workflow diagram attached.</message>
</expect>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: I can find no reference to this in any issue, so can we remove it? I really want to know where the requirement came from, because if it is a historic/soon-to-be-obsolete requirement from previous arch or Rev 4 governance, it is news to me, and I usually don't forgot such stuff. So I've been scratching my head.

Suggested change
<expect id="has-e-authentication-workflow" target="." test="resource[prop[@name eq 'type' and @class eq 'e-authentication-workflow']]" level="ERROR">
<formal-name>Has E-Authentication Workflow</formal-name>
<prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/5-attachments/"/>
<message>A FedRAMP SSP MUST have an E-Authentication Workflow diagram attached.</message>
</expect>

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: remove with its constraint.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: remove with its constraint.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: remove with its constraint.

@Gabeblis
Copy link
Contributor

@wandmagic I think some extra files got in here on the rebase, but also this needs to be rebased again

@wandmagic wandmagic closed this Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SSP Completeness Checks: Appendices B Acronyms & L Laws and Regulations
3 participants