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

Security Controls - SSP has statement for each control _statement_ response point #1005

Closed
1 of 15 tasks
Tracked by #810
Rene2mt opened this issue Dec 16, 2024 · 1 comment
Closed
1 of 15 tasks
Tracked by #810

Comments

@Rene2mt
Copy link
Member

Rene2mt commented Dec 16, 2024

Constraint Task

As a consumer of FedRAMP automated completeness checks, I want to make sure that control statement responses are provided for every baseline control statement response point.

Intended Outcome

  • For each response point within the control's statement, there must be a statement within the correct control in the SSP.

Syntax Type

This is a mix of required, optional, and/or extended syntax.

Allowed Values

There are no relevant allowed values.

Metapath(s) to Content

For each response point within the control's statement, there must be a statement within the correct control in the SSP.

 - NOTE: We need to be careful to avoid response points in assessment objectives.
 - metapath target="./part[@name='statement' and ./prop[@name='response-point' and @ns='https://fedramp.gov/ns/oscal']]/@id"
 - metapath target="./part[@name='statement']//part[@name ='item' and ./prop[@name='response-point' and @ns='https://fedramp.gov/ns/oscal']]/@id"
 - VAR: statement-label
  - EXPRESSION: "./prop[@name='label' and not(@Class) and (not(@ns) or @ns='http://csrc.nist.gov/ns/oscal/1.0') ]/@value"
 - count(/system-security-plan/control-implementation/implemented-requirement/statement[@statement-id=./@id]) = 1
  - NOTE: I would prefer to also ensure this statement is correctly aligned under the correct implemented requirement, but am unsure how to reflect that in metaschema. In other words, it would be better if this looked something like this: count(/system-security-plan/control-implementation/implemented-requirement[@control-id='ac-1']/statement[@statement-id='ac-1_smt.a') = 1
 - ERROR: A response is required for $control-label $statement-label, but is not found from the SSP.

Purpose of the OSCAL Content

This validation check helps reviewers ensure that submitted SSPs address all of the control requirements at the appropriate granularity, and also detects any extraneous (control implementation) statements.

Dependencies

No response

Acceptance Criteria

  • All OSCAL adoption content affected by the change in this issue have been updated in accordance with the Documentation Standards.
    • Explanation is present and accurate
    • sample content is present and accurate
    • Metapath is present, accurate, and does not throw a syntax exception using oscal-cli metaschema metapath eval -e "expression".
  • All constraints associated with the review task have been created
  • The appropriate example OSCAL file is updated with content that demonstrates the FedRAMP-compliant OSCAL presentation.
  • The constraint conforms to the FedRAMP Constraint Style Guide.
    • All automated and manual review items that identify non-conformance are addressed; or technical leads (David Waltermire; AJ Stein) have approved the PR and “override” the style guide requirement.
  • Known good test content is created for unit testing.
  • Known bad test content is created for unit testing.
  • Unit testing is configured to run both known good and known bad test content examples.
  • Passing and failing unit tests, and corresponding test vectors in the form of known valid and invalid OSCAL test files, are created or updated for each constraint.
  • A Pull Request (PR) is submitted that fully addresses the goals section of the User Story in the issue.
  • This issue is referenced in the PR.

Other information

See #810 (comment) for additional details.

@Rene2mt Rene2mt moved this from 🆕 New to 📋 Backlog in FedRAMP Automation Dec 16, 2024
@Rene2mt Rene2mt moved this from 📋 Backlog to 🔖 Ready in FedRAMP Automation Dec 16, 2024
@wandmagic wandmagic moved this from 🔖 Ready to 🚢 Ready to Ship in FedRAMP Automation Dec 23, 2024
@wandmagic
Copy link

see #1020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants