Vergleich
Stackwatch und Renovate: Updates oder Frühwarnung?
Kurz gesagt: Behalte Renovate. Es hält deine Versionen aktuell, auch Docker-Images und Versionsdateien. Welcher Pull Request heute nicht warten darf, weil eine neue Lücke deine Runtime trifft, sagt es dir nicht. Das ist die Aufgabe von Stackwatch.
Veröffentlicht am , Stackwatch-Team
Das Wichtigste in drei Sätzen
Renovate hält Versionen aktuell, per Pull Request, und versteht dabei mehr Dateien als die meisten Update-Werkzeuge: Dockerfiles, docker-compose, .nvmrc, .python-version und .tool-versions. Ob eine neue Lücke deinen Stack trifft, beantwortet es nicht: Sicherheitsinformationen holt es auf GitHub aus den Dependabot-Alerts, die eigene OSV-Anbindung ist experimentell und gilt nur für direkte Abhängigkeiten aus Paket-Registern. Stackwatch beantwortet genau diese Frage und ersetzt Renovate nicht.
Was Renovate prüft
Renovate arbeitet mit sogenannten Managern, je einer pro Dateityp. Für den Stack bis zur Runtime sind diese wichtig:
dockerfileunddocker-composelesen Image-Referenzen, alsoFROM-Zeilen (auch in Multi-Stage-Builds),COPY --fromund Images in Compose-Dateien. Im Dockerfile erkennt Renovate auch Alpine- und Debian-Pakete, die inRUNmit fester Version installiert werden.nvm,nodenvundpyenvlesen.nvmrc,.node-versionund.python-version.asdfliest.tool-versions, darunter auch PHP. Für eine.php-versiongibt es keinen eigenen Manager, dafür lassen sich mit dem Regex-Manager eigene Muster definieren.- Dazu die Paket-Manager wie
composer,npmund die verschiedenen pip-Varianten sowiegithub-actions.
Für Sicherheitslücken gibt es zwei Wege. vulnerabilityAlerts liest auf GitHub die Dependabot-Alerts des Repos (Dependency Graph und Dependabot-Alerts müssen aktiv sein) und öffnet daraus Fix-PRs. Diese PRs überspringen Zeitplan und PR-Limits und tragen den Zusatz [SECURITY] in der Commit-Nachricht. osvVulnerabilityAlerts fragt OSV direkt ab, ist als experimentell markiert, standardmäßig aus und gilt laut Doku nur für direkte Abhängigkeiten aus bestimmten Registern wie npm, Packagist und PyPI. Docker-Images gehören nicht dazu. Warum die Dependabot-Alerts keine Runtime-Lücken kennen, steht im Vergleich mit Dependabot.
Das Beispiel PHP2Shell
Am 21. Oktober 2026 wurde PHP2Shell (CVE-2026-109618) veröffentlicht, eine kritische Remote Code Execution im PHP-Kern. Ein typisches Repo sah so aus:
FROM php:8.3.35-fpmRenovate kennt diese Zeile und schlägt ein neueres Image-Tag vor, sobald es eines gibt. Das ist ein normales Update: Es folgt deinem Zeitplan (schedule) und deinen PR-Limits und ist nicht als Sicherheitsupdate markiert. Ein Vulnerability-PR entsteht nicht, weil weder die Dependabot-Alerts noch die OSV-Anbindung von Renovate Docker-Images abdecken. Ob dieser PR heute gemergt werden muss oder bis zum nächsten Sprint warten kann, sagt dir niemand.
Stackwatch liest dasselbe Dockerfile, erkennt PHP 8.3.35 mit Beleg (Dockerfile:1) und gleicht neue Advisories gegen diese Version ab. Bei einem Treffer kommt ein Alert mit der gefixten Version, der konkreten Änderung für dieses Repo und einem Workaround, falls du nicht sofort patchen kannst. Den Renovate-PR mergst du dann mit gutem Grund sofort. Wie das im Detail abläuft, steht unter So funktioniert’s.
Der Vergleich
| Renovate | Stackwatch | |
|---|---|---|
| Aufgabe | Versionen aktuell halten, per Pull Request | Melden, ob eine neue Lücke deinen Stack trifft, und was du jetzt tust |
| Was wird gelesen | Pakete, Docker-Images, Versionsdateien wie .nvmrc, .python-version, .tool-versions, GitHub Actions | Der Stack bis zur Runtime: PHP-, Node.js- und Python-Version aus Dockerfiles, Configs und CI, dazu Frameworks und Pakete |
| Runtime-Lücken (z. B. PHP2Shell) | Tag-Update als normaler PR, ohne Sicherheitskennzeichnung | Ja, Versionsabgleich mit Beleg (Datei und Zeile) |
| Quellen für Lücken | Dependabot-Alerts auf GitHub; OSV experimentell, nur direkte Abhängigkeiten aus Paket-Registern | OSV inklusive GitHub Advisories, NVD, CISA KEV, Security-Feeds von PHP, Node.js und Python, dazu Frühwarnungen |
| Ergebnis | Pull Request, Dependency Dashboard als Issue im Repo | Alert per E-Mail mit Fix und Workaround für dein Repo, Bestätigung per Link |
| Plattformen | GitHub, GitLab, Bitbucket, Azure DevOps, Gitea, Forgejo und weitere | GitHub, dazu WordPress-Seiten |
| Kosten | Open Source (AGPL-3.0); gehostete Mend Renovate App mit kostenloser Community Cloud, Enterprise Cloud kostenpflichtig | Nach Plan, siehe Preise |
| Daten | Selbst betreiben (npm-Paket oder Container-Image) oder bei Mend gehostet | Hosting in Deutschland, AVV nach Art. 28 DSGVO |
Stand: 5. November 2026. Stackwatch-Angaben beziehen sich auf die Beta.
Wann Renovate allein reicht
Wenn deine Abhängigkeiten zuverlässig aktuell sind, weil Renovate-PRs zügig gemergt werden, auch die für Docker-Tags und Versionsdateien, bist du bei den meisten Lücken schnell auf einer gefixten Version. Auf GitHub kommen mit vulnerabilityAlerts Fix-PRs für Pakete dazu, die nicht auf den Zeitplan warten. Wer zusätzlich keine eigenen Runtimes betreibt, braucht vor allem Disziplin beim Mergen, kein weiteres Werkzeug.
Wann du mehr brauchst
- Renovate-PRs bleiben bei dir auch mal ein paar Tage liegen, und du willst wissen, welcher davon heute nicht warten darf.
- Deine Repos enthalten Dockerfiles,
.php-version,.nvmrcoder CI-Configs mit festen Runtime-Versionen, und du willst bei einer Runtime-Lücke gewarnt werden, nicht erst beim nächsten Tag-Update. Welche Versionen noch Sicherheitsupdates bekommen, zeigt die End-of-Life-Übersicht für PHP, Node.js und Python. - Du musst im Audit belegen, wann du von einer Lücke wusstest und wie du reagiert hast (ISO 27001, NIS2). Mehr dazu im Artikel Schwachstellenmanagement nach NIS2 und ISO 27001.
So ergänzen sich beide
Lass Renovate die Versionen pflegen, mit deinem Zeitplan, deinen Regeln und dem Dependency Dashboard. Stackwatch liest Runtime und Pakete aus deinen Repos, meldet Treffer mit Beleg und sagt dir, welches Update jetzt dran ist. Oft ist der passende Renovate-PR dann schon offen. Weitere Werkzeuge vergleichen wir in der Übersicht Dependabot-Alternativen 2026.
Quellen
- Renovate Docs: Übersicht (Plattformen, Lizenz, Betrieb)
- Renovate Docs: Managers
- Renovate Docs: Dockerfile-Manager
- Renovate Docs: Configuration options (vulnerabilityAlerts, osvVulnerabilityAlerts)
- Renovate Docs: Dependency Dashboard
- Renovate Docs: Mend-hosted Apps
- Renovate-Quellcode: Option osvVulnerabilityAlerts (experimental)
- PHP Security Advisory GHSA-w8hw-w9fx-j79w
Häufige Fragen
Meldet Renovate Lücken in der PHP-, Node.js- oder Python-Runtime?
Nein. Renovate hebt Docker-Tags und Versionsdateien wie .nvmrc an, kennzeichnet diese Updates aber nicht als Sicherheitsupdates. Seine Sicherheitsinformationen kommen auf GitHub aus den Dependabot-Alerts und optional aus OSV, beides deckt Docker-Images nicht ab.
Was macht die Option vulnerabilityAlerts in Renovate?
Sie liest auf GitHub die Dependabot-Alerts des Repos und öffnet daraus Fix-Pull-Requests. Dafür müssen Dependency Graph und Dependabot-Alerts aktiv sein. Diese PRs überspringen Zeitplan und PR-Limits.
Was ist osvVulnerabilityAlerts?
Eine Option, mit der Renovate die OSV-Datenbank direkt abfragt. Sie ist als experimentell markiert, standardmäßig aus und gilt laut Doku nur für direkte Abhängigkeiten aus bestimmten Paket-Registern wie npm, Packagist und PyPI.
Welche Versionsdateien kann Renovate aktualisieren?
Unter anderem Dockerfiles, docker-compose-Dateien, .nvmrc, .node-version, .python-version und .tool-versions, dazu GitHub Actions. Für eine .php-version gibt es keinen eigenen Manager, eigene Muster lassen sich mit dem Regex-Manager abbilden.
Wann reicht Renovate allein?
Wenn Renovate-PRs zügig gemergt werden, auch für Docker-Tags und Versionsdateien, und du keine eigenen Runtimes betreibst. Dann bist du bei den meisten Lücken schnell auf einer gefixten Version.
Kann Stackwatch Renovate ersetzen?
Nein. Renovate pflegt weiter deine Versionen und öffnet seine Pull Requests. Stackwatch liest Runtime und Pakete aus deinen Repos, meldet Treffer mit Beleg und sagt dir, welches Update jetzt dran ist.