Nur die Schwachstellen, die zählen, behoben mit einem Pull Request
Scandar liest deine Lockfiles, behält die Probleme, die dein Code wirklich erreicht, erklärt sie einfach und öffnet einen Pull Request zum Prüfen.
main ← scandar/fix-web
Fix-Pull-Request geöffnet
Abhängigkeits-Updates auf scandar/fix-web committet.
Checks
Alle 3 Checks bestanden
Merge in main
Bereit zum Mergen. Scandar macht einen Squash-Merge und löscht den Branch.
npm, pnpm, Yarn, PyPI, Go, Cargo, Composer, RubyGems
GitHub, GitLab, öffentliche URL, Lockfile-Upload
GitHub, PyPA, Go, RustSec, RubySec…
Jeder Fix ist ein Pull Request
So funktioniert es
Von der Lockfile zum gemergten Fix in drei Schritten.
- 01
Verbinde deinen Code
Installiere die GitHub App auf den gewählten Repositories, verknüpfe GitLab, füge eine öffentliche URL ein oder lade deine Lockfiles hoch.
- 02
Sieh, was zählt
Jede Abhängigkeit wird auf OSV.dev geprüft und nach Schweregrad, Erreichbarkeit aus deinen Imports und verfügbarem Fix sortiert.
- 03
Merge den Fix
Scandar öffnet einen Pull Request, der jedes Paket auf die gepatchte Version hebt. Deine CI läuft, du mergst.
Ein Pull Request, keine To-do-Liste
Beispiel-Pull-Request. Pakete und IDs sind erfunden.
Automatische Abhängigkeits-Fixes von Scandar auf Basis von OSV.dev-Advisories.
| Paket | Von | Nach | Typ | Behebt |
|---|---|---|---|---|
| minimatch | 3.0.4 | 3.1.2 | direkt (package.json) | EXAMPLE-001 |
| brace-expansion | 1.1.11 | 1.1.12 | Overrides (transitiv) | EXAMPLE-002 |
package-lock.json wurde mit npm install neu aufgelöst. Nach dieser Änderung bleiben keine bekannten Advisories. Führe vor dem Merge deine Tests aus, besonders bei Änderungen mit major oder Override.
In einfachen Worten
minimatch 3.0.4 → 3.1.2 · EXAMPLE-001
- Was es ermöglicht: Ein Angreifer, der den geprüften Text kontrolliert, kann den Prozess so lange beschäftigen, dass die Anfrage hängt. Dieser Satz ist ein Beispiel, keine Advisory.
- Wann du betroffen bist: Nur wenn die Anwendung nicht vertrauenswürdige Eingaben an das Paket gibt. Das Beispiel beschreibt kein echtes Projekt.
- Upgrade: Das Beispiel hebt eine direkte Abhängigkeit auf ein späteres 3.x-Release. Lies vor dem Merge die Release Notes.
Direkte Bereiche wechseln zur gepatchten Version, transitive Pakete werden mit Overrides gepinnt, und die Lockfile wird neu erzeugt.
Die Beschreibung nennt jedes Paket und erklärt einfach, was es bedeutet, wenn bereits eine Erklärung im Cache liegt.
Wie ein Fix entstehtFunktionen
Alles, was dir hilft zu entscheiden, was zu beheben ist, und es dann zu beheben.
Erreichbarkeit
Trennt importierte Pakete von denen, die dein Code nie erreicht, und reduziert so das Rauschen.
Jetzt, planen, später
Ein Prioritätswert pro Schwachstelle statt einer Wand aus roten Badges.
Bösartige Pakete
Auf OSV als Malware markierte Pakete erscheinen zuerst, mit der zu entfernenden Version.
Einfache Erklärungen
Was eine Advisory für dein Projekt bedeutet und was ein Upgrade ändert, in wenigen Sätzen.
Pull-Request-Checks
Ein Check auf jedem Pull Request, der fehlschlägt, wenn eine kritische oder hohe Advisory hinzukommt.
Warnungen
Scans im Hintergrund, mit Warnungen in Slack, Discord und der App, sobald eine neue Advisory erscheint.
Mehrere Fix-PRs
Mehr als ein Fix pro Projekt, nie zweimal dasselbe Paket, nie ein Push auf main.
Exporte
CycloneDX- und SPDX-SBOMs, CSV, druckbarer Bericht und README-Badge.
Vergleich
Scandar neben Dependabot, Snyk, Socket und Aikido, nach dem, was jeder veröffentlicht.
Fragen
Behebe noch heute die Schwachstellen, die zählen
Scanne ein öffentliches Repository ohne Konto oder melde dich an, um einen Pull Request für deinen Code zu öffnen.