11# NIST 800-53 / CIS Synchronization Toolkit
22
3- Automated tooling to generate and maintain product-specific NIST 800-53 control files with CIS benchmark mappings.
3+ Automated tooling to generate and maintain NIST 800-53 control files from CIS benchmark mappings for ComplianceAsCode products .
44
55## Quick Start
66
@@ -12,9 +12,11 @@ Automated tooling to generate and maintain product-specific NIST 800-53 control
1212./test_workflow_local.sh
1313```
1414
15- ## Architecture
15+ ## Architecture Overview
1616
17- The toolkit generates ** product-specific split-by-family** control files:
17+ ### Directory Structure
18+
19+ The toolkit generates ** product-specific split-by-family** reference control files:
1820
1921```
2022shared/references/controls/ # Reference files (auto-generated)
@@ -123,11 +125,9 @@ utils/nist_sync/
123125Every Sunday at 2 PM UTC:
1241261 . Downloads latest NIST OSCAL catalog
1251272 . Generates product-specific reference family files for rhel8, rhel9, rhel10
126- 3 . Compares with previous version
128+ 3 . Compares with previous week's version
1271294 . Creates PR if changes detected
128130
129- ** Reference files updated automatically. Product control files require manual review.**
130-
131131### Local Development
132132
133133``` bash
@@ -151,30 +151,21 @@ python3 compare_profile_rules.py \
151151
152152### Manual Sync
153153
154- To regenerate reference files manually:
154+ When you need to manually sync changes :
155155
156156``` bash
157157cd utils/nist_sync
158158
159- # Step 1: Download OSCAL catalog (if not cached)
160- python3 download_oscal.py
161-
162- # Step 2: Generate product-specific family files
163- python3 sync_nist_split.py --product rhel8
159+ # Step 1: Regenerate reference files
160+ python3 download_oscal.py # Update OSCAL catalog if needed
164161python3 sync_nist_split.py --product rhel9
165- python3 sync_nist_split.py --product rhel10
166-
167- # Step 3: Review differences
168- diff -ur shared/references/controls/nist_800_53_cis_reference_rhel9/ \
169- products/rhel9/controls/nist_800_53/
170162
171- # Step 4: Copy to product directories if approved
172- cp shared/references/controls/nist_800_53_cis_reference_rhel9.yml \
173- ../../products/rhel9/controls/nist_800_53.yml
174- cp -r shared/references/controls/nist_800_53_cis_reference_rhel9/* \
175- ../../products/rhel9/controls/nist_800_53/
163+ # Step 2: Review and copy to product files if needed
164+ # Compare reference vs product files to see differences
165+ diff -ur ../../shared/references/controls/nist_800_53_cis_reference_rhel9/ \
166+ ../../products/rhel9/controls/nist_800_53/
176167
177- # Step 5 : Test build
168+ # Step 3 : Test build
178169cd ../..
179170./build_product rhel9 --datastream-only
180171```
0 commit comments