Stigcode transforms SARIF scan results from any SAST scanner into compliance-ready artifacts: ATO evidence reports, NIST 800-53 coverage matrices, POA&M inputs, and STIG Viewer checklists.
pip install stigcodeThe most common use case is preparing SA-11 evidence for an ATO security package. After running any SAST tool that produces SARIF output, run these three commands:
stigcode report scan.sarif -o sa-11-evidence.md
stigcode coverage scan.sarif -o control-coverage.md
stigcode poam scan.sarif -o poam-candidates.mdThe report maps scan findings to NIST 800-53 controls and produces an assessor-ready summary. The coverage matrix shows which controls are addressed by the scan and which require other evidence. The POA&M candidates give the ISSO a starting point for documenting open findings.
Both coverage and poam also support --format csv for spreadsheet workflows.
sanicode scan ./myapp --format sarif -o scan.sarif
stigcode report scan.sarif -o sa-11-evidence.mdsemgrep --config auto --sarif -o scan.sarif ./myapp
stigcode report scan.sarif -o sa-11-evidence.mdcodeql database analyze myapp-db --format=sarif-latest --output=scan.sarif
stigcode report scan.sarif -o sa-11-evidence.mdbandit -r ./myapp -f sarif -o scan.sarif
stigcode report scan.sarif -o sa-11-evidence.mdsanicode scan --format sarif ./myapp | stigcode report - -o sa-11-evidence.mdFor assessments that require a STIG Viewer checklist (.ckl), use the ckl command. Most
findings that require human assessment will be marked Not Reviewed; scan-assessable findings
are populated automatically.
stigcode ckl scan.sarif -o app-stig.cklTo update an existing checklist without losing assessor notes:
stigcode ckl scan.sarif --update existing.ckl -o updated.cklVerify a SARIF file parses correctly and review the finding summary before generating output:
stigcode import scan.sarifAssess findings against the loaded STIG benchmark and see a status breakdown:
stigcode assess scan.sarif# Which STIG findings map to SQL injection?
stigcode lookup cwe --cwe CWE-89
# Which CWEs map to a specific STIG finding?
stigcode lookup stig --stig V-222387
# Show mapping database stats
stigcode info mappingsstigcode versionTrack compliance posture changes across successive scans:
stigcode trend scan1.sarif scan2.sarif scan3.sarif -o trend-report.md
stigcode trend scan1.sarif scan2.sarif --format csv -o trend.csvAll commands that accept --format support pdf as a value:
stigcode report scan.sarif --format pdf -o sa-11-evidence.pdf
stigcode coverage scan.sarif --format pdf -o coverage.pdf