Rustine

Ce que Rustine lit dans ton dépôt

Mis à jour le 12/10/2026 · 3 min

Sommaire

Quand Rustine analyse ton dépôt, il en fait une copie dans une machine jetable, la lit, puis détruit la machine et son disque. Voici ce qui se passe entre les deux.

Ce qu’on lit

  • La branche principale seulement, au dernier commit. Les autres branches et les pull requests sont ignorées.
  • Les 500 derniers commits, pour retrouver un secret qui a été supprimé du code mais reste dans l’historique.
  • Les fichiers texte. Ceux de plus de 1 Mo et les fichiers binaires sont passés.
  • Tes lockfiles (package-lock.json, pnpm-lock.yaml…), pour connaître les versions exactes de tes dépendances et les croiser avec les failles connues.

Ce qu’on cherche dans ton code

En plus des secrets et des dépendances, Rustine relit la logique de ton code avec des règles écrites à la main, jamais par une IA :

  • Les accès : une route ou une server action qui écrit sans vérifier la session, une donnée lue avec l’identifiant du lien sans vérifier à qui elle est, des fiches utilisateur renvoyées en entier, des routes protégées par le seul middleware.
  • Les abus : une connexion, une inscription ou un appel d’IA payant sans limite d’appels.
  • Les injections : une requête SQL, du HTML, une redirection, une requête sortante, un chemin de fichier, une expression régulière ou une commande construits avec ce qu’envoie le visiteur.
  • Les réglages : des mots de passe mal hachés, des jetons tirés avec Math.random, une clé secrète dans une variable publique ou dans les journaux, le debug laissé en production, un CORS trop ouvert, des règles Supabase ou Firebase ouvertes.

Quand une règle ne peut pas en être sûre en lisant le code, le problème est marqué « estimé » et pèse moins dans ton score. Si c’est un faux positif, écarte-le en un clic.

Ce qu’on ne fait jamais

Rustine n’exécute rien de ton dépôt : pas d’installation de dépendances, pas de build, pas de script, pas de hook. L’analyse tourne sans accès au réseau. Et l’app GitHub ne peut pas écrire : aucun commit, aucune pull request, aucun commentaire.

L’accès donné à la machine ne vaut que pour ce dépôt, en lecture, et il est révoqué dès la fin de la copie.

Ce qu’on garde

On ne garde aucune copie de ton code. Restent :

  • les problèmes trouvés, avec le fichier, les lignes et le commit, et un extrait de quelques lignes au plus ;
  • un secret trouvé n’est jamais gardé en clair : seulement son empreinte et ses 4 derniers caractères, pour que tu le reconnaisses ;
  • la liste de tes dépendances et de leurs versions ;
  • l’identifiant du commit analysé.

Quand tu lances un AI Fix sur un problème de ton dépôt, Rustine relit les fichiers concernés au même commit, masque les secrets avant de les envoyer au modèle, et ne garde que le correctif proposé.

Quand l’analyse tourne

À la demande, avec Analyser maintenant, et à chaque push sur ta branche principale. Plusieurs pushes rapprochés n’en font qu’une : Rustine attend 5 minutes sans nouveau push avant de lancer. Ensuite, un dépôt est analysé au plus une fois toutes les 15 minutes ; entre deux, tu vois le dernier résultat. Les dépôts sont dans Solo et Pro : repassé en Gratuit, tu les gardes, mais leur analyse s’arrête jusqu’à ton retour à Solo.

L’analyse d’un dépôt ne consomme ni scan rapide ni audit complet de ton quota.

Revérifier après une correction

Pour un problème trouvé dans le code, la revérification relance l’analyse sur le dernier commit de la branche principale. Pousse ta correction d’abord, sinon Rustine relit l’ancien code.

Cet article t'a aidé ?

Toujours bloqué ?

Ouvre le chat : on voit d'où tu viens, pas besoin de tout réexpliquer.