Skip to main content

Image Scanning

Three ways to scan: Quick Scan for any image reference (public or one you have credentials for), registry scans for the images you already synced (Registries), and Compiled Image Scan from the Code Command Center for the image a pipeline just built. All three produce the same result shape and land on the Scan Results tab.

Quick Scan

Where: Container Security → Quick Scan.

Quick Scan tab: SBOM / vulnerability detection / real-time integration cards, container image name field and scan type selector

  1. Enter the image referencenginx:1.25.3, ghcr.io/org/app:2.4.0, or a full registry path. Docker Hub public images work without setup; private registries use the credentials of a connected registry.

  2. Pick the scan type:

    TypeRunsUse when
    Full AnalysisTrivy vulnerabilities and misconfigurations, Syft SBOM, secrets in image layers, recommendationsDefault — everything you need to decide whether an image may ship.
    Vulnerability OnlyGrype CVE scan with CVSS scores and fix versionsFast check of a base image or a re-check after a rebuild.
    SBOMSyft SBOM in CycloneDX, SPDX or Syft JSONInventory or licence questions — see SBOM lifecycle.
  3. Start scan. The image is pulled and analysed in the background; results appear on Scan Results in a few minutes for typical images.

Registry scans (Registries) can run Syft, Grype and Trivy per image; results are normalised to the same shape whichever engine produced them.

Reading a result

Where: Container Security → Scan ResultsView Details.

Scan Results tab listing nginx:1.25.3, python:3.9-slim, node:18-alpine and alpine:3.17 full-analysis scans with per-severity counts and View Details buttons

Expanded scan detail for alpine:3.17: vulnerability summary by severity (26 total), risk score, JSON / CSV / SBOM export and AI Summary

SectionWhat it tells you
Vulnerability summaryCounts by severity (critical / high / medium / low / negligible), total, a risk level and risk score.
VulnerabilitiesOne row per CVE × package: ID, package, installed version, fixed version when one exists, severity, description. Sort to find the fixable criticals first.
SBOMTotal packages and the package list by type (OS packages, npm, pip, Go modules, …).
Secrets / misconfigurationsHard-coded credentials found in layers and image configuration issues (full analysis).
RecommendationsPlain-language next steps — upgrade the base image, pin versions, drop packages.
ExportsJSON (full result), CSV (vulnerability table), SBOM (the generated SBOM), and an AI Summary for a ticket or a release note.

Re-scanning the same image later shows the change since the previous scan — new and fixed vulnerabilities — and the Security Posture Trend on the Compliance tab plots total findings per scan over time.

Fix the base image first

Most of an application image's CVEs come from its base. Compare python:3.9-slim (1,200+ findings in the example above) with a current slim or distroless base before chasing individual packages.

Dockerfile scanning

Where: Container Security → Dockerfile Scan.

Paste a Dockerfile and select Scan Dockerfile to get a graded result in seconds — before anything is built.

Dockerfile Security Scanner: a pasted Dockerfile, Grade F with 8 findings, and rule cards such as DS004 (secrets in ENV, critical) with the fix

The 14 rules and their severities:

RuleSeverityChecks
DS001HighContainer runs as root
DS002Mediumlatest tag on the base image
DS003MediumADD used where COPY is safer
DS004CriticalSecrets in ENV instructions
DS005MediumMissing HEALTHCHECK
DS006LowUnnecessary EXPOSEd ports
DS007LowNo multi-stage build
DS008Lowapt-get / apk without --no-cache or cleanup
DS009MediumUnpinned package versions
DS010Highsudo in the image
DS011MediumPrivileged ports
DS012Mediumapt-get upgrade in the build
DS013HighNo non-root USER before CMD / ENTRYPOINT
DS014MediumVOLUME on sensitive paths

Each finding shows the line, the rule and the fix. Dockerfiles committed to a repository are also covered by the IaC scan in the Code Command Center (Checkov's Dockerfile checks).