← All projects
01 BEGINNER

OSCAL profile validator

CLI tool validating NIST OSCAL profiles with real-time error detection and multi-format conversion.

Overview

Python-based CLI tool that validates OSCAL profiles against official NIST JSON Schema definitions, then converts between XML, JSON, and YAML formats. Demonstrates deep control framework literacy at the data layer — the foundation for every downstream compliance automation.

Implementation

Ships with automatic format detection, detailed schema error reporting with line/column context, batch directory validation, multi-format export, and control catalog keyword searching. Designed to slot into any CI pipeline as a pre-commit or pre-deploy check.

Terminal output
oscal-profile-validator.py
$ python validate.py ssp.json --format json --verbose Detected: OSCAL System Security Plan v1.1.2 Schema: NIST OSCAL JSON Schema (rev5) ✓ Structure valid ✓ 47 implemented controls ✓ 0 schema errors ✓ 3 resolved control references Converting → ssp.yaml [done] Report → report.html [done]
Stack
OSCALPythonJSON SchemaClick
Source code

Full implementation, tests, and documentation available on GitHub.

View on GitHub ↗