Container Image Scanning¶
SentriKat agents scan Windows, Linux, and container images in a single pass. When Docker or Podman is detected on an endpoint, the agent automatically scans all local container images for vulnerabilities using Trivy, the industry-standard open-source security scanner.
Container scanning is part of SentriKat's multi-platform approach, the same agent that collects Windows products and Linux packages also handles container images, with no extra configuration or additional agent deployment needed.
How It Works¶
- The SentriKat agent collects the regular software inventory (Windows products / Linux packages)
- It detects Docker or Podman during the same scan cycle
- Trivy is automatically downloaded and cached (~50MB, one-time)
- All local images are scanned for HIGH and CRITICAL severity vulnerabilities
- Results are sent to the SentriKat server alongside the regular software inventory
- Container vulnerabilities appear in the dashboard, alerts, and reports
graph LR
A[Agent] -->|Detects Docker| B[Trivy Scanner]
B -->|Scans Images| C[JSON Results]
C -->|POST /api/agent/container-scan| D[SentriKat Server]
D -->|Store| E[Container Vulnerabilities]
E -->|Display| F[Dashboard & Alerts] Requirements¶
- Docker or Podman installed on the endpoint
- Internet access (for initial Trivy binary download and vulnerability database)
- A current SentriKat agent
Configuration¶
Container scanning is enabled by default when Docker/Podman is detected.
Linux Agent¶
Set in /etc/sentrikat/agent.conf:
# Auto-detect (default): scans if Docker/Podman found
CONTAINER_SCAN_ENABLED=auto
# Force enable
CONTAINER_SCAN_ENABLED=true
# Disable container scanning
CONTAINER_SCAN_ENABLED=false
Windows Agent¶
Container scanning runs automatically when Docker Desktop is detected. No additional configuration is needed.
What Gets Scanned¶
- OS packages: Alpine APK, Debian/Ubuntu dpkg, RHEL/CentOS rpm, etc.
- Application dependencies: pip (Python), npm (Node.js), Maven (Java), Go modules, Rust crates, Ruby gems
- Severity filter: Only HIGH and CRITICAL vulnerabilities are reported (configurable)
Licensing¶
Container scanning is included in the Professional Edition at no extra cost. It uses the existing agent deployment. No new agent needed. The same endpoint running Docker still counts as a single agent slot regardless of how many container images are scanned.
| Edition | Container Scanning |
|---|---|
| Community | Yes (up to 10 agents) |
| Professional | Yes, unlimited images per agent |
API Reference¶
Submit Container Scan Results¶
The request body should contain the Trivy JSON output for the scanned images.
List Container Images¶
Optional query parameters:
| Parameter | Type | Description |
|---|---|---|
severity | string | Filter by severity (critical, high) |
search | string | Search by image name |
Get Image Details¶
Returns detailed vulnerability information for a specific container image.
Limits¶
| Limit | Value |
|---|---|
| Maximum images scanned per cycle | 50 |
| Scan timeout per image | 5 minutes |
| Authentication | Same agent API key as regular inventory |
Trivy Details¶
| Property | Value |
|---|---|
| Scanner | Trivy by Aqua Security |
| License | Apache-2.0 (free, open source) |
| Vulnerability database | Updated every 6 hours from the public databases and the distribution trackers |
| Binary size | ~50MB (cached locally) |
| Scan command | trivy image --format json --severity HIGH,CRITICAL <image> |
Troubleshooting¶
Trivy fails to download¶
Ensure the endpoint has internet access. Trivy needs to download its binary (~50MB) on first run and update its vulnerability database periodically.
If the endpoint is behind a proxy, configure the proxy settings in the agent configuration:
# /etc/sentrikat/agent.conf
HTTP_PROXY=http://proxy.example.com:8080
HTTPS_PROXY=http://proxy.example.com:8080
No container images found¶
Verify Docker or Podman is installed and running:
The agent runs docker images (or podman images) to discover local images. If no images are present, no container scan will be performed.
Scan results not appearing in dashboard¶
- Check agent logs for errors during the container scan phase
- Verify the agent API key has permission to submit container scan results
- Ensure the agent is up to date