feat: parse and import XCCDF with root-level TestResult #45
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.
This PR synchronizes XCCDF parsing code between the STIG Manager web app and Watcher. See this STIG Manager pull request.
This code successfully processes the sanitized sample files from ACAS and HBSS which were provided with here. We hope for additional feedback from the community to establish we can handle all of the real-world XCCDF from those tools.
This PR handles the non-standard value for
<TestResult test-system>
that is seen in the HBSS file. According to the XCCDF specification thetest-system
attribute "SHOULD be either a CPE name or a CPE applicability language expression", but HBSS does not follow this suggestion and our existing code expected a CPE name.Unlike SCC and OpenSCAP, neither ACAS nor HBSS provide a timestamp for each
<rule-result>
. I've instead used the required attribute<TestResult end-time>
as a common timestamp for each result.