Skip to main content

Policy Standards & Compliance Frameworks

HubHelper's policy engine is built on established security standards, not invented conventions. The control catalogue is structured according to OSCAL 1.1.2 and every control is mapped to NIST 800-53 and CIS Controls — so your findings slot directly into existing compliance programmes.

Standards-based from day one

The policies/catalog.yaml file carries oscal-version: "1.1.2" in its metadata. This means the catalogue, profile, and tailoring concepts you use when customising HubHelper are directly analogous to OSCAL document types — no translation layer needed.


What Is OSCAL?

OSCAL (Open Security Controls Assessment Language) is a set of formats published by NIST that express security control catalogues, profiles, and assessment results in machine-readable XML, JSON, and YAML. HubHelper adopts the OSCAL vocabulary and document model for its own YAML-based policy layer:

OSCAL ConceptHubHelper Equivalent
Cataloguepolicies/catalog.yaml — master list of all controls
Profilepolicies/default.yaml, policies/strict.yaml — control selections
ControlAn entry under controls: with an id, statement, family, and mappings
ParameterThe parameter: block on each control
TailoringThe tailoring: block in a profile that overrides catalogue defaults
Framework mappingThe mappings: block on each control (NIST-800-53, CIS-Controls)

Because HubHelper follows OSCAL conventions, teams already familiar with OSCAL tooling (oscal-cli, compliance-trestle, etc.) can read the catalogue and profiles without learning a new schema.


Supported Compliance Frameworks

NIST 800-53

NIST Special Publication 800-53 is the US federal standard for security and privacy controls. HubHelper maps to the following NIST 800-53 control families:

Control FamilyNIST IDDescription
Configuration ManagementCM-3Configuration Change Control
System and Services AcquisitionSA-11Developer Testing and Evaluation
Security Assessment and AuthorisationCA-2Security Assessments
Security Assessment and AuthorisationCA-7Continuous Monitoring
System and Information IntegritySI-4System Monitoring
System and Information IntegritySI-2Flaw Remediation

CIS Controls

The CIS Controls (Center for Internet Security) are a prioritised set of safeguards. HubHelper maps to:

CIS ControlDescription
2.3Address Unauthorized Software
7.2Establish and Maintain a Remediation Process
8.2Collect Audit Logs
8.11Conduct Audit Log Reviews
16.2Establish and Maintain a Secure Application Development Process
16.3Perform Root Cause Analysis on Security Vulnerabilities

Full Control Mapping Table

Every HubHelper control and its framework mappings:

Control IDNameNIST 800-53CIS Controls
HH-GH-001Self-Merged Pull RequestsCM-3, SA-1116.2
HH-GH-002Unreviewed Security PRsSA-11, CA-216.2
HH-GH-003Security PR ClassifierSA-112.3
HH-GH-004Disabled GitHub ActionsCA-2, SA-1116.3
HH-GH-005Paused WorkflowsCA-78.2
HH-GH-006Disabled WorkflowsCA-78.2
HH-GH-007Repeated Action FailuresSI-4, CA-78.2, 8.11
HH-GH-008Single Action FailuresSI-48.2
HH-GH-009Security PR VolumeSI-27.2

Control ID Format

Control IDs follow the pattern HH-GH-###:

HH → HubHelper (tool namespace)
GH → GitHub (platform scope)
### → Sequential three-digit number

This mirrors the <PROGRAM>-<DOMAIN>-<SEQ> convention used in many compliance programmes (e.g. NIST's AC-1, CM-3).


Generating a Compliance Report

HubHelper can produce a structured compliance report showing pass/fail status for each framework mapping:

# JSON compliance report
npx @sdh100shaun/hubhelper analyze --org myorg --compliance report.json

# HTML compliance dashboard
npx @sdh100shaun/hubhelper analyze --org myorg --compliance report.html --compliance-format html

# Markdown (for embedding in wikis or PRs)
npx @sdh100shaun/hubhelper analyze --org myorg --compliance report.md --compliance-format markdown

Reports include:

  • Controls mapped to each framework
  • Compliance status (compliant / non-compliant)
  • Compliance rate percentages
  • Detailed issue listings for non-compliant controls

Customising Framework Mappings

If your organisation uses additional frameworks (e.g. ISO 27001, SOC 2), you can extend the catalogue by adding entries to the mappings: block on any control in policies/catalog.yaml:

mappings:
NIST-800-53:
- CM-3
- SA-11
CIS-Controls:
- "16.2"
ISO-27001: # custom addition
- A.14.2.2 # Formal change control procedures

The compliance reporter dynamically reads all keys present under mappings:, so new frameworks appear in reports automatically without any code changes.


Further Reading