How It Works
- Trivy integration: Prowler leverages Trivy to scan container images for vulnerabilities, secrets, misconfigurations, and license issues.
- Trivy required: Trivy must be installed and available in the system PATH before running any scan.
- Authentication: No registry authentication is required for public images. For private registries, configure Docker credentials via
docker loginbefore scanning. - Output formats: Results are output in the same formats as other Prowler providers (CSV, JSON, HTML, etc.).
Prowler CLI
Added in: 5.19.0
The Image provider is currently available in Prowler CLI only.
Install Trivy
Install Trivy using one of the following methods:- Homebrew
- apt (Debian/Ubuntu)
- Install Script
Supported Scanners
Prowler CLI supports the following scanners: By default, only vulnerability and secret scanners run during a scan. To specify which scanners to use, refer to the Specify Scanners section below.Scan Container Images
Use theimage argument to run Prowler with the Image provider. Specify the images to scan using the -I flag or an image list file.
Scan a Single Image
To scan a single container image:Scan Multiple Images
To scan multiple images, repeat the-I flag:
Scan From an Image List File
For large-scale scanning, provide a file containing one image per line:#) and blank lines:
Image list files are limited to a maximum of 10,000 lines. Individual image names exceeding 500 characters are automatically skipped with a warning.
- Standard tag:
alpine:3.18 - Custom registry:
myregistry.io/myapp:v1.0 - SHA digest:
ghcr.io/org/image@sha256:abc123...
Specify Scanners
To select which scanners Trivy runs, use the--scanners option. By default, Prowler enables vuln and secret scanners:
Image Config Scanners
To scan Dockerfile-level metadata for misconfigurations or embedded secrets, use the--image-config-scanners option:
- misconfig: Detects Dockerfile misconfigurations (e.g., running as root, missing health checks)
- secret: Identifies secrets embedded in Dockerfile instructions
Image config scanners are disabled by default. This option is independent from
--scanners and specifically targets the image configuration (Dockerfile) rather than the image filesystem.Filter by Severity
To filter findings by severity level, use the--trivy-severity option:
CRITICAL, HIGH, MEDIUM, LOW, UNKNOWN.
Ignore Unfixed Vulnerabilities
To exclude vulnerabilities without available fixes:Configure Scan Timeout
To adjust the scan timeout for large images or slow network conditions, use the--timeout option:
s), minutes (m), or hours (h). Default: 5m.
Authentication for Private Registries
The Image provider relies on Trivy for registry authentication. To scan images from private registries, configure Docker credentials before running the scan:~/.docker/config.json).
Troubleshooting Common Scan Errors
The Image provider categorizes common Trivy errors with actionable guidance:- Authentication failure (401/403): Registry credentials are missing or invalid. Run
docker loginfor the target registry and retry the scan. - Image not found (404): The specified image name, tag, or registry is incorrect. Verify the image reference exists and is accessible.
- Rate limited (429): The container registry is throttling requests. Wait before retrying, or authenticate to increase rate limits.
- Network issue: Trivy cannot reach the registry due to connectivity problems. Check network access, DNS resolution, and firewall rules.

