SentinelloSentinello

Un système d'alerte précoce pour les dépendances que vous ne surveillez plus.

À l'ère de l'IA, vous livrez plus de projets Node.js que vous ne pouvez en maintenir. Sentinello surveille chacun d'eux et révèle les CVE connues dans leurs dépendances npm — pour qu'un projet oublié ne devienne jamais un incident.

Lancez-le en une seule commande :

docker run -d \
  --name sentinello \
  -p 3870:3000 \
  -v sentinello-data:/app/data \
  -v sentinello-nvm:/root/.nvm \
  -v ~/Developer:/roots/personal:ro \
  ghcr.io/walkofcode/sentinello:latest

Pas de compte. Pas de SaaS. Pas de télémétrie. Une image Docker et un fichier SQLite — votre code et vos résultats ne quittent jamais votre machine.

Comment ça marche

Trois étapes. Aucun agent à installer dans vos projets, aucun compte à créer.

Pointez-le vers votre code

Montez vos dépôts sous /roots, ou ajoutez-les depuis Paramètres → Roots. Chaque répertoire est enregistré et découvert automatiquement au démarrage.

Il analyse en continu

Un processus en arrière-plan compare vos dépendances aux CVE connues selon une planification, en installant la version de Node que chaque projet fixe lorsque c'est nécessaire.

Triage dans une seule file

Chaque résultat de chaque projet arrive dans une seule file que vous pouvez filtrer par gravité — avec des alertes optionnelles vers Slack, Telegram ou un webhook.

Fonctionnalités

Tout dans un portail auto-hébergé — aucun service externe, aucune donnée ne quitte votre réseau.

File de triage unique

Voyez et triez les CVE de tout votre portefeuille à un seul endroit — au lieu d'un npm audit éparpillé sur une dizaine de copies.

Parcourir par projet

Plongez dans n'importe quel dépôt pour voir ses résultats actuels, les versions de correction, l'historique des analyses et les mises en sourdine.

Parcourir par bibliothèque

Basculez vers un paquet vulnérable et voyez tous les projets concernés — puis mettez-le en sourdine partout d'un coup.

Analyse continue

Un processus en arrière-plan réanalyse selon une planification, pour que les nouveaux avis apparaissent sans que vous ayez à penser à vérifier.

Filtrage par gravité

Triez et filtrez les résultats par gravité pour traiter d'abord les critiques et le bruit ensuite.

Notifications

Recevez des alertes d'échecs et de résultats via Slack, Telegram ou un simple webhook — dans la langue de votre choix.

Export d'avis

Exportez les résultats d'un projet ou d'une bibliothèque en Markdown, avec une invite de remédiation personnalisable pour votre équipe ou un LLM.

Une image, un fichier

Une image Docker et un fichier SQLite. Pas de serveur de base de données, pas de file de messages, aucune dépendance au cloud.

Roots auto-enregistrés

Tout ce qui est monté sous /roots est enregistré et analysé au démarrage — le nom du répertoire devient son libellé.

Node par projet

Respecte le .nvmrc de chaque projet, en installant et en mettant en cache une seule fois la version de Node qu'il fixe.

10 langues

L'interface du portail, les codes de motif d'analyse et les statuts sont traduits en 10 langues.

Notifications et Webhooks

Soyez prévenu dès qu'un projet détecte une vulnérabilité — et déclenchez votre propre automatisation pour la corriger.

Slack

Publiez les résultats dans un canal via un webhook entrant, avec gras et puces natifs.

Telegram

Envoyez des alertes à un chat ou un groupe via un bot — avec une mise en forme correcte, pas du balisage brut.

Webhook

Faites un POST vers n'importe quel endpoint pour router les alertes là où votre équipe travaille déjà.

Deux formats de webhook

Choisissez le payload adapté à ce que vous construisez.

JSON structuré

