-
Notifications
You must be signed in to change notification settings - Fork 183
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
Correcting profile resolution spec wrt validation of inputs #1312
Milestone
Comments
@wendellpiez Would you please make a PR with the following adjusted text?
|
wendellpiez
added a commit
to wendellpiez/OSCAL
that referenced
this issue
Jul 20, 2022
…s and profiles Addresses usnistgov#1312
5 tasks
5 tasks
Repository owner
moved this from Under Review
to Done
in NIST OSCAL Work Board
Jul 25, 2022
aj-stein-nist
pushed a commit
to aj-stein-nist/OSCAL-forked
that referenced
this issue
Oct 6, 2022
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
aj-stein-nist
pushed a commit
to aj-stein-nist/OSCAL-forked
that referenced
this issue
Jan 10, 2023
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
aj-stein-nist
pushed a commit
to aj-stein-nist/OSCAL-forked
that referenced
this issue
Feb 6, 2023
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
aj-stein-nist
pushed a commit
to aj-stein-nist/OSCAL-forked
that referenced
this issue
Jun 29, 2023
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
aj-stein-nist
pushed a commit
to aj-stein-nist/OSCAL-forked
that referenced
this issue
Jul 10, 2023
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
aj-stein-nist
pushed a commit
to galtm/OSCAL
that referenced
this issue
Sep 28, 2023
…s and profiles (usnistgov#1380) Addresses usnistgov#1312
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Discussed in #1308
Originally posted by wendellpiez June 13, 2022
The current profile resolution spec is somewhat ambiguous and possibly problematic regarding the requirement that inputs be valid OSCAL.
At https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/#d2e317-head it is stated clearly:
Yet later (for example) https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/#d2e786-head, regarding structuring directives, the spec says "If more than one appears, processors MUST generate an error and cease processing" - which does not happen on valid inputs.
For lightweight implementations of profile resolution as simple transformations (not full-scale OSCAL object marshalling), the first requirement is onerous. It means a lightweight profile resolution processor that works on simple GIGO principles is not actually conformant, at least not delivered and deployed separably from a validator. This could be conformant only if the language is rewritten to the effect that "only on valid OSCAL inputs can results be predictable" rather than that a processor must (a) incur the overhead of validating any resource (including upstream catalogs), and (b) stop with an error when such (in)validity is detected (which could certainly remain an option).
However, if the first requirement is needed (invalid inputs will never be processed), surely the second is superfluous (what to do when they are seen).
Let's discuss whether validation of all inputs is an absolute runtime requirement, or whether a GIGO implementation (that accepts any input and 'does its best') could be conformant even if it does not perform validation or report exceptions on nominally invalid inputs?
If not, let's remove the redundant check for invalid configurations.
Language suggested by @david-waltermire-nist:
For implementation, this implies that formal validation need not always be asserted (and processors are not required to cease for nominal validation errors that do not affect outputs), but that inputs that are clearly not correct (e.g., not OSCAL or not the right kind of OSCAL) can be defended against.
The text was updated successfully, but these errors were encountered: