Skip to content

How to Generate Compliance Scripts

Compliance scripts are generated as part of the guidance output using the -s flag. The script reads your baseline and creates a zsh script ready for deployment.


  1. Run the command

    Terminal window
    ./mscp.py guidance custom/baselines/BASELINE_NAME.yaml -s

    Example:

    Terminal window
    ./mscp.py guidance custom/baselines/800-53r5_moderate_macos_26.0.yaml -s
  2. Find your files

    The -s flag generates the compliance script and audit plist. Guidance documents are also created by default.

    • Directorybuild/
      • Directory800-53r5_moderate_macos_26.0/
        • 800-53r5_moderate_macos_26.0_compliance.sh Compliance script
        • 800-53r5_moderate_macos_26.0.adoc AsciiDoc guidance
        • 800-53r5_moderate_macos_26.0.html HTML guidance
        • 800-53r5_moderate_macos_26.0.pdf PDF guidance
        • Directorypreferences/
          • org.800-53r5_moderate_macos_26.0.audit.plist

Run with sudo for full access to system settings:

Terminal window
sudo ./build/800-53r5_moderate_macos_26.0/800-53r5_moderate_macos_26.0_compliance.sh
Flag Description
(no flags) Interactive menu mode
--check Run compliance checks without interaction
--fix Run remediation commands without interaction
--cfc Run check, fix, check sequence
--stats Display statistics from last scan
--compliant Report number of compliant checks
--non_compliant Report number of non-compliant checks
--reset Clear results for current baseline
--reset-all Clear results for all mSCP baselines

When executed, the script creates:

File Location
Audit plist /Library/Preferences/org.BASELINE_NAME.audit.plist
Log file /Library/Logs/BASELINE_NAME_baseline.log