Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !
-CVE-2025-55182 — Navigateur de scanner qui audite les dépôts GitHub à la recherche de vulnérabilités connues dans les dépendances React et Next.js, en vérifiant toutes les branches et en prenant en charge les dépôts privés via PAT. | Kitploit
Navigateur de scanner qui audite les dépôts GitHub à la recherche de vulnérabilités connues dans les dépendances React et Next.js, en vérifiant toutes les branches et en prenant en charge les dépôts privés via PAT.
Un navigateur web moderne (Chrome, Firefox, Edge, etc.)
Accès à GitHub (facultatif : Personal Access Token pour les dépôts privés)
Procédure pas à pas
1. Ouvrir la console du navigateur
Accédez à n'importe quelle page de GitHub (ex. : https://github.com)
Ouvrez les DevTools :
Chrome/Edge : F12 ou Ctrl+Shift+I (Windows) / Cmd+Option+I (Mac)
Firefox : F12 ou Ctrl+Shift+K (Windows) / Cmd+Option+K (Mac)
Allez dans l'onglet Console
2. Copier et exécuter le script
Ouvrez le fichier main.js
Copiez tout le contenu du fichier
Collez-le dans la console du navigateur
Appuyez sur Entrée pour exécuter
3. Configurer l'analyse
Le script posera une série de questions interactives :
3.1. Authentification (première question)
root@kitploit:~
🔐 Scan private repos too?
OK = Enter PAT
Cancel = Public only
OK : vous serez invité à saisir un Personal Access Token (PAT) GitHub
Permet d'analyser les dépôts privés
Nécessaire pour accéder aux organisations
Cancel : seuls les dépôts publics seront analysés
Comment créer un PAT :
Accédez à : https://github.com/settings/tokens
Cliquez sur « Generate new token » → « Generate new token (classic) »
Donnez un nom descriptif
Sélectionnez le périmètre repo (accès complet aux dépôts)
Cliquez sur « Generate token »
Copiez le token immédiatement (il ne sera plus affiché)
3.2. Périmètre de l'analyse (si authentifié)
root@kitploit:~
🔍 What do you want to scan?
OK = Organizations
Cancel = User Profile
OK : analyser les organisations
Cancel : analyser uniquement le profil de l'utilisateur
3.3. Sélection des organisations (si vous avez choisi Organizations)
root@kitploit:~
🏢 Scan all organizations?
OK = All organizations
Cancel = Single organization
Option A - Toutes les organisations (OK) :
Le script récupérera automatiquement toutes les organisations de l'utilisateur authentifié
Il analysera tous les dépôts de toutes les organisations
Option B - Une organisation spécifique (Cancel) :
Vous serez invité à saisir l'URL ou le nom de l'organisation :
root@kitploit:~
🔗 Enter organization URL or name:
Example: github.com/my-org or my-org
Formats acceptés :
github.com/minha-org
https://github.com/minha-org
minha-org (juste le nom)
3.4. Profil de l'utilisateur (si non authentifié ou si vous avez choisi Profile)
Si vous êtes sur une page de profil GitHub, le script le détectera automatiquement
Dans le cas contraire, il vous sera demandé :
root@kitploit:~
Enter GitHub username:
📊 Fonctionnalités
✨ Vérification par branches
Le script vérifie toutes les branches de chaque dépôt, pas seulement la branche par défaut. Cela garantit que les vulnérabilités présentes dans les branches de développement, de staging ou dans d'autres branches actives soient détectées.
🏢 Prise en charge des organisations
Analyse les dépôts des organisations GitHub
Option d'analyser toutes les organisations ou une seule
Prend en charge la saisie de l'URL ou du nom de l'organisation
🔒 Accès aux dépôts privés
Avec un Personal Access Token valide, le script peut :
Accéder aux dépôts privés
Analyser les organisations privées
Vérifier les branches des dépôts privés
📈 Résultats
Après l'exécution, le script affichera :
Tableau des résultats
Un tableau dans la console affichant :
Repo : Nom du dépôt
Branch : Nom de la branche vérifiée
Next : Version de Next.js (si présente)
React : Version de React (si présente)
ReactDOM : Version de react-dom (si présente)
RSCWebpack : Version de react-server-dom-webpack (si présente)
RSCParcel : Version de react-server-dom-parcel (si présente)
RSCTurbopack : Version de react-server-dom-turbopack (si présente)
Status : Statut de la vulnérabilité
✅ Safe : Aucune vulnérabilité détectée
⚠️ CVE-XXXX-XXXXX : Vulnérabilité trouvée
Résumé
root@kitploit:~
📊 Summary:
Total repos: 15
Branches scanned: 23
With package.json: 20
Skipped: 3 (no package.json)
⚠️ 5 vulnerable repo(s) found!
ou
root@kitploit:~
✅ No vulnerabilities found!
⚙️ Configuration technique
Délai entre les requêtes API : 200 ms (pour éviter le rate limiting)
Délai entre les analyses : 30 ms
Résultats par page : 100 éléments
Prise en charge des dépôts privés : Oui (avec PAT)
Vérification des branches : toutes les branches de chaque dépôt
🔧 Résolution de problèmes
Erreur : « Token invalid »
Vérifiez que le token a été copié correctement
Assurez-vous que le token dispose du périmètre repo
Vérifiez que le token n'a pas expiré
Erreur : « No repositories found »
Vérifiez que l'utilisateur/l'organisation existe
Si vous analysez des organisations, vérifiez que vous y avez accès
Vérifiez qu'il y a des dépôts dans le profil/l'organisation
Erreur : « No organizations found »
Vérifiez que vous êtes authentifié avec un token valide
Assurez-vous de faire partie d'organisations
Le token doit disposer des autorisations pour accéder aux organisations
Analyse très lente
Le script applique des délais intentionnels pour éviter le rate limiting
Les dépôts comportant de nombreuses branches prendront plus de temps
Les organisations comptant de nombreux dépôts prendront plus de temps
📝 Remarques importantes
Rate Limiting : le script respecte les limites de l'API GitHub grâce à des délais automatiques
Confidentialité : le token est utilisé uniquement localement dans le navigateur et n'est pas envoyé à des serveurs externes
Précision : le scanner ne vérifie que le package.json à la racine du dépôt
Branches : toutes les branches sont vérifiées, mais seules celles contenant un package.json sont signalées
Versions : le scanner détecte les versions vulnérables sur la base des définitions de CVE
🛡️ Sécurité
Le script s'exécute entièrement dans le navigateur (côté client)
Aucune donnée n'est envoyée à des serveurs externes
Le Personal Access Token est utilisé uniquement pour les requêtes vers l'API GitHub
Il est recommandé d'utiliser des tokens avec les périmètres minimaux nécessaires
📄 Licence
Licence MIT
🔄 Version
3.0.0
Développé pour détecter les vulnérabilités de sécurité dans les projets React et Next.js