- Python 3.8+
- Docker (pour ZAP)
- Clé API Gemini ou Anthropic
# Cloner le repo
git clone https://github.com/venantvr-security/Python.HAR.ZAP.git
cd Python.HAR.ZAP
# Créer l'environnement virtuel
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
# Installer les dépendances
pip install -r requirements.txt# Copier le fichier d'exemple
cp .env.example .env
# Éditer .env avec votre clé API
nano .env # ou code .envContenu minimal de .env:
HARZAP_GEMINI_API_KEY=AIzaSy...votre-clé...
# Terminal 1: Démarrer ZAP
docker run -u zap -p 8080:8080 -p 8090:8090 \
ghcr.io/zaproxy/zaproxy:stable \
zap.sh -daemon -host 0.0.0.0 -port 8080 \
-config api.addrs.addr.name=.* \
-config api.addrs.addr.regex=true \
-config api.disablekey=trueVérifier que ZAP est prêt:
curl http://localhost:8080/JSON/core/view/version/
# Doit retourner: {"version":"2.x.x"}# Terminal 2: Démarrer l'app Streamlit
streamlit run app.pyOuvrir dans le navigateur: http://localhost:8501
-
Upload HAR: Glisser un fichier
.hardans l'interface- Obtenir un HAR: DevTools (F12) → Network → Export HAR
-
Analyser: Cliquer sur "Analyze HAR"
- Extraction des endpoints
- Détection des patterns d'authentification
- Identification des IDs (IDOR potentiel)
-
Red Team: Onglet "Red Team Attacks"
- Sélectionner les attaques à exécuter
- Lancer le scan
-
Résultats: Voir les alertes ZAP
- Interface ZAP: http://localhost:8080
- Dashboard Grafana (optionnel, voir ci-dessous)
Pour visualiser les logs et alertes:
cd deployment
docker compose -f docker-compose.observability.yml --profile loki up -d- Grafana: http://localhost:3000 (admin / harzap2024)
- Dashboard pré-configuré avec alertes ZAP
# Lancer les tests
pytest tests/ -v
# Voir la couverture
pytest tests/ --cov=modules --cov-report=html
open htmlcov/index.html
# Arrêter ZAP
docker stop $(docker ps -q --filter ancestor=ghcr.io/zaproxy/zaproxy:stable)
# Arrêter Grafana/Loki
cd deployment && docker compose -f docker-compose.observability.yml downapp.py- Application Streamlitconfig.yaml- Configuration principale.env- Secrets (non commité)modules/har_analyzer.py- Analyse HARredteam_attacks.py- Attaques red teamllm/- Intégration LLMscripts/active/- Scripts ZAP JSredteam_scanner.jsdeployment/- Docker observability
# Vérifier si le port est utilisé
lsof -i :8080
# Tuer le processus si nécessaire
kill -9 <PID>pip install python-owasp-zap-v2.4- Vérifier la clé dans
.env - Vérifier que
HARZAP_GEMINI_API_KEYest bien défini - Tester:
echo $HARZAP_GEMINI_API_KEY
- Attendre quelques secondes (polling interval)
- Vérifier que des requêtes passent par ZAP
- Logs shipper:
docker logs harzap-shipper
- Lire docs/ARCHITECTURE.md pour comprendre le pipeline
- Lire docs/HUNTING_GUIDE.md pour la recherche de vulnérabilités
- Lire scripts/ARCHITECTURE.md pour les scripts ZAP