@@ -51,39 +51,47 @@ vulnerabilities. You can use policies to measure and track other aspects of
5151supply chain management as well, such as open-source license usage and base
5252image up-to-dateness.
5353
54- ## Out-of-the-box policies
54+ ## Policy types
5555
56- Docker Scout ships the following out-of-the-box policies:
56+ In Docker Scout, a * policy* is derived from a * policy type* . Policy types are
57+ templates that define the core parameters of a policy. You can compare policy
58+ types to classes in object-oriented programming, with each policy acting as an
59+ instance created from its corresponding policy type.
5760
58- - [ No fixable critical or high vulnerabilities] ( #no-fixable-critical-or-high-vulnerabilities )
59- - [ No AGPL v3 licenses] ( #no-agpl-v3-licenses )
60- - [ No outdated base images] ( #no-outdated-base-images )
61- - [ No high-profile vulnerabilities] ( #no-high-profile-vulnerabilities )
62- - [ Supply chain attestations] ( #supply-chain-attestations )
63- - [ Default non-root user] ( #default-non-root-user )
64- - [ No unapproved base images] ( #no-unapproved-base-images )
61+ Docker Scout supports the following policy types:
6562
66- To give you a head start, Scout enables several policies by default for your
67- Scout-enabled repositories. You can customize the default configurations to
68- reflect internal requirements and standards. You can also disable a policy
69- altogether if it isn't relevant to you. For more information, see [ Configure
70- policies] ( ./configure.md ) .
63+ - [ Severity-Based Vulnerability] ( #severity-based-vulnerability )
64+ - [ Compliant Licenses] ( #compliant-licenses )
65+ - [ Up-to-Date Base Images] ( #up-to-date-base-images )
66+ - [ High-Profile Vulnerabilities] ( #high-profile-vulnerabilities )
67+ - [ Supply Chain Attestations] ( #supply-chain-attestations )
68+ - [ Default Non-Root User] ( #default-non-root-user )
69+ - [ Approved Base Images] ( #approved-base-images )
70+ - [ SonarQube Quality Gates] ( #sonarqube-quality-gates )
7171
72- There's also a set of [ additional policies] ( #additional-policies ) that can be
73- optionally enabled for repositories.
72+ Docker Scout automatically provides default policies for repositories where it
73+ is enabled, except for the SonarQube Quality Gates policy, which requires
74+ [ integration with SonarQube] ( /manuals/scout/integrations/code-quality/sonarqube.md )
75+ before use.
7476
75- ### No fixable critical or high vulnerabilities
77+ You can create custom policies from any of the supported policy types, or
78+ delete a default policy if it isn't applicable to your project. For more
79+ information, refer to [ Configure policies] ( ./configure.md ) .
7680
77- The ** No fixable critical or high vulnerabilities** policy requires that your
78- artifacts aren't exposed to known vulnerabilities where there's a fix version
79- available. Essentially, this means that there's an easy fix that you can deploy
80- for images that fail this policy: upgrade the vulnerable package to a version
81- containing a fix for the vulnerability.
81+ <!-- vale Docker.HeadingSentenceCase = NO -->
8282
83- By default, this policy only flags critical and high severity vulnerabilities.
83+ ### Severity-Based Vulnerability
8484
85- This policy is violated if an artifact is affected by one or more critical-
86- or high-severity vulnerability, where a fix version is available.
85+ The ** Severity-Based Vulnerability** policy type checks whether your
86+ artifacts are exposed to known vulnerabilities.
87+
88+ By default, this policy only flags critical and high severity vulnerabilities
89+ where there's a fix version available. Essentially, this means that there's an
90+ easy fix that you can deploy for images that fail this policy: upgrade the
91+ vulnerable package to a version containing a fix for the vulnerability.
92+
93+ Images are deemed non-compliant with this policy if they contain one or more
94+ vulnerabilities that fall outside the specified policy criteria.
8795
8896You can configure the parameters of this policy by creating a custom version of the policy.
8997The following policy parameters are configurable in a custom version:
@@ -109,31 +117,32 @@ The following policy parameters are configurable in a custom version:
109117
110118For more information about configuring policies, see [ Configure policies] ( ./configure.md ) .
111119
112- ### No AGPL v3 licenses
120+ ### Compliant Licenses
113121
114- The ** No AGPL v3 licenses ** policy requires that your artifacts don't contain
115- packages distributed under an AGPLv3 license. This policy is violated if
116- your artifacts contain one or more packages with this license.
122+ The ** Compliant Licenses ** policy type checks whether your images contain
123+ packages distributed under an inappropriate license. Images are considered
124+ non-compliant if they contain one or more packages with such a license.
117125
118126You can configure the list of licenses that this policy should look out for,
119127and add exceptions by specifying an allow-list (in the form of PURLs).
120128See [ Configure policies] ( ./configure.md ) .
121129
122- ### No outdated base images
130+ ### Up-to-Date Base Images
123131
124- The ** No outdated base images ** policy requires that the base images you use are
125- up-to-date.
132+ The ** Up-to-Date Base Images ** policy type checks whether the base images you
133+ use are up-to-date.
126134
127- It's violated when the tag you used to build your image points to a
128- different digest than what you're using. If there's a mismatch in digests, that
129- means the base image you're using is out of date.
135+ Images are considered non-compliant with this policy if the tag you used to
136+ build your image points to a different digest than what you're using. If
137+ there's a mismatch in digests, that means the base image you're using is out of
138+ date.
130139
131140Your images need provenance attestations for this policy to successfully
132141evaluate. For more information, see [ No base image data] ( #no-base-image-data ) .
133142
134- ### No high-profile vulnerabilities
143+ ### High-Profile Vulnerabilities
135144
136- The ** No high-profile vulnerabilities ** policy requires that your artifacts don't
145+ The ** High-Profile Vulnerabilities ** policy type checks whether your images
137146contain vulnerabilities from Docker Scout’s curated list. This list is kept
138147up-to-date with newly disclosed vulnerabilities that are widely recognized to
139148be risky.
@@ -146,8 +155,8 @@ The list includes the following vulnerabilities:
146155- [ CVE-2023 -44487 (HTTP/2 Rapid Reset)] ( https://scout.docker.com/v/CVE-2023-44487 )
147156- [ CVE-2024 -3094 (XZ backdoor)] ( https://scout.docker.com/v/CVE-2024-3094 )
148157
149- You can configure the CVEs included in this list by creating a custom policy.
150- Custom configuration options include:
158+ You can customize this policy to change which CVEs that are considered
159+ high-profile by configuring the policy. Custom configuration options include:
151160
152161- ** CVEs to avoid** : Specify the CVEs that you want to avoid in your artifacts.
153162
@@ -163,14 +172,14 @@ Custom configuration options include:
163172
164173For more information on policy configuration, see [ Configure policies] ( ./configure.md ) .
165174
166- ### Supply chain attestations
175+ ### Supply Chain Attestations
167176
168- The ** Supply chain attestations ** policy requires that your artifacts have
177+ The ** Supply Chain Attestations ** policy type checks whether your images have
169178[ SBOM] ( /manuals/build/metadata/attestations/sbom.md ) and
170179[ provenance] ( /manuals/build/metadata/attestations/slsa-provenance.md ) attestations.
171180
172- This policy is violated if an artifact lacks either an SBOM attestation or a
173- provenance attestation with max mode. To ensure compliance,
181+ Images are considered non-compliant if they lack either an SBOM attestation or
182+ a provenance attestation with * max mode* provenance . To ensure compliance,
174183update your build command to attach these attestations at build-time:
175184
176185``` console
@@ -184,18 +193,18 @@ If you're using GitHub Actions to build and push your images,
184193learn how you can [ configure the action] ( /manuals/build/ci/github-actions/attestations.md )
185194to apply SBOM and provenance attestations.
186195
187- ### Default non-root user
196+ ### Default Non-Root User
188197
189198By default, containers run as the ` root ` superuser with full system
190199administration privileges inside the container, unless the Dockerfile specifies
191200a different default user. Running containers as a privileged user weakens their
192201runtime security, as it means any code that runs in the container can perform
193202administrative actions.
194203
195- The ** Default non-root user ** policy detects images that are set to run as the
196- default ` root ` user. To comply with this policy, images must specify a non-root
197- user in the image configuration. Images violate this policy if they don't
198- specify a non-root default user for the runtime stage.
204+ The ** Default Non-Root User ** policy type detects images that are set to run as
205+ the default ` root ` user. To comply with this policy, images must specify a
206+ non-root user in the image configuration. Images are non-compliant with this
207+ policy if they don't specify a non-root default user for the runtime stage.
199208
200209For non-compliant images, evaluation results show whether or not the ` root `
201210user was set explicitly for the image. This helps you distinguish between
@@ -261,9 +270,9 @@ ENTRYPOINT ["/app/production"]
261270{{< /tab >}}
262271{{< /tabs >}}
263272
264- ### No unapproved base images
273+ ### Approved Base Images
265274
266- The ** No unapproved base images ** policy ensures that the base images you use
275+ The ** Approved Base Images ** policy type ensures that the base images you use
267276in your builds are maintained and secure.
268277
269278This policy checks whether the base images used in your builds match any of the
@@ -318,18 +327,9 @@ This policy is configurable with the following options:
318327Your images need provenance attestations for this policy to successfully
319328evaluate. For more information, see [ No base image data] ( #no-base-image-data ) .
320329
321- ## Additional policies
322-
323- In addition to the [ out-of-the-box policies] ( #out-of-the-box-policies ) enabled
324- by default, Docker Scout supports the following optional policies. Before you
325- can enable these policies, you need to either configure the policies, or
326- configure the integration that the policy requires.
327-
328- - [ SonarQube quality gates passed] ( #sonarqube-quality-gates-passed )
329-
330- ### SonarQube quality gates passed
330+ ### SonarQube Quality Gates
331331
332- The ** SonarQube quality gates passed ** policy builds on the [ SonarQube
332+ The ** SonarQube Quality Gates ** policy type builds on the [ SonarQube
333333integration] ( ../integrations/code-quality/sonarqube.md ) to assess the quality
334334of your source code. This policy works by ingesting the SonarQube code analysis
335335results into Docker Scout.
@@ -362,8 +362,8 @@ in the CLI.
362362## No base image data
363363
364364There are cases when it's not possible to determine information about the base
365- images used in your builds. In such cases, the ** No outdated base images ** and
366- ** No unapproved base images ** policies get flagged as having ** No data** .
365+ images used in your builds. In such cases, the ** Up-to-Date Base Images ** and
366+ ** Approved Base Images ** policies get flagged as having ** No data** .
367367
368368This "no data" state occurs when:
369369
0 commit comments