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)
- Agent v1.2.0 or later
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 |
|---|---|
| Demo | Yes (limited to 5 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 NVD, Red Hat, Alpine, Debian, Ubuntu, and more |
| 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 version is v1.2.0 or later