Add component integration and viewer improvements to NIST viewer#14786
Open
ggbecker wants to merge 1 commit into
Open
Add component integration and viewer improvements to NIST viewer#14786ggbecker wants to merge 1 commit into
ggbecker wants to merge 1 commit into
Conversation
Expose the control→rule→component relationship in the NIST viewer: - New Components page (components.html) with grid view and per-component detail view showing controls grouped by NIST family - Control detail pages show a Related Components section with the software components whose rules implement each control - Statistics page includes a Component Coverage table - Control cards in the controls list show a component count badge - generate_nist_viewer.py loads component definitions from components/ and builds component_stats per product Improve control detail rendering: - OSCAL control statements rendered as structured numbered lists - Supplemental guidance split into readable paragraphs - ODP parameter references highlighted as inline spans - Cross-control references in guidance rendered as internal links - Rule IDs link directly to their rule.yml on GitHub Add docs/manual/developer/15_components_and_controls.md documenting the component architecture, the control-rule-component chain, and how to query relationships via Python API and the NIST viewer.
|
@ggbecker: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
rule.ymlon GitHub.docs/manual/developer/15_components_and_controls.mddocumenting the component architecture, the control→rule→component chain, and how to query relationships via the viewer and Python API.Rationale:
The control→rule→component relationship was implicit and invisible — authors had no way to see which components a control requires or which controls a component satisfies.
OSCAL prose was rendered as raw text blobs and rule IDs had no link to their source.
HTML controls viewer uses unsanitized input #14758 type of issue was taken into account when developing this feature, so it should not manifest here.
Review Hints:
Download the OSCAL catalog first:
cd utils/nist_sync && python3 download_oscal.pyGenerate and serve the viewer:
PYTHONPATH=$(pwd) python3 utils/nist_sync/generate_nist_viewer.py --products rhel9 --output-dir /tmp/nist-viewer --repo-root . && python3 -m http.server 8080 --directory /tmp/nist-viewerKey pages to check:
components.html,control-detail.html?id=au-2,statistics.htmlChanges will propagate to https://complianceascode.github.io/content-pages/nist-viewer/