Racine, projet et liste de vulnérabilités — chacune avec la bibliothèque, la version, la version recommandée et l'avis. Prêt pour un agent d'auto-correction.

Avis en texte brut

Le même export d'avis que dans le portail, en texte — à donner directement à un LLM pour trier et corriger.

Par racine ou par projet

Envoyez tout au même endroit, ou reliez une racine précise — ou un seul projet — à son propre canal ou webhook.

Captures

Voyez-le en action — le portail analysant quelques projets de démonstration. Cliquez sur une capture pour l'agrandir.

Auto-héberger

Auto-hébergez en quelques minutes. Copiez, collez, ouvrez localhost. Épinglez une étiquette de version pour la production.

docker run -d \
  --name sentinello \
  -p 3870:3000 \
  -v sentinello-data:/app/data \
  -v sentinello-nvm:/root/.nvm \
  -v ~/Developer:/roots/personal:ro \
  ghcr.io/walkofcode/sentinello:latest

Tout ce qui est monté sous /roots est enregistré automatiquement au démarrage — le nom du répertoire devient son libellé — la découverte et l'analyse démarrent donc d'elles-mêmes. Le montage est facultatif ; vous pouvez aussi ajouter des roots depuis le portail.

Fonctionne sur linux/amd64 et arm64Lire le démarrage rapideVoir sur GitHub

Pourquoi nous l'avons créé

À l'ère de l'IA, vous livrez plus que vous ne pouvez maintenir.

Aujourd'hui, une seule personne développe, livre et passe à autre chose pour une dizaine de projets par an. Le site vitrine, le tableau de bord client, le projet perso passé discrètement en production : ils continuent de tourner longtemps après que quelqu'un les ait regardés pour la dernière fois.

Il suffit d'une seule dépendance oubliée présentant une faille critique d'exécution de code à distance. Le site le plus simple peut devenir la porte d'entrée.

Sentinello est le système d'alerte précoce pour cette longue traîne. Il surveille chaque projet que vous lui indiquez, de sorte qu'une nouvelle CVE dans quelque chose livré il y a des mois apparaisse à un seul endroit — avant qu'elle ne devienne un désastre.

Feuille de route

Aujourd'hui, Sentinello surveille vos dépendances Node.js. Voici où il va — et ce que vous pouvez demander.

Plus de sources de vulnérabilités

Prévu

Au-delà de la base d'avis npm — des flux supplémentaires comme OSV, pour des résultats plus larges et plus précoces.

Plus d'intégrations

Prévu

Plus de canaux de notification et de façons de connecter Sentinello aux outils que votre équipe utilise déjà.

Analyse statique (SAST)

Prévu

Repérez les motifs de code risqués dans votre propre code, pas seulement les CVE connues de vos dépendances.

Analyse des secrets et licences

Prévu

Signalez les secrets commités et les problèmes de licence sur le même portefeuille, dans la même file.

Demander une intégration ou une source

Dites-nous ce que vous intégreriez ou analyseriez ensuite — ouvrez un ticket sur GitHub et aidez à façonner la feuille de route.

À qui ça s'adresse

Sentinello s'adresse à tous ceux qui ont plus en production qu'ils ne peuvent surveiller — la personne qui développe seule, la petite équipe, l'agence qui jongle avec le travail client.

  • Vous livrez des projets perso et des sites clients qui doivent rester sûrs longtemps après le lancement.
  • Vous voulez une vue d'ensemble du portefeuille sans câbler la CI dans chaque dépôt.
  • Vous préférez l'auto-hébergement plutôt que de confier l'inventaire de votre code à un SaaS.

Si vous êtes une grande organisation avec Snyk ou Dependabot déjà intégrés dans un pipeline mature, gardez-les — Sentinello ne cherche pas à remplacer le SCA d'entreprise. Il est là pour le reste de votre portefeuille que personne ne surveille. Il est open source et sous licence MIT, vous pouvez donc lire exactement ce qu'il fait.