Catalog-first

Catalog-first represents a rule as a catalog control and a check as a software component. TechnicalControlId links the control to the check component; ConfigRuleId identifies the executable rule. The control states the requirement, and the component describes the check.

1. Stakeholder roles and OSCAL models

Catalog-first treats a hardening rule as a requirement, using the catalog model in the Control layer. The table shows the models each party uses to publish guidance, implement controls or record assessment results.

Seven parties publish, implement or assess hardening guidance. The table maps each party to OSCAL models and groups guidance authors separately from automation providers and operators.

PartyOSCAL model
Regulatory control providersNIST and other bodies publishing regulatory controls, such as SP 800-53catalog
Mapping providersOrganisations linking guidance to frameworks through DISA's CCI list, NIST's OLIR programme or the Secure Controls Frameworkmapping-collectionThe mapping provider writes a separate framework mapping. The published corpus contains no mapping collection for hardening guidance.
Hardening guidance authorsBenchmark publishers and technology providers author guidance in the same OSCAL model for each approach.
Technical hardening guidance providersCIS, DISA and other benchmark publisherscatalog
Technology providersVendors publishing configuration guidance for hardware, software and services, independently or with benchmark publishers such as CIScatalog
Automation providers and operatorsProviders build policy engines. System owners and auditors run checks to produce implementation responses or assessment results.
Policy engine providersProviders of assessment and checking tools such as OPA, Kyverno, ScubaGear and OpenSCAPcomponent-definitionsoftwareThe provider publishes checks as components of type software, referencing the guidance authors' catalog. System owners and auditors run the checks.
System ownersOrganisations implementing and documenting controls on a systemprofilesystem-security-planruns the checks, making the control-implementation responsescomponent-definitionsoftwareruntime is read by the policy engine, which runs and writes system-security-planThe system owner selects requirements and merges catalogs through a profile imported by the system security plan.
Independent auditorsAssessors running checks and reviewing results independently of system ownersruns the checks, making the findingscomponent-definitionsoftwareruntime is read by the policy engine, which runs and writes assessment-resultsThe auditor runs the checks independently. The resulting finding targets the system owner's implementation statement.

The runtime. A policy engine reads OSCAL, executes checks and writes OSCAL. Providers publish the checks; each flow identifies the party executing the checks.

2. Strengths and risks

Publishing technical hardening guidance as a catalog has these strengths and risks.

2.1 Strengths4

  1. Technical and regulatory requirements use one model

    Technical requirements use catalog controls and follow the same references through the remaining OSCAL models as regulatory controls.

  2. Rules can be tailored

    A profile selects the hardening requirements an organisation adopts and sets organisationally defined parameters without changing the source catalog.

  3. Catalog structures represent guide content

    Controls, parts and nested groups represent checks, remediation and explanatory prose, including the structure of a thousand-page guide.

  4. Third parties can publish framework mappings

    A separate mapping-collection links guidance to a framework, allowing a third party to publish the mapping without owning either catalog.

2.2 Risks3

  1. Benchmark catalogs add maintenance work

    The system security plan must address benchmark requirements alongside regulatory controls; whether each additional catalog requires a separate plan remains unsettled.

  2. Combined baselines complicate profile resolution

    Multiple frameworks and benchmarks require catalogs, profiles and mappings to be maintained together, increasing tool integration work and profile resolution complexity.

  3. Responses do not identify individual instances

    A by-component response identifies a component, not an instance, so one exception among a hundred hosts sharing that component cannot be distinguished.

3. Tracing rules and checks from implementation to assessment

The chain connects a rule to checks, implementation claims and assessment results. Each step identifies the relationships a consumer must resolve and the fields used to resolve those relationships.

  1. Rule definition. The product catalog defines the rule as a control, using the same OSCAL structure as a regulatory control. The chain starts from the control id. catalog, controls[].id.
  2. Rule to Check. The control references the check by title, a match not enforced by the schema. The check references the control by a resolvable id.
  3. Rule to Control. A separate mapping collection links the catalogs. A third party can publish the mapping after both catalogs are published without owning either source.
  4. Check to Runtime. ConfigRuleId identifies the executable rule, but the content does not identify the engine that executes the check.
  5. Runtime to Claim. The claim references a component, not a host. The by-component assembly has no assessment subject field for an individual instance.
  6. Claim to Result. The finding targets the implementation statement in the system security plan and references supporting observations, connecting the assessment outcome to the claim.
The chain uses rule 1, data at rest, from the six questions page. Each step shows the fields and values a consumer follows. The relationship type indicates whether resolution uses schema-defined references, containment or publisher conventions.