Seules les vulnérabilités qui comptent, corrigées par une pull request
Scandar lit vos lockfiles, garde les problèmes que votre code peut réellement atteindre, les explique simplement et ouvre une pull request à relire.
main ← scandar/fix-web
Pull request de correction ouverte
Mises à jour des dépendances commitées sur scandar/fix-web.
Vérifications
Les 3 vérifications ont réussi
Fusion dans main
Prête à fusionner. Scandar la fusionne en squash et supprime la branche.
npm, pnpm, Yarn, PyPI, Go, Cargo, Composer, RubyGems
GitHub, GitLab, URL publique, envoi de lockfile
GitHub, PyPA, Go, RustSec, RubySec…
Chaque correctif est une pull request
Comment ça marche
Du lockfile au correctif fusionné en trois étapes.
- 01
Connectez votre code
Installez la GitHub App sur les dépôts choisis, reliez GitLab, collez une URL publique ou déposez vos lockfiles.
- 02
Voyez ce qui compte
Chaque dépendance est vérifiée sur OSV.dev, puis classée par sévérité, atteignabilité depuis vos imports et existence d'un correctif.
- 03
Fusionnez le correctif
Scandar ouvre une pull request qui passe chaque paquet à sa version corrigée. Votre CI tourne, vous fusionnez.
Une pull request, pas une liste de tâches
Exemple de pull request. Les paquets et identifiants sont inventés.
Correctifs de dépendances générés par Scandar à partir des alertes OSV.dev.
| Paquet | De | Vers | Type | Corrige |
|---|---|---|---|---|
| minimatch | 3.0.4 | 3.1.2 | direct (package.json) | EXAMPLE-001 |
| brace-expansion | 1.1.11 | 1.1.12 | overrides (transitif) | EXAMPLE-002 |
package-lock.json a été recalculé avec npm install. Aucune alerte connue ne subsiste après ce changement. Lancez vos tests avant de fusionner, surtout pour les changements marqués majeur ou override.
En termes simples
minimatch 3.0.4 → 3.1.2 · EXAMPLE-001
- Ce que cela permet : Un attaquant qui contrôle le texte comparé peut occuper le processus au point de bloquer la requête. Cette phrase est une illustration, pas une alerte.
- Quand vous êtes exposé : Seulement si l'application transmet au paquet des entrées non fiables. L'exemple ne décrit pas un vrai projet.
- Mise à jour : L'exemple passe une dépendance directe à une version 3.x ultérieure. Lisez les notes de version avant de fusionner.
Les plages directes passent à la version corrigée, les paquets transitifs sont épinglés par des overrides et le lockfile est régénéré.
La description nomme chaque paquet et, si une explication est déjà en cache, dit ce que cela signifie en termes simples.
Comment un correctif est construitFonctionnalités
Tout ce qui aide à décider quoi corriger, puis à le corriger.
Atteignabilité
Distingue les paquets importés de ceux que votre code n'atteint jamais : le bruit baisse.
À corriger, à planifier, plus tard
Un score de priorité par vulnérabilité, pas un mur de badges rouges.
Paquets malveillants
Les paquets signalés comme malveillants sur OSV apparaissent en premier, avec la version à retirer.
Explications simples
Ce qu'une alerte signifie pour votre projet et ce que la mise à jour change, en quelques phrases.
Vérifications de pull request
Une vérification sur chaque pull request, en échec si elle ajoute une alerte critique ou élevée.
Alertes
Des analyses en arrière-plan, avec des alertes Slack, Discord et dans l'app à chaque nouvelle alerte.
Plusieurs PR de correction
Plusieurs correctifs par projet, jamais deux fois le même paquet, jamais de push sur main.
Exports
SBOM CycloneDX et SPDX, CSV, rapport imprimable et badge README.
Comparer
Scandar face à Dependabot, Snyk, Socket et Aikido, d'après ce que chacun publie.
Questions
Corrigez les vulnérabilités qui comptent, dès aujourd'hui
Analysez un dépôt public sans compte, ou connectez-vous pour ouvrir une pull request sur votre code.