Security-Scanning ist ein unverzichtbarer Bestandteil moderner
Container-Lieferketten. Während Signaturen sicherstellen, von
wem ein Image stammt und dass es unverändert ist,
beantwortet Security-Scanning die Frage, ob das Image
vertrauenswürdig ist. Das Scanning deckt Schwachstellen auf,
bewertet Risiken und stellt sicher, dass Images konform zu
Unternehmensrichtlinien sind. Anders als klassische Paketmanager-Scans
untersucht Container-Scanning komplette OCI-Images: alle Layer, alle
Binaries, alle Konfigurationsartefakte. Podman und sein Ökosystem setzen
dabei auf Werkzeuge wie podman scan, Trivy, Clair, Grype
oder OpenSCAP.
Ein Container-Image enthält in der Regel:
Jedes dieser Elemente kann Schwachstellen enthalten – teils in
systemnahen Bereichen wie glibc, teils in
Applikationsbibliotheken.
Security-Scanning erkennt unter anderem:
Der Zugriff auf CVE-Datenbanken (NVD, Red Hat OVAL, Debian Security Advisories) ist dabei zentral.
Signaturen beweisen Herkunft. Scanning beweist Sicherheit.
Beide Mechanismen ergänzen sich, überschneiden sich jedoch nicht.
Ein signiertes Image kann unsicher sein. Ein gescanntes Image kann man-in-the-middle kompromittiert sein.
Ideal ist die Pipeline:

Ein Bild, das nicht besteht → wird nicht signiert → wird nicht acceptiert.
Podman integriert Security-Scanning über die
containers/image-Bibliothek:
podman scan <image>
Standardmäßig nutzt Podman den Scanner „Trivy“, sofern installiert. Andere Scanner können integriert werden.
Einer der populärsten Scanner:
Beispiel:
podman scan myapp:1.0
Typische Ausgabe:
CVE-2023-0466 (OpenSSL) HIGH
CVE-2022-37434 (zlib) MEDIUM
...
Ein weiterer Lightweight-Scanner, häufig in CI/CD eingesetzt:
grype registry.local/myapp:latest
Vorzüge:
Enterprise-fokussiert, serverseitiger Scanner. Ideal für Multi-Image-Scanning in großen Registries.
Für regulierte Umgebungen, z. B. Behörden oder ISO-zertifizierte Unternehmen.
Stärker, aber komplexer.
Container-Scanner extrahieren und prüfen jedes Layer und jedes Paket:

Zu den analysierten Quellen gehören:
dpkg -l oder rpm -q für OS-Paketepackage-lock.json, go.mod,
requirements.txtErkennt Fehler früh, verhindert unsichere Artefakte. Beispiel in GitLab oder GitHub Actions.
Scans laufen serverseitig bei jeder Image-Änderung. Clair, Harbor oder GitLab Container Registry integrieren das.
Vorteil: kontinuierliche Prüfung auf neue CVEs – ohne Neu-Build.
Scanner sind nur nützlich, wenn ihre Ergebnisse zu Entscheidungen führen. Policies definieren:
Podman selbst kann Entscheidungen über Trust-Policies treffen, aber Scanning-Policies müssen extern definiert werden, typischerweise:
Beispiel (Cosign + Policy Controller):
Scanner erkennen manchmal Bibliotheken, die nicht aktiv genutzt werden. Workaround: Layer-Slimming, Multi-Stage Builds.
Nicht alle CVEs sind sofort in Datenbanken verfügbar.
Scanner müssen Zugriff auf private Repos haben oder alternative Match-Daten verwenden.
JS, Python und Go bringen eigene Paketmanager, eigene CVE-Datenbanken und eigene Semantik.
Oft mehrere Sekunden bis Minuten – in CI-Pipelines relevant.
Security-Scanning ist ein struktureller Bestandteil der Containersicherheit. Es ergänzt Signaturen und Trust-Policies, indem es proaktiv Sicherheitsmängel identifiziert, bewertet und in den Entscheidungspfad von Build- und Deployment-Prozessen überführt. Ohne kontinuierliches Scanning bleibt jede Lieferkette blind für bekannte Schwachstellen – und damit unberechenbar.