RAMPART — Evaluation Engine
RAMPART is the evaluation engine that runs on every push to a connected repository. It executes 9 compliance gates in sequence, produces a gate result for each, and emits findings for any failures. Every evaluation is cryptographically signed by CHRONICLE and anchored to the Rekor transparency log.
The 9 Gates
These gates are the authoritative list derived from the RAMPART gate registry. Gate IDs match the PostgreSQL GateName enum.
| # | Gate ID | Gate Name | NIST SP 800-53 Controls | Tool |
|---|---|---|---|---|
| 1 | IMAGE_DIGEST | Image digest pinning | CM-7, CM-14, SA-10, SI-7 | Registry API |
| 2 | VULNERABILITY | Vulnerability scan | SI-2, RA-5, SI-3, SA-11 | Grype |
| 3 | SBOM_ATTESTATION | SBOM attestation | SA-10, SR-4, SR-11, CM-8 | CycloneDX / Cosign |
| 4 | STIG_BASELINE | STIG baseline | CM-6, CM-7, AC-6, AU-2 | OpenSCAP |
| 5 | BRANCH_POLICY | Branch policy | CM-3, CM-9, CM-5 | SCM API |
| 6 | CHANGE_CONTROL | Change control (CAB) | CM-3, CM-5, CM-11, SA-10 | CCB engine |
| 7 | SECRETS_SCAN | Secrets scan | IA-5, SC-28, AC-2, AU-9 | Gitleaks / Trufflehog |
| 8 | IAC_COMPLIANCE | IaC compliance | CM-6, CM-7, SC-7, AC-3, SC-28 | Checkov, Trivy |
| 9 | SLSA_PROVENANCE | SLSA provenance | SA-10, SR-3, SR-4, SI-7 | Cosign / Rekor |
Gate Decisions
Each gate returns one of four decisions:
| Decision | Meaning | Effect on evaluation |
|---|---|---|
PASS | Gate check succeeded | No findings created |
WARN | Gate could not run fully | Finding created (WARN severity); missing evidence is itself a compliance signal |
FAIL | Gate found a violation | Finding created with appropriate severity |
BLOCK | Critical violation | Finding created; deployment blocked |
Gates never return a PASS when they cannot run. A gate that lacks the evidence to evaluate (for example, no SBOM is attached) returns WARN, not PASS. This is intentional: absent evidence is a compliance signal, not a clean bill of health.
Gate Detail
IMAGE_DIGEST — Image digest pinning
Checks that every container image reference in the repository is pinned to a SHA-256 digest rather than a mutable tag (such as :latest). Mutable tags allow the image to change between build and deployment without detection.
Fail condition: Any FROM statement or image: reference uses a tag without a digest.
NIST mapping: CM-7 (configuration management — least functionality), SI-7 (software integrity).
VULNERABILITY — Vulnerability scan
Runs Grype against the repository to detect known CVEs in dependencies. FAIL for CRITICAL severity CVEs with available fixes. WARN for CRITICAL CVEs without available fixes.
Threshold: CRITICAL CVEs with a fixed version available cause FAIL. All others are surfaced as findings.
NIST mapping: SI-2 (flaw remediation), RA-5 (vulnerability monitoring and scanning).
SBOM_ATTESTATION — SBOM attestation
Verifies that a CycloneDX Software Bill of Materials is attached to the deployment as a Cosign attestation. Without an SBOM, supply chain risk cannot be assessed.
Fail condition: No SBOM attestation is attached or the attached SBOM has zero components.
NIST mapping: SA-10 (developer configuration management), SR-4 (provenance).
STIG_BASELINE — STIG baseline
Checks OpenSCAP XCCDF results against the applicable DISA STIG baseline for the operating system or container image. Required for DoD IL programs and recommended for FedRAMP High.
NIST mapping: CM-6 (configuration settings), CM-7 (least functionality).
BRANCH_POLICY — Branch policy
Verifies that the repository enforces branch protection: required reviewers, no direct pushes to main/production branches, and a CODEOWNERS file for accountability.
NIST mapping: CM-3 (configuration change control), CM-5 (access restrictions for change).
CHANGE_CONTROL — Change control (CAB)
For production deployments, verifies that a Change Request exists and has been approved by the Change Advisory Board before the change proceeds. Integrates with the CCB engine.
NIST mapping: CM-3 (configuration change control), CM-11 (user-installed software).
SECRETS_SCAN — Secrets scan
Scans the repository for credentials, API keys, tokens, and other secrets committed to source control. Uses Gitleaks for pattern detection and Trufflehog for verified secret detection.
Fail condition: Verified secrets in source. WARN for high-confidence patterns that cannot be confirmed.
NIST mapping: IA-5 (authenticator management), SC-28 (protection of information at rest).
IAC_COMPLIANCE — IaC compliance
Runs Checkov and Trivy against all Infrastructure-as-Code files (Terraform, CloudFormation, Kubernetes manifests, Dockerfiles, Helm charts) to detect misconfigurations.
Tools: Checkov (154+ checks mapped to NIST controls), Trivy (filesystem + configuration mode).
NIST mapping: CM-6 (configuration settings), SC-7 (boundary protection).
SLSA_PROVENANCE — SLSA provenance
Verifies that a SLSA provenance attestation is present and signed. SLSA (Supply chain Levels for Software Artifacts) Level 1 minimum required; Level 2+ recommended for FedRAMP High and DoD programs.
NIST mapping: SA-10 (developer configuration management), SR-3 (supply chain controls and plans).
Source: Sigstore / Cosign (opens in a new tab), Rekor (opens in a new tab)
Evaluation Workflow
Push event received
│
▼
Normalize event (extract commit SHA, branch, repo metadata)
│
▼
Run 9 gates in sequence
Gate 1: IMAGE_DIGEST
Gate 2: VULNERABILITY
...
Gate 9: SLSA_PROVENANCE
│
▼
Aggregate gate results
│
▼
Create findings for all FAIL / BLOCK / WARN results
│
▼
Update compliance posture score
│
▼
Sign evaluation with CHRONICLE (Cosign + Rekor)
│
▼
Emit NATS events → AXIOM (control mapping) + PHAROS (monitoring)Connecting a Repository
See the GitHub Integration guide for step-by-step connection instructions.
RAMPART evaluates on:
- Push events to any branch
- Pull request open/synchronize events
- Manual evaluation trigger from the dashboard
Finding severity matrix
When a gate returns FAIL or BLOCK, RAMPART creates a finding with a severity level based on the specific violation:
| Severity | When assigned | Effect on posture |
|---|---|---|
| CRITICAL | CVSS 9.0+ CVE with available fix; verified secret in source | Posture score -15 per finding |
| HIGH | CVSS 7.0–8.9 CVE; high-confidence unverified secret; STIG CAT I finding | Posture score -8 per finding |
| MEDIUM | CVSS 4.0–6.9 CVE; IaC misconfiguration; missing SBOM | Posture score -3 per finding |
| LOW | CVSS 0.1–3.9; informational IaC finding; STIG CAT III | Posture score -1 per finding |
| INFO | Gate WARN; scanner unavailable; evidence not yet present | No posture impact |
Gate-to-framework mapping
Each gate maps to one or more compliance frameworks. This table shows which gates are required for each program type:
| Gate | FedRAMP Mod | FedRAMP High | CMMC L2 | DoD IL4/IL5 |
|---|---|---|---|---|
| IMAGE_DIGEST | Recommended | Required | Required | Required |
| VULNERABILITY | Required | Required | Required | Required |
| SBOM_ATTESTATION | Recommended | Required | Required | Required |
| STIG_BASELINE | Not required | Recommended | Recommended | Required |
| BRANCH_POLICY | Required | Required | Required | Required |
| CHANGE_CONTROL | Required | Required | Required | Required |
| SECRETS_SCAN | Required | Required | Required | Required |
| IAC_COMPLIANCE | Required | Required | Required | Required |
| SLSA_PROVENANCE | Recommended | Required | Recommended | Required |
Interpreting Results
All gates PASS: Evaluation is green. No new findings.
Any gate WARN: A gate could not run. Review the evidence requirement for that gate. WARN is not a pass.
Any gate FAIL: Findings created. Review severity and NIST control mapping.
Any gate BLOCK: Deployment is blocked. The finding must be remediated or accepted with an approved waiver before deployment can proceed.
What to do with findings
CRITICAL or HIGH findings: These require action before the next evaluation can produce a green result. Options:
- Remediate: Use the ARE to autonomously generate and verify a fix, or fix manually and push
- Accept risk: Submit an accepted risk attestation through the PHAROS waiver portal — requires ISSM or CISO approval
- Defer: Schedule a POA&M milestone for a future remediation date — accepted for non-BLOCK findings
WARN findings: Investigate why the gate could not run. Common causes:
SBOM_ATTESTATIONwarns because no SBOM is attached to the build — add Cosign SBOM attestation to your CI pipelineSLSA_PROVENANCEwarns because no provenance attestation exists — add SLSA provenance generation to your buildSTIG_BASELINEwarns because no OpenSCAP report is attached — STIG scan results must be submitted separately
BLOCK findings: No deployment is permitted until the finding is resolved. BLOCK findings cannot be deferred — they must be remediated or accepted through formal waiver. Waivers for BLOCK findings require AO or delegate approval.
RAMPART and the compliance posture score
The posture score (0–100%) is computed from:
- Control implementation status (IMPLEMENTED vs NOT_IMPLEMENTED vs PARTIALLY_IMPLEMENTED)
- Open finding count and severity
- POA&M milestone adherence
RAMPART findings affect the posture score immediately when a finding is created. Remediating a finding restores the score in the next evaluation that passes the relevant gate. The score does not auto-restore on finding acceptance — accepted risk is documented but the finding remains in the posture calculation at reduced weight.
Cryptographic signing
Every RAMPART evaluation is signed by CHRONICLE using Cosign:
- Evaluation results are serialized as a JSON payload
- The payload hash is signed with the platform's Cosign key
- The signature and payload are anchored to the Rekor public transparency log
- The Rekor log entry UUID is stored with the evaluation record
This means every evaluation has a tamper-evident audit trail. If the evaluation record is modified, the Rekor entry remains — providing independent verification of what was found and when.
Source: Sigstore / Cosign (opens in a new tab), Rekor transparency log (opens in a new tab)
Related pages
- ARE Engine — Autonomous remediation for RAMPART findings
- CHRONICLE Engine — Cryptographic signing and Rekor anchoring
- GitHub Integration — How to connect repositories to RAMPART
- CMMC Guide — CMMC practice domains mapped to RAMPART gates