🛠️ Guide Complet – Utilisation de JsAgent pour l’analyse JS en pentest

Automatiser l’analyse JavaScript devient un jeu d’enfant avec JsAgent : cet outil pensé pour le pentest et le bug bounty utilise la puissance des LLM pour inspecter automatiquement vos scripts JS, détecter les failles potentielles, les endpoints sensibles et les secrets exposés. Un gain de temps précieux dans vos phases de reconnaissance.

🎯 Objectif

Automatiser l’analyse de fichiers JavaScript afin d’identifier :

  • les secrets exposés (API keys, tokens…),
  • les endpoints d’API,
  • les fonctions critiques,
  • et les patterns potentiellement vulnérables (XSS, injection, etc.).

1️⃣ Prérequis

Avant toute installation :

🧰 Environnement conseillé :

  • OS : Linux ou macOS (Windows avec WSL)
  • Python ≥ 3.9
  • Git
  • Clé d’API OpenAI ou autre LLM compatible (si le projet utilise une API LLM externe)

📦 Dépendances générales :

bash
sudo apt install git python3 python3-pip
pip install openai rich termcolor

2️⃣ Clonage du projet

bash
git clone https://github.com/dwawdsdwasdwasdwa/JsAgent.git<br>cd JsAgent

3️⃣ Configuration

🔑 Ajout de la clé API (exemple OpenAI)

Créer un fichier .env :

bash
echo "OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx" > .env

Ou configurer via une variable d’environnement :

bash
export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxx"

4️⃣ Lancer une analyse simple

Supposons que tu veux analyser un fichier JavaScript nommé main.js :

bash
python jsagent.py --file main.js

✅ Paramètres disponibles (à adapter selon version) :

OptionDescription
--fileFichier JS à analyser
--folderRépertoire contenant plusieurs JS
--model(facultatif) LLM utilisé (gpt-3.5, 4…)
--outputSauvegarde de l’analyse dans un fichier

5️⃣ Exemple d’analyse multiple

bash
python jsagent.py --folder ./scripts --model gpt-4 --output rapport-jsagent.txt

6️⃣ Intégration dans un workflow de pentest

🔁 Étapes types :

  1. Recon (subdomain takeover / OSINT) : récupérer les domaines cibles
  2. Extraction JS : utiliser waybackurlsgau, ou getJS pour extraire les fichiers JS publics
  3. Analyse via JsAgent : lancer l’outil sur tous les fichiers JS récupérés
  4. Extraction des endpoints, secrets, fonctions sensibles
  5. Utilisation complémentaire : Burp Suite, nuclei, etc. pour approfondir

📂 Exemple de script bash pour automatiser :

bash
#!/bin/bash
domain=$1

# Récupérer les URLs JS
gau $domain | grep ".js" | tee js-urls.txt

# Télécharger les fichiers
mkdir js-files
cat js-urls.txt | while read url; do
    filename=$(basename "$url")
   curl -s "$url" -o "js-files/$filename"
done

# Analyse avec JsAgent
python jsagent.py --folder js-files --model gpt-4 --output rapport.txt

7️⃣ Bonnes pratiques

✔️ Utiliser une version de LLM récente pour de meilleures performances
✔️ Compléter l’analyse avec tools classiques : grep, gf, nuclei
✔️ Attention aux faux positifs : un token dans un commentaire n’est pas forcément actif
✔️ Ne jamais utiliser cet outil sans consentement écrit du propriétaire de la cible


8️⃣ Limitations

  • Peut générer du bruit si trop de JS « brouillon » est scanné
  • La qualité dépend fortement du LLM utilisé
  • Pas un scanner de vulnérabilités, mais un agent d’assistance à la reconnaissance

9️⃣ Idées d’amélioration

  • Ajouter un export JSON ou CSV structuré
  • Intégrer avec Burp Extender
  • Détecter automatiquement le langage (TS/JS)
  • Support des CDN / JS obfusqués

📎 Pour aller plus loin

Tu peux l’enchaîner avec :

🛠️ Guide Complet – Utilisation de JsAgent pour l’analyse JS en pentest
Partager cet article : Twitter LinkedIn WhatsApp

🖋️ Publié sur SecuSlice.com

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut