Skip to content

Commit 8ea648e

Browse files
dhi: add stig (#23114)
<!--Delete sections as needed --> ## Description Added STIG feature for DHI. Cleaned up the attestations table to match UI wording better. - https://deploy-preview-23114--docsdocker.netlify.app/dhi/core-concepts/attestations/#available-attestations - https://deploy-preview-23114--docsdocker.netlify.app/dhi/core-concepts/stig/ ## Related issues or tickets ENGDOCS-2861 ## Reviews <!-- Notes for reviewers here --> <!-- List applicable reviews (optionally @tag reviewers) --> - [ ] Editorial review - [ ] Product review --------- Signed-off-by: Craig <[email protected]>
1 parent 09f5d97 commit 8ea648e

File tree

4 files changed

+143
-12
lines changed

4 files changed

+143
-12
lines changed

content/manuals/dhi/core-concepts/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ params:
2424
description: Learn how Docker Hardened Images support FIPS 140 by using validated cryptographic modules and providing signed attestations for compliance audits.
2525
icon: verified
2626
link: /dhi/core-concepts/fips/
27+
- title: STIG
28+
description: Learn how Docker Hardened Images provide STIG-hardened container images with verifiable security scan attestations for government and enterprise compliance requirements.
29+
icon: policy
30+
link: /dhi/core-concepts/stig/
2731

2832
grid_concepts_risk:
2933
- title: Common Vulnerabilities and Exposures (CVEs)

content/manuals/dhi/core-concepts/attestations.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,23 +58,27 @@ tooling or security platforms.
5858

5959
## Available attestations
6060

61-
The following attestations are available for each image variant.
61+
While every DHI variant includes a set of attestations, the attestations may
62+
vary based on the image variant. For example, some images may include a STIG
63+
scan attestation. The following table is a comprehensive list of all
64+
attestations that may be included with a DHI:
6265

6366
| Attestation type | Description | Predicate type URI |
6467
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|
6568
| CycloneDX SBOM | A software bill of materials in [CycloneDX](https://cyclonedx.org/) format, listing components, libraries, and versions. | `https://cyclonedx.org/bom/v1.5` |
66-
| SPDX SBOM | An SBOM in [SPDX](https://spdx.dev/) format, widely adopted in open-source ecosystems. | `https://spdx.dev/Document` |
67-
| Scout SBOM | An SBOM generated and signed by Docker Scout, including additional Docker-specific metadata. | `https://scout.docker.com/sbom/v0.1` |
68-
| CVEs (in-toto format) | A list of known vulnerabilities (CVEs) affecting the image's components, based on package and distro scanning. | `https://in-toto.io/attestation/vulns/v0.1` |
69-
| CVEs (Scout format) | A vulnerability report generated by Docker Scout, listing known CVEs and severity data. | `https://scout.docker.com/vulnerabilities/v0.1` |
69+
| STIG scan | Results of a STIG scan, with output in HTML and XCCDF formats. | `https://docker.com/dhi/stig/v0.1` |
70+
| CVEs (In-Toto format) | A list of known vulnerabilities (CVEs) affecting the image's components, based on package and distrobution scanning. | `https://in-toto.io/attestation/vulns/v0.1` |
7071
| VEX | A [Vulnerability Exploitability eXchange (VEX)](https://openvex.dev/) document that identifies vulnerabilities that do not apply to the image and explains why (e.g., not reachable or not present). | `https://openvex.dev/ns/v0.2.0` |
71-
| Secrets Scan | Results of a scan for accidentally included secrets, such as credentials, tokens, or private keys. | `https://scout.docker.com/secrets/v0.1` |
72-
| Virus Scan | Results of antivirus scans performed on the image layers. | `https://scout.docker.com/virus/v0.1` |
72+
| Scout health score | A signed attestation from Docker Scout that summarizes the overall security and quality posture of the image. | `https://scout.docker.com/health/v0.1` |
73+
| Scout provenance | Provenance metadata generated by Docker Scout, including the source Git commit, build parameters, and environment details. | `https://scout.docker.com/provenance/v0.1` |
74+
| Scout SBOM | An SBOM generated and signed by Docker Scout, including additional Docker-specific metadata. | `https://scout.docker.com/sbom/v0.1` |
75+
| Secrets scan | Results of a scan for accidentally included secrets, such as credentials, tokens, or private keys. | `https://scout.docker.com/secrets/v0.1` |
7376
| Tests | A record of automated tests run against the image, such as functional checks or validation scripts. | `https://scout.docker.com/tests/v0.1` |
74-
| Scout Health Score | A signed attestation from Docker Scout that summarizes the overall security and quality posture of the image. | `https://scout.docker.com/health/v0.1` |
75-
| Build Provenance (Scout) | Provenance metadata generated by Docker Scout, including the source Git commit, build parameters, and environment details. | `https://scout.docker.com/provenance/v0.1` |
76-
| SLSA Provenance | A standard [SLSA](https://slsa.dev/) provenance statement describing how the image was built, including build tool, parameters, and source. | `https://slsa.dev/provenance/v0.2` |
77-
| SLSA Verification Summary | A summary attestation indicating the image's compliance with SLSA requirements. | `https://slsa.dev/verification_summary/v1` |
77+
| Virus scan | Results of antivirus scans performed on the image layers. | `https://scout.docker.com/virus/v0.1` |
78+
| CVEs (Scout format) | A vulnerability report generated by Docker Scout, listing known CVEs and severity data. | `https://scout.docker.com/vulnerabilities/v0.1` |
79+
| SLSA provenance | A standard [SLSA](https://slsa.dev/) provenance statement describing how the image was built, including build tool, parameters, and source. | `https://slsa.dev/provenance/v0.2` |
80+
| SLSA verification summary | A summary attestation indicating the image's compliance with SLSA requirements. | `https://slsa.dev/verification_summary/v1` |
81+
| SPDX SBOM | An SBOM in [SPDX](https://spdx.dev/) format, widely adopted in open-source ecosystems. | `https://spdx.dev/Document` |
7882

7983
## View and verify attestations
8084

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
title: STIG
3+
description: Learn how Docker Hardened Images provide STIG-hardened container images with verifiable security scan attestations for government and enterprise compliance requirements.
4+
keywords: docker stig, stig-hardened images, stig guidance, openscap docker, secure container images
5+
---
6+
7+
## What is STIG?
8+
9+
[Security Technical Implementation Guides
10+
(STIGs)](https://public.cyber.mil/stigs/) are configuration standards published
11+
by the U.S. Defense Information Systems Agency (DISA). They define security
12+
requirements for operating systems, applications, databases, and other
13+
technologies used in U.S. Department of Defense (DoD) environments.
14+
15+
STIGs help ensure that systems are configured securely and consistently to
16+
reduce vulnerabilities. They are often based on broader requirements like the
17+
DoD's General Purpose Operating System Security Requirements Guide (GPOS SRG).
18+
19+
## Why STIG guidance matters
20+
21+
Following STIG guidance is critical for organizations that work with or support
22+
U.S. government systems. It demonstrates alignment with DoD security standards
23+
and helps:
24+
25+
- Accelerate Authority to Operate (ATO) processes for DoD systems
26+
- Reduce the risk of misconfiguration and exploitable weaknesses
27+
- Simplify audits and reporting through standardized baselines
28+
29+
Even outside of federal environments, STIGs are used by security-conscious
30+
organizations as a benchmark for hardened system configurations.
31+
32+
STIGs are derived from broader NIST guidance, particularly [NIST Special
33+
Publication 800-53](https://csrc.nist.gov/publications/sp800), which defines a
34+
catalog of security and privacy controls for federal systems. Organizations
35+
pursuing compliance with 800-53 or related frameworks (such as FedRAMP) can use
36+
STIGs as implementation guides that help meet applicable control requirements.
37+
38+
## How Docker Hardened Images help apply STIG guidance
39+
40+
Docker Hardened Images (DHIs) include STIG variants that are scanned against
41+
custom STIG-based profiles and include signed STIG scan attestations. These
42+
attestations can support audits and compliance reporting.
43+
44+
Docker creates custom STIG-based profiles for images based on the GPOS SRG and
45+
DoD Container Hardening Process Guide. Because DISA has not published a STIG
46+
specifically for containers, these profiles help apply STIG-like guidance to
47+
container environments in a consistent, reviewable way and are designed to
48+
reduce false positives common in container images.
49+
50+
## Identify images that include STIG scan results
51+
52+
Docker Hardened Images that include STIG scan results are labeled as **STIG** in
53+
the Docker Hardened Images catalog.
54+
55+
To find DHI repositories with STIG image variants, [explore
56+
images](../how-to/explore.md) and:
57+
58+
- Use the **STIG** filter on the catalog page
59+
- Look for **STIG** labels on individual image listings
60+
61+
To find a STIG image variant within a repository, go to the **Tags** tab in the
62+
repository, and find images labeled with **STIG** in the **Compliance** column.
63+
64+
## View and verify STIG scan results
65+
66+
Docker provides a signed [STIG scan
67+
attestation](../core-concepts/attestations.md) for each STIG-hardened image.
68+
These attestations include:
69+
70+
- A summary of the scan results, including the number of passed, failed, and not
71+
applicable checks
72+
- The name and version of the STIG profile used
73+
- Full output in both HTML and XCCDF (XML) formats
74+
75+
### View STIG scan attestations
76+
77+
You can retrieve and inspect a STIG scan attestation using the Docker Scout CLI:
78+
79+
```console
80+
$ docker scout attest get \
81+
--predicate-type https://docker.com/dhi/stig/v0.1 \
82+
--verify \
83+
--predicate \
84+
<your-namespace>/dhi-<image>:<tag>
85+
```
86+
87+
### Extract HTML report
88+
89+
To extract and view the human-readable HTML report:
90+
91+
```console
92+
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
93+
--predicate-type https://docker.com/dhi/stig/v0.1 \
94+
--verify \
95+
--predicate \
96+
| jq -r '.[0].output[] | select(.format == "html").content | @base64d' > stig_report.html
97+
```
98+
99+
### Extract XCCDF report
100+
101+
To extract the XML (XCCDF) report for integration with other tools:
102+
103+
```console
104+
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
105+
--predicate-type https://docker.com/dhi/stig/v0.1 \
106+
--verify \
107+
--predicate \
108+
| jq -r '.[0].output[] | select(.format == "xccdf").content | @base64d' > stig_report.xml
109+
```
110+
111+
### View STIG scan summary
112+
113+
To view just the scan summary without the full reports:
114+
115+
```console
116+
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
117+
--predicate-type https://docker.com/dhi/stig/v0.1 \
118+
--verify \
119+
--predicate \
120+
| jq -r '.[0] | del(.output)'
121+
```
122+
123+

content/manuals/dhi/how-to/explore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ To explore image variants:
7474
The **Tags** page provides the following information:
7575

7676
- Tags: A list of all available tags, also known as image variants.
77-
- Compliance: Lists relevant compliance designations. For example, `FIPS`.
77+
- Compliance: Lists relevant compliance designations. For example, `FIPS` or `STIG`.
7878
- Distribution: The distribution that the variant is based on. For example, `debian 12` or `alpine 3.21`.
7979
- Package manager: The package manager that is available in the variant. For example, `apt`, `apk`, or `-` (no package manager).
8080
- Shell: The shell that is available in the variant. For example, `bash`, `busybox`, or `-` (no shell).

0 commit comments

Comments
 (0)