Repository navigation
Releases: db-infra-ops/Trivy-GUI
Release list
Trivy GUI 0.6.2
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.2Maintenance release with no functional changes compared to 0.6.1.
Changes
- One image per release: images are now published only for release tags. Each release produces exactly one image tagged
<version>,<major>.<minor>andlatest, solatestalways points to the newest release. Previously, pushes tomainpublished a separatelatestimage with a different digest. - Pushes to
mainand pull requests are still built for amd64 and arm64 and checked by the smoke test, but nothing is published. - Pre-release tags such as
v1.3.0-rc1are published withoutlatest. - SBOM and build provenance are generated only for published release images. This makes builds on
mainless dependent on Docker Hub. sha-<commit>image tags are no longer created.
Upgrade
Change the image tag to 0.6.2, then run docker compose pull && docker compose up -d. Updating is optional; the application is unchanged.
Full changelog: v0.6.1...v0.6.2
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.2Wartungs-Release ohne funktionale Änderungen gegenüber 0.6.1.
Änderungen
- Ein Image pro Release: Images werden nur noch bei Release-Tags veröffentlicht. Jedes Release erzeugt genau ein Image mit den Tags
<version>,<major>.<minor>undlatest, sodasslatestimmer auf das neueste Release zeigt. Bisher haben Pushes aufmainein separateslatest-Image mit anderem Digest veröffentlicht. - Pushes auf
mainund Pull Requests werden weiterhin für amd64 und arm64 gebaut und per Smoke-Test geprüft, aber nicht veröffentlicht. - Vorab-Versionen wie
v1.3.0-rc1werden ohnelatestveröffentlicht. - SBOM und Build-Provenance werden nur noch für veröffentlichte Release-Images erzeugt. Dadurch hängen Builds auf
mainweniger von Docker Hub ab. sha-<commit>-Tags werden nicht mehr erzeugt.
Update
Image-Tag auf 0.6.2 ändern, dann docker compose pull && docker compose up -d. Das Update ist optional, die Anwendung ist unverändert.
Alle Änderungen: v0.6.1...v0.6.2
Trivy GUI 0.6.1
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.1Maintenance release with no functional changes compared to 0.6.0.
Changes
- Base image source: the Trivy base image is now pulled from
ghcr.io/aquasecurity/trivyinstead of Docker Hub. It is the official copy with the identical digest, so the image content is unchanged (Trivy 0.74.0). Background: Docker Hub repeatedly blocked builds on GitHub runners with rate limits (HTTP 429). - The README shows the matching command to look up the digest when upgrading Trivy:
docker buildx imagetools inspect ghcr.io/aquasecurity/trivy:<version>
Upgrade
Change the image tag to 0.6.1, then run docker compose pull && docker compose up -d. Updating is optional; 0.6.0 behaves the same.
Full changelog: v0.6.0...v0.6.1
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.1Wartungs-Release ohne funktionale Änderungen gegenüber 0.6.0.
Änderungen
- Bezugsquelle des Basisimages: Das Trivy-Basisimage wird jetzt von
ghcr.io/aquasecurity/trivystatt von Docker Hub bezogen. Es ist die offizielle Kopie mit identischem Digest, der Inhalt des Images ist also unverändert (Trivy 0.74.0). Hintergrund: Docker Hub hat Builds auf GitHub-Runnern wiederholt per Rate-Limit (HTTP 429) blockiert. - Die README zeigt den passenden Befehl, um beim Trivy-Update den Digest zu ermitteln:
docker buildx imagetools inspect ghcr.io/aquasecurity/trivy:<version>
Update
Image-Tag auf 0.6.1 ändern, dann docker compose pull && docker compose up -d. Das Update ist optional, 0.6.0 verhält sich gleich.
Alle Änderungen: v0.6.0...v0.6.1
Trivy GUI 0.6.0
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.0New: login page
The browser's Basic Auth dialog is replaced by a proper login page.
- Login page in English and German; the header shows the signed-in user and a Log out button
- Session cookie with a random token,
HttpOnlyandSameSite=Strict. Behind an HTTPS reverse proxy (e.g. Nginx Proxy Manager) it is automatically markedSecure. - Brute-force protection: every failed attempt is delayed by one second; after 20 failed attempts within 5 minutes, logins are blocked temporarily. Existing sessions keep working.
- Scripts can still call the API with Basic Auth (
curl -u admin:<password> …); the same brute-force protection applies.
New options
| Variable | Default | Description |
|---|---|---|
SESSION_HOURS |
8 |
How long a login stays valid |
COOKIE_SECURE |
auto |
Secure flag of the session cookie: auto, true, false |
Upgrade notes
- Existing
AUTH_USER/AUTH_PASSWORDsettings keep working. Instead of the browser dialog you now get the login page. AUTH_PASSWORDalone is enough to enable the login; the username then defaults toadmin.- Changed: if
AUTH_USERis set butAUTH_PASSWORDis empty, the container now refuses to start (previously it only logged a warning). - Sessions are kept in memory, so you have to sign in again after a container restart.
To upgrade, change the image tag to 0.6.0, then run docker compose pull && docker compose up -d.
Other changes
- The README deployment example shows the credentials directly, with the matching variables (
TRIVY_GUI_USER/TRIVY_GUI_PASSWORD) for Portainer or.envin the comments - The CI smoke test now also checks the login (redirect, wrong/correct password, session, Basic Auth, logout)
Full changelog: v0.5.3...v0.6.0
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.6.0Neu: Login-Seite
Der Basic-Auth-Dialog des Browsers wird durch eine richtige Login-Seite ersetzt.
- Login-Seite auf Deutsch und Englisch; die Kopfzeile zeigt den angemeldeten Benutzer und einen Abmelden-Button
- Sitzungs-Cookie mit zufälligem Token,
HttpOnlyundSameSite=Strict. Hinter einem HTTPS-Reverse-Proxy (z. B. Nginx Proxy Manager) wird es automatisch alsSecuremarkiert. - Schutz vor Passwort-Raten: Jeder Fehlversuch wird um eine Sekunde verzögert; nach 20 Fehlversuchen in 5 Minuten wird die Anmeldung vorübergehend gesperrt. Bestehende Sitzungen laufen weiter.
- Skripte können die API weiterhin mit Basic-Auth aufrufen (
curl -u admin:<passwort> …); dafür gilt derselbe Schutz.
Neue Optionen
| Variable | Standard | Bedeutung |
|---|---|---|
SESSION_HOURS |
8 |
Wie lange eine Anmeldung gültig bleibt |
COOKIE_SECURE |
auto |
Secure-Flag des Sitzungs-Cookies: auto, true, false |
Hinweise zum Update
- Bestehende Einstellungen mit
AUTH_USER/AUTH_PASSWORDfunktionieren weiter. Statt des Browser-Dialogs erscheint jetzt die Login-Seite. AUTH_PASSWORDallein reicht, um die Anmeldung zu aktivieren; der Benutzer heißt dannadmin.- Geändert: Ist
AUTH_USERgesetzt, aberAUTH_PASSWORDleer, startet der Container nicht mehr (bisher gab es nur eine Warnung). - Sitzungen liegen im Arbeitsspeicher, nach einem Neustart des Containers ist eine erneute Anmeldung nötig.
Für das Update den Image-Tag auf 0.6.0 ändern, dann docker compose pull && docker compose up -d.
Weitere Änderungen
- Das Deployment-Beispiel in der README zeigt die Zugangsdaten direkt, die passenden Variablen (
TRIVY_GUI_USER/TRIVY_GUI_PASSWORD) für Portainer oder.envstehen im Kommentar - Der CI-Smoke-Test prüft jetzt auch die Anmeldung (Weiterleitung, falsches/richtiges Passwort, Sitzung, Basic-Auth, Abmelden)
Alle Änderungen: v0.5.3...v0.6.0
Trivy GUI 0.5.3
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.5.3New: HTML report
The results view has a new HTML report button next to JSON and CSV.
- A single, self-contained HTML file that works without a server or internet connection
- Contains target, scan date, operating system, Trivy version, scan settings and active filters, a summary by severity, and the findings grouped by target with CVE links
- Includes the currently filtered findings, like the CSV export
- Uses the language selected in the UI (English/German)
- Optimized for printing; use "Print → Save as PDF" to get a PDF
- All content is escaped and the file has its own strict Content Security Policy, so code injected through scan data cannot run
Other changes
- Exports now use consistent file names:
trivy-<target>-<id>.html/.csv/.json - Scans record the Trivy version that produced them, and the report shows it
Upgrade
Change the image tag to 0.5.3, then run docker compose pull && docker compose up -d. Scan history and the Trivy database are kept.
Full changelog: v0.5.2...v0.5.3
English | Deutsch
docker pull ghcr.io/db-infra-ops/trivy-gui:0.5.3Neu: HTML-Bericht
In der Ergebnisansicht gibt es neben JSON und CSV den neuen Button „HTML-Bericht“.
- Eine einzelne, eigenständige HTML-Datei, die ohne Server und ohne Internetverbindung funktioniert
- Enthält Ziel, Scan-Datum, Betriebssystem, Trivy-Version, Scan-Einstellungen und aktive Filter, eine Übersicht nach Schweregrad und die Funde gruppiert nach Ziel mit CVE-Links
- Enthält die aktuell gefilterten Funde, wie der CSV-Export
- Erscheint in der in der Oberfläche eingestellten Sprache (Deutsch/Englisch)
- Druckoptimiert; über „Drucken → Als PDF speichern“ wird daraus ein PDF
- Alle Inhalte werden escaped, und die Datei bringt eine eigene strikte Content Security Policy mit, damit über Scan-Daten eingeschleuster Code nicht ausgeführt wird
Weitere Änderungen
- Exporte haben jetzt einheitliche Dateinamen:
trivy-<ziel>-<id>.html/.csv/.json - Scans speichern die Trivy-Version, mit der sie erstellt wurden; der Bericht zeigt sie an
Update
Image-Tag auf 0.5.3 ändern, dann docker compose pull && docker compose up -d. Scan-Verlauf und Trivy-Datenbank bleiben erhalten.
Alle Änderungen: v0.5.2...v0.5.3
Trivy GUI 0.5.2
English | Deutsch
First public release of Trivy GUI, a lightweight web interface for Trivy that runs in a single Docker container.
docker pull ghcr.io/db-infra-ops/trivy-gui:0.5.2Features
- Scan container images (local via Docker socket or from a registry) and Git repositories
- Vulnerabilities, secrets, misconfigurations and licenses
- Results by severity with search, filters and a sortable table
- Scan history with rescan, cancel and delete
- Export as Trivy JSON or CSV
- User interface in English and German
- Multi-arch image (amd64/arm64) with SBOM and build provenance
Changes in 0.5.2
- Alpine security updates: the image now runs
apk upgradeduring the build. This removes all 11 fixable HIGH vulnerabilities in Alpine packages (openssl, expat, pcre2). - CI report: each build lists the findings in its own image in the job summary, with license findings shown separately.
Changes in 0.5.1
- Trivy 0.74.0, pinned by tag and digest
- "Only vulnerabilities with an available fix" is enabled by default (like
--ignore-unfixed) - CI smoke test: before publishing, the built container runs real scans (local image via Docker socket and a registry image)
Security notes
- Trivy is deliberately pinned;
latestis never used (background: Trivy supply-chain incident in March 2026, CVE-2026-33634). - 6 HIGH findings remain in the Trivy binary itself (Go stdlib 1.26.6, grpc, x/net). They can only be fixed by a newer Trivy release.
- Mounting the Docker socket effectively grants root on the host. Only expose the GUI with
AUTH_USER/AUTH_PASSWORDbehind a reverse proxy, see the README.
Upgrade
Change the image tag to 0.5.2, then run docker compose pull && docker compose up -d. Scan history and the Trivy database are kept.
English | Deutsch
Erstes öffentliches Release von Trivy GUI, einer schlanken Weboberfläche für Trivy in einem einzigen Docker-Container.
docker pull ghcr.io/db-infra-ops/trivy-gui:0.5.2Funktionen
- Container-Images (lokal über den Docker-Socket oder aus einer Registry) und Git-Repositories scannen
- Schwachstellen, Secrets, Fehlkonfigurationen und Lizenzen
- Ergebnisse nach Schweregrad mit Suche, Filtern und sortierbarer Tabelle
- Scan-Verlauf mit erneut scannen, Abbrechen und Löschen
- Export als Trivy-JSON oder CSV
- Oberfläche auf Deutsch und Englisch
- Multi-Arch-Image (amd64/arm64) mit SBOM und Build-Provenance
Änderungen in 0.5.2
- Alpine-Sicherheitsupdates: Das Image führt beim Build
apk upgradeaus. Damit sind alle 11 behebbaren hohen Schwachstellen in Alpine-Paketen (openssl, expat, pcre2) beseitigt. - CI-Bericht: Jeder Build listet die Funde im eigenen Image in der Job-Zusammenfassung auf, Lizenz-Funde getrennt.
Änderungen in 0.5.1
- Trivy 0.74.0, gepinnt per Tag und Digest
- „Nur Schwachstellen mit verfügbarem Fix“ ist standardmäßig aktiv (wie
--ignore-unfixed) - CI-Smoke-Test: Vor der Veröffentlichung führt der gebaute Container echte Scans aus (lokales Image über den Docker-Socket und ein Registry-Image)
Sicherheitshinweise
- Trivy ist bewusst fest gepinnt,
latestwird nie verwendet (Hintergrund: Supply-Chain-Vorfall bei Trivy im März 2026, CVE-2026-33634). - Im Trivy-Binary selbst verbleiben 6 hohe Funde (Go-Stdlib 1.26.6, grpc, x/net). Sie lassen sich nur durch ein neueres Trivy-Release beheben.
- Der Docker-Socket entspricht faktisch Root-Rechten auf dem Host. Die GUI nur mit
AUTH_USER/AUTH_PASSWORDhinter einem Reverse-Proxy freigeben, siehe README.
Update
Image-Tag auf 0.5.2 ändern, dann docker compose pull && docker compose up -d. Scan-Verlauf und Trivy-Datenbank bleiben erhalten.