
Scanner de sécurité WordPress avec analyse basée sur l'IA, cadre de conformité éthique et rapports professionnels.
Scanner de vulnérabilités WordPress éthique — corrélation CVE en temps réel, cartographie OWASP, analyse pilotée par IA et tests basés sur le consentement.
Démarrage rapide · Documentation · Docker · Fonctionnalités IA · ⭐ sur GitHub
Aperçu du scan · répartition des sévérités |
Constatations · badges CVE/OWASP · barre de filtre |
Argus est un scanner de sécurité WordPress prêt pour la production qui place l'éthique en premier. Conçu pour les testeurs d'intrusion, les chercheurs en sécurité et les administrateurs WordPress, il combine l'analyse de vulnérabilités traditionnelle avec une analyse IA de pointe pour fournir des informations exploitables.
--diff last compare les scans pour suivre la progression des correctionspython -m argus --target https://example.com --html
- **Empreinte multiméthode** : Détecte WordPress 4.x-6.x avec zéro faux positif
- **Corrélation CVE en temps réel** : Vérifie chaque version détectée de plugin, thème et noyau par rapport à WPVulnerability.net (gratuit, sans clé API)
- **Score CVSS** : Récupère les scores de NVD pour chaque CVE (critique ≥9.0, élevé ≥7.0, moyen ≥4.0)
- **Détection de la dernière version** : L'API WordPress.org affiche la version stable actuelle à côté de la version détectée
- **OWASP Top 10 2021** : Chaque constatation est mappée à sa catégorie OWASP (A01–A10)
- **Analyse concurrente** : Pool de threads + limitation de débit pour des analyses rapides et respectueuses
- **Détection intelligente** : Abandon précoce pour les sites non WordPress (rejet 99% plus rapide)
- **Collecte de preuves** : Réponses HTTP, en-têtes et contenus de fichiers conservés
### 📈 Rapports de différences d'analyse (v0.2.0)
Suivez les progrès de la remédiation entre les analyses :```bash
# Compare this scan against the previous one
python -m argus --target https://example.com --html --diff last
# Or reference a specific scan ID
python -m argus --target https://example.com --html --diff 42
La section diff affiche :
Choisissez votre fournisseur d'IA selon vos besoins :
Modes d'analyse :
--ai-agent) : enrichi avec des données CVE NVD en direct et des requêtes WPVulnerability.net (API gratuites)--ai-compare) : analyse côte à côte de plusieurs fournisseurs en parallèle--ai-stream) : sortie de jetons en temps réel pendant la génération par l'IA--ai-budget) : respect d'un plafond de coût avec seuil d'arrêt configurableRapports JSON (lisibles par machine)```json { "tool": "argus", "version": "0.2.0", "target": "https://example.com", "summary": {"critical": 3, "high": 5, "medium": 8, "low": 6, "info": 5}, "findings": [ { "id": "ARGUS-WP-012", "title": "Vulnerable plugin: elementor v3.5.0 (31 CVEs)", "severity": "critical", "owasp": {"id": "A06", "name": "Vulnerable and Outdated Components"}, "latest_version": "3.28.1", "cve": ["CVE-2022-1329", "CVE-2022-29455"], "vulnerabilities": [ {"title": "Elementor < 3.4.8 — Authenticated RCE", "cvss": 8.8, "cve_id": "CVE-2022-1329"} ] } ], "diff": {"ref_scan_id": 41, "new": [...], "fixed": [...], "persisting": [...]} }
**Rapports HTML** (Conviviaux, v0.2.0)
- 🎨 Design responsive avec CSS en ligne (aucune dépendance externe)
- 🏷️ Badges de sévérité colorés + barre de filtre interactive
- 🔴 Badges CVE liant vers NVD, badges CWE violets (dédupliqués)
- 🟣 Badge OWASP Top 10 2021 par résultat
- 🟢 Badge de dernière version stable pour les composants vulnérables
- 📊 Badge de score CVSS coloré par CVE (rouge/orange/jaune/vert)
- 📝 Panneaux de détails CVE extensibles, recommandations extensibles
- 🔧 Extraits de configuration d'en-têtes de sécurité (Apache / Nginx / WordPress)
- 📈 Section de différences (nouvelles/corrigées/persistantes) avec avertissement de non-concordance de mode
- 🤖 Analyse IA avec onglets (exécutif / technique / agent)
- 📱 Adapté aux mobiles
### 🔐 Système de Jeton de Consentement
Argus applique le hacking éthique via la technologie. Le scan agressif et l'analyse IA nécessitent **une preuve de propriété**:```bash
# 1. Generate token
python -m argus --gen-consent example.com
# 2. Place token on your server
echo "verify-abc123..." > .well-known/verify-abc123.txt
# 3. Verify ownership
python -m argus --verify-consent http --domain example.com --token verify-abc123
# 4. Now you can use aggressive mode
python -m argus --target https://example.com --aggressive --use-ai
La base de données SQLite suit tout :
finding_codeai_costs (v0.2.0+)sqlite3 ~/.argos/argos.db "SELECT * FROM v_recent_scans LIMIT 10"
sqlite3 ~/.argos/argos.db "SELECT * FROM v_critical_findings"
---
## 🚀 Démarrage rapide
### Prérequis
- **Python 3.11+** (3.12 recommandé)
- **pip** (gestionnaire de paquets Python)
- **Docker** (optionnel, pour l'analyse conteneurisée)
### Installation
**1. Clonez le dépôt**```bash
git clone https://github.com/rodhnin/argus-wp-watcher.git
cd argus-wp-watcher
2. (Facultatif) Installer venv si ce n'est pas déjà disponible```bash
sudo apt update && sudo apt install -y python3-venv
sudo dnf install python3-virtualenv
brew install [email protected]
**3. Créez et activez l'environnement virtuel**```bash
python3 -m venv .venv
source .venv/bin/activate
# You should see (.venv) in your terminal prompt
4. Mettre à jour pip```bash python -m pip install --upgrade pip
**5. Installer les dépendances**```bash
python -m pip install -r requirements.txt
6. Configurer les clés API (si vous utilisez l'IA cloud)```bash
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
**7. Vérifier l'installation**```bash
python -m argus --version
# Output: Argus v0.2.0
python -m argus --target https://example.com
python -m argus --target https://example.com --html
python -m argus --target https://example.com --use-ai --html
**🎉 Succès !** Vérifiez `~/.argos/reports/` pour vos rapports.
---
## 📘 Guide d'utilisation
### Analyse de base```bash
# Safe mode (default) - Non-intrusive checks
python -m argus --target https://example.com
# Generate HTML report
python -m argus --target https://example.com --html
# Increase verbosity for debugging
python -m argus --target https://example.com -vv
python -m argus --target https://example.com --rate 10
python -m argus --target https://example.com --threads 8
python -m argus --target https://example.com --timeout 60
python -m argus --target https://example.com --report-dir ./my-reports
### Analyse basée sur l'IA
**Étape 1 : Définissez votre clé API**```bash
export OPENAI_API_KEY="sk-..."
Étape 2 : Testez votre configuration```bash
python -m argus.core.ai openai
**Étape 3 : Exécuter l'analyse IA**```bash
# Both analyses in one scan (~$0.006 with default model)
python -m argus --target https://example.com --use-ai --html
# Technical only (for security teams)
python -m argus --target https://example.com --use-ai --ai-tone technical --html
# Executive only (for management)
python -m argus --target https://example.com --use-ai --ai-tone non_technical --html
# Override model or provider at runtime
python -m argus --target https://example.com --use-ai --ai-model gpt-4o --html
python -m argus --target https://example.com --use-ai --ai-provider anthropic --html
# Stream output in real time
python -m argus --target https://example.com --use-ai --ai-stream
# Agent mode with NVD CVE lookup (free)
python -m argus --target https://example.com --use-ai --ai-agent --html
# Compare two providers side by side
python -m argus --target https://example.com \
--use-ai --ai-compare openai,anthropic --html
# Budget cap ($0.05 max)
python -m argus --target https://example.com --use-ai --ai-budget 0.05
python -m argus --gen-consent example.com
python -m argus --verify-consent http
--domain example.com
--token verify-a3f9b2c1d8e4
python -m argus --target https://example.com --aggressive
---
## 🤖 Analyse alimentée par l'IA
Argus utilise **LangChain 1.0.0** avec la prise en charge de plusieurs fournisseurs d'IA, vous offrant une flexibilité en fonction de vos exigences de sécurité, de confidentialité et de budget.
### Fournisseurs pris en charge
#### OpenAI GPT-4 Turbo
**Idéal pour : Utilisation en production**
- ⭐ Qualité : Excellente (5/5)
- ⚡ Vitesse : ~35 secondes
- 💰 Coût : ~$0,25 par scan
- 🔒 Confidentialité : Standard (données chiffrées en transit)```bash
export OPENAI_API_KEY="sk-..."
python -m pip install langchain-openai==1.0.0
Idéal pour : Confidentialité renforcée
#### Ollama (Modèles locaux)
**Idéal pour : Confidentialité totale**
- ⭐ Qualité : Bonne (3/5)
- 🐢 Vitesse : ~28 minutes (CPU) ou ~75 secondes (GPU)
- 💰 Coût : Gratuit
- 🔐 Confidentialité : 100 % hors ligne (les données ne quittent jamais votre machine)```bash
# Install Ollama: https://ollama.ai
ollama pull llama3.2
python -m pip install "langchain-ollama>=0.3.0,<0.4.0"
Nettoyage automatique Avant d'envoyer des données aux fournisseurs d'IA, Argus supprime automatiquement :
Sur consentement uniquement
--use-aiPour une confidentialité maximale Utilisez Ollama localement. Bien que plus lent et moins précis, vos données d'analyse ne quittent jamais votre machine.
Option A — Drapeaux CLI (remplacement au moment de l'exécution, pas de modification de fichier)```bash
python -m argus --target https://example.com --use-ai --ai-provider anthropic --ai-model claude-3-5-haiku-20241022
python -m argus --target https://example.com --use-ai --ai-provider ollama --ai-model llama3.2
**Option B — `config/defaults.yaml` (modifier le défaut persistant)**```yaml
ai:
langchain:
provider: "ollama" # Changed from "openai"
model: "llama3.2" # Ollama model
ollama_base_url: "http://localhost:11434"
À venir dans v0.3.0 : Menu de configuration interactif (style Metasploit)```bash
argus --show-options argus --set ai.provider=anthropic argus --save-profile privacy-mode
---
## 🧪 Laboratoire de Test Sécurisé
**⚠️ NE JAMAIS scanner des sites en production sans autorisation écrite !**
Utilisez notre laboratoire Docker pour vous entraîner en toute sécurité :
### Configuration de l'environnement de test```bash
# Navigate to docker directory
cd docker
# Option 1: Use interactive script
./deploy.sh
# Select option 2 (Testing Lab)
# Option 2: Manual deployment
docker compose -f compose.testing.yml up -d
# Wait for services to start (~60-90 seconds)
docker compose -f compose.testing.yml logs -f wordpress
# Setup WordPress
# Open http://localhost:8080 in your browser
# Complete WordPress installation
# Username: admin
# Password: (choose a strong password)
# Create vulnerable conditions for testing
docker compose -f compose.testing.yml exec wordpress bash -c \
"cp /var/www/html/wp-config.php /var/www/html/wp-config.php.bak"
cd ..
python -m argus --target http://localhost:8080 --html
python -m argus --target http://localhost:8080 --use-ai --html
### Nettoyage```bash
cd docker
docker compose -f compose.testing.yml down -v # -v removes all data
Pour des scénarios de test détaillés, consultez docs/TESTING_GUIDE.md
Scannez uniquement les systèmes dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de tester.
Argus implémente des contrôles techniques pour prévenir les mauvais usages :
L'accès non autorisé aux systèmes informatiques est illégal dans la plupart des juridictions :
Pour des directives éthiques complètes, consultez docs/ETHICS.md
Argus propose trois modes de déploiement via un script interactif :
Utilisez le script de déploiement interactif :```bash cd docker ./deploy.sh
**Menu options:**
- `1` → Scanner de production uniquement
- `2` → Environnement de test (WordPress + MariaDB) uniquement
- `3` → Les deux environnements
- `4` → Arrêter tous les services
- `5` → Supprimer tous les conteneurs et données (réinitialisation)
---
### Option 1: Production Scanner
Déployer uniquement le scanner Argus pour analyser des sites WordPress externes :```bash
cd docker
./deploy.sh
# Select option 1
Ou manuellement :```bash docker compose up -d
**Scanner une cible :**```bash
docker compose exec argus python -m argus --target https://example.com
Avec analyse AI:```bash docker compose exec argus python -m argus --target https://example.com --use-ai
**Arrêt:**```bash
docker compose down
⚠️ AVERTISSEMENT : Cet environnement est INTENTIONNELLEMENT VULNÉRABLE à des fins de test. NE PAS exposer sur Internet public !
Déployer le laboratoire de test :```bash cd docker ./deploy.sh
**Ou manuellement :**```bash
docker compose -f compose.testing.yml up -d
What gets deployed:
Accès :
Scannez l'environnement de test :```bash
python -m argus --target http://localhost:8080
**Arrêter et supprimer :**```bash
docker compose -f compose.testing.yml down -v
Déployer le scanner de production + le laboratoire de test ensemble :```bash cd docker ./deploy.sh
**Ce qui est déployé :**
- ✅ Scanner Argus de production
- ✅ Base de données MariaDB
- ✅ WordPress 6.0 (vulnérable)
- ✅ Connexion entre le scanner de production et le réseau de test
**Analyser des sites externes depuis le scanner de production :**```bash
docker compose exec argus python -m argus --target https://example.com
Scanner le laboratoire de test depuis le scanner de production :```bash docker compose exec argus python -m argus --target http://wordpress
**Arrêter tout:**```bash
cd docker
./deploy.sh
# Select option 4
~/.argos/ ├── reports/ │ ├── argus_report_example_20251020_143022.json # Machine-readable │ └── argus_report_example_20251020_143022.html # Human-friendly ├── argos.db # SQLite database └── logs/ └── argus.log # Scan logs
### Schéma du rapport JSON```json
{
"tool": "argus",
"version": "0.2.0",
"target": "https://example-wp-site.com",
"date": "2026-04-15T18:45:30Z",
"mode": "safe",
"summary": {
"critical": 1,
"high": 2,
"medium": 4,
"low": 3,
"info": 5
},
"findings": [
{
"id": "ARGUS-WP-012",
"title": "Vulnerable plugin: contact-form-7 v5.3.1 (6 CVEs)",
"severity": "critical",
"confidence": "high",
"owasp": { "id": "A06", "name": "Vulnerable and Outdated Components" },
"latest_version": "5.9.8",
"cve": ["CVE-2021-39346", "CVE-2020-35489"],
"vulnerabilities": [
{
"title": "Contact Form 7 < 5.3.2 — Unrestricted File Upload",
"cvss": 9.8,
"cve_id": "CVE-2020-35489",
"cwe": ["CWE-434"]
}
],
"description": "Plugin 'contact-form-7' v5.3.1 has 6 known CVEs. Highest CVSS: 9.8 (Critical).",
"evidence": {
"type": "path",
"value": "https://example-wp-site.com/wp-content/plugins/contact-form-7/readme.txt",
"context": "Version detected via readme.txt"
},
"recommendation": "Update contact-form-7 to 5.9.8 (latest stable). Immediate action required.",
"affected_component": "contact-form-7 5.3.1"
},
{
"id": "ARGUS-WP-030",
"title": "wp-config.php backup exposed",
"severity": "critical",
"confidence": "high",
"owasp": { "id": "A05", "name": "Security Misconfiguration" },
"description": "WordPress configuration file backup is publicly accessible.",
"evidence": {
"type": "url",
"value": "https://example-wp-site.com/wp-config.php.bak",
"context": "HTTP 200, Size: 2847 bytes"
},
"recommendation": "Remove immediately and rotate all credentials.",
"affected_component": "wp-config.php.bak"
},
{
"id": "ARGUS-WP-050",
"title": "Missing security header: HSTS",
"severity": "medium",
"confidence": "high",
"owasp": { "id": "A02", "name": "Cryptographic Failures" },
"description": "HSTS header is not set.",
"evidence": {
"type": "header",
"value": "Strict-Transport-Security: [not set]",
"context": "Header missing in HTTP response"
},
"recommendation": "Add: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload"
}
],
"diff": {
"ref_scan_id": 41,
"ref_date": "2026-04-10T10:00:00Z",
"ref_mode": "safe",
"current_mode": "safe",
"mode_mismatch": false,
"new": [{ "id": "ARGUS-WP-012", "title": "Vulnerable plugin: contact-form-7...", "severity": "critical" }],
"fixed": [],
"persisting": [{ "id": "ARGUS-WP-050", "title": "Missing security header: HSTS", "severity": "medium" }]
},
"notes": {
"scan_duration_seconds": 26.4,
"requests_sent": 312,
"rate_limit_applied": true,
"scope_limitations": "Scan limited to publicly accessible pages.",
"false_positive_disclaimer": "Manual verification recommended before remediation."
}
}
Pour la référence complète du schéma, voir docs/REPORT_FORMAT.md et
schema/report.schema.json.
argus-wp-watcher/ │ ├── argus/ # Main application package │ ├── checks/ # Security check modules │ │ ├── config.py # Configuration auditing (XML-RPC, debug, editor) │ │ ├── crawl.py # Web crawl checks (robots, sitemap, comments) [v0.2.0] │ │ ├── files.py # Sensitive file detection (74 safe / 437 aggressive paths) │ │ ├── fingerprint.py # WordPress detection + CVE check for core │ │ ├── headers.py # Security headers analysis │ │ ├── login.py # Login security checks (2FA, CAPTCHA, brute-force) [v0.2.0] │ │ ├── plugins.py # Plugin/theme enumeration + CVE correlation [v0.2.0] │ │ └── users.py # User enumeration │ │ │ ├── core/ # Core infrastructure │ │ ├── ai.py # AI integration (LangChain, streaming, agent, compare) │ │ ├── config.py # Configuration management │ │ ├── consent.py # Consent token system │ │ ├── db.py # SQLite database interface │ │ ├── diff.py # Scan diff computation (new/fixed/persisting) [v0.2.0] │ │ ├── http_client.py # Rate-limited HTTP client │ │ ├── logging.py # Structured logging │ │ ├── owasp.py # OWASP Top 10 2021 mapping for all finding IDs [v0.2.0] │ │ ├── report.py # Report generation (JSON + HTML) │ │ └── vuln_db.py # CVE lookup (WPVulnerability.net + NVD) [v0.2.0] │ │ │ ├── main.py # Entry point │ ├── cli.py # CLI argument parser │ └── scanner.py # Main scan orchestrator │ ├── config/ # Configuration files │ ├── defaults.yaml # Default settings │ └── prompts/ # AI prompt templates │ ├── technical.txt # Technical analysis prompt │ └── non_technical.txt # Executive summary prompt │ ├── db/ │ └── migrate.sql # Database schema │ ├── assets/ │ └── ascii.txt # ASCII art branding │ ├── docker/ # Docker deployment │ ├── compose.yml # Production scanner compose │ ├── compose.testing.yml # Vulnerable WordPress lab │ ├── deploy.sh # Interactive deployment script │ ├── setup-lab.sh # Automated vulnerable lab setup [v0.2.0] │ └── Dockerfile # Production image │ ├── docs/ # Documentation │ ├── AI_INTEGRATION.md # AI setup guide │ ├── CONSENT.md # Consent system details │ ├── DATABASE_GUIDE.md # Database reference │ ├── ETHICS.md # Ethical guidelines │ ├── REPORT_FORMAT.md # Report specification │ ├── ROADMAP.md # Development roadmap │ └── TESTING_GUIDE.md # Safe testing practices │ ├── schema/ │ └── report.schema.json # JSON report schema │ ├── scripts/ │ └── cli-examples.md # CLI usage examples │ ├── templates/ │ └── report.html.j2 # HTML report template │ ├── CHANGELOG.md # Version history ├── LICENSE # MIT License ├── README.md # This file ├── requirements.txt # Python dependencies └── setup.py # Package installer
---
## 🗺️ Feuille de route
### v0.1.0 — Première version ✅ (Novembre 2025)
**Statut :** 🎉 **Publiée**
- ✅ Scanner de sécurité WordPress complet (130+ vérifications)
- ✅ Analyse basée sur l'IA (OpenAI, Anthropic, Ollama)
- ✅ Système de jetons de consentement (vérification HTTP + DNS)
- ✅ Rapports professionnels (JSON + HTML)
- ✅ Persistance SQLite et historique des analyses
- ✅ Support Docker avec laboratoire vulnérable
- ✅ Gestion complète des erreurs et résilience
### v0.2.0 — Détection améliorée et IA ✅ (Mai 2026)
**Statut :** 🎉 **Publiée**
- ✅ **Détection de version de plugin** : Cascade à 4 méthodes (HTML ?ver=, readme.txt, changelog, en-tête PHP)
- ✅ **Corrélation CVE en temps réel** : WPVulnerability.net (gratuit, sans clé) pour plugins, thèmes, noyau WP
- ✅ **Score CVSS** : API NVD — badges colorés critique/élevé/moyen/faible par CVE
- ✅ **Dernière version** : API WordPress.org affiche la version stable actuelle à côté de la version détectée
- ✅ **Cartographie OWASP Top 10 2021** : Chaque résultat mappé à A01–A10 avec badge dans le rapport HTML
- ✅ **Rapports HTML améliorés** : Badges CVE/CWE/OWASP/CVSS, barre de filtrage, extraits de configuration, panneaux extensibles
- ✅ **Rapports de diff d'analyse** : `--diff last` / `--diff ID` avec nouveau/corrigé/persistant, avertissement de non-concordance de mode
- ✅ **Mode agressif** : 447 plugins, 437 chemins, sécurité de connexion (2FA/CAPTCHA/force brute), exploration web
- ✅ **Suivi des coûts IA** : Respect du budget, `~/.argos/costs.json`, enregistrements de coûts en base de données (table `ai_costs`)
- ✅ **Streaming IA** : `--ai-stream` pour sortie de tokens en temps réel
- ✅ **Comparaison multi-LLM** : `--ai-compare openai,anthropic` — analyse côte à côte en parallèle
- ✅ **Agent IA** : `--ai-agent` avec appels d'outils NVD + WPVulnerability.net en direct
### v0.3.0 — Fonctionnalités Entreprise (T3 2026)
**Objectif :** Convivialité, passage à l'échelle, IA interactive
- 🔜 **Gestion interactive de configuration** : Interface de type Metasploit (`--show-options`, `--set`)
- 🔜 **CLI de base de données** : Pas de SQL requis (`argus db scans list`, `argus db findings search`)
- 🔜 **Analyse multi-sites** : Traitement par lots depuis un fichier
- 🔜 **Interface de chat IA** : Analyse conversationnelle des vulnérabilités
- 🔜 **Intégration CI/CD** : Modèles GitHub Actions, Jenkins, GitLab
- 🔜 **Serveur API REST** : API basée sur FastAPI pour l'automatisation
**Améliorations prévues :**
- Configuration interactive (`--set`, `--show-options`) pour changement dynamique de fournisseur
- Suivi de progression et indicateurs d'achèvement de phase
- Gestion de base de données en CLI (pas de SQL requis)
### v0.4.0 — Intelligence et Automatisation (T1 2027)
**Objectif :** Apprentissage automatique, automatisation, IA avancée
- 🔜 **Correction automatisée** : Intégration WP-CLI pour la correction automatique
- 🔜 **Détection basée sur le ML** : Détection d'anomalies, réduction des faux positifs
- 🔜 **Analyse distribuée** : Nœuds de travail pour les opérations à grande échelle
- 🔜 **Agents IA avancés** : Planification d'analyse autonome, génération d'exploitation
### Piste Pro
**Produit commercial pour entreprises**
**EN COURS**
Pour les descriptions détaillées des fonctionnalités, voir [ROADMAP.md](https://github.com/rodhnin/argus-wp-watcher/blob/HEAD/ROADMAP.md)
---
## 🤝 Contribuer
Nous accueillons les contributions ! Que ce soit :
- 🐛 Rapports de bugs
- 💡 Demandes de fonctionnalités
- 📝 Améliorations de la documentation
- 🔧 Contributions de code
### Comment contribuer
1. **Forkez le dépôt**
2. **Créez une branche de fonctionnalité** (`git checkout -b feature/amazing-feature`)
3. **Apportez vos modifications**
4. **Écrivez/mettez à jour les tests** (le cas échéant)
5. **Validez vos modifications** (`git commit -m 'Add amazing feature'`)
6. **Poussez vers la branche** (`git push origin feature/amazing-feature`)
7. **Ouvrez une Pull Request**
### Configuration de développement```bash
# Clone your fork
git clone https://github.com/YOUR-USERNAME/argus-wp-watcher.git
cd argus-wp-watcher
# Install development dependencies
python -m pip install -r requirements.txt
python -m pip install pytest black flake8 mypy
# Run code formatting
black argus/
# Run linting
flake8 argus/
mypy argus/
# Run tests (when available)
pytest tests/
Vous avez trouvé un bug ? Une demande de fonctionnalité ?
Ouvrez un ticket: https://github.com/rodhnin/argus-wp-watcher/issues
Veuillez inclure :
python -m argus --version)python --version)Une documentation complète est disponible dans le répertoire docs/ :
Ce projet est sous licence MIT License - voir le fichier LICENSE pour plus de détails.``` MIT License
Copyright (c) 2025 Rodney Dhavid Jimenez Chacin
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
---
## ⚠️ Avertissement
**IMPORTANT :** Cet outil est destiné **uniquement aux tests de sécurité autorisés**.
### Avis légal
En utilisant Argus, vous reconnaissez et acceptez que :
1. ✅ Vous **scannerez uniquement les systèmes dont vous êtes propriétaire** ou pour lesquels vous avez **une autorisation écrite explicite** de tester
2. ✅ Vous **respecterez toutes les lois et réglementations applicables**
3. ✅ Vous comprenez que **l'accès non autorisé est illégal** (CFAA, Computer Misuse Act, etc.)
4. ✅ L'auteur et les contributeurs **déclinent toute responsabilité** en cas d'utilisation abusive
5. ✅ Ce logiciel est fourni **"en l'état" sans aucune garantie**
### Divulgation responsable
Si vous découvrez des vulnérabilités en utilisant Argus :
- 📧 Contactez d'abord le propriétaire du site en privé
- ⏰ Accordez un délai raisonnable pour la correction (généralement 90 jours)
- 🤝 Coordonnez le calendrier de divulgation
- 📝 Documentez vos découvertes de manière professionnelle
### En cas de doute
**Ne scannez pas.** Si vous n'êtes pas sûr d'avoir la permission, c'est probablement que vous ne l'avez pas.
---
## 🙏 Remerciements
Argus se tient sur les épaules de géants :
- **WordPress.org** — Équipe de sécurité pour la documentation et les bonnes pratiques
- **WPScan** — Recherche de vulnérabilités et base de données
- **OWASP** — Normes de sécurité (Top 10, Guide de test)
- **LangChain** — Framework IA qui alimente l'analyse intelligente
- **Anthropic & OpenAI** — Modèles d'IA pour l'analyse des vulnérabilités
- **Ollama** — Inférence IA locale pour un scan respectueux de la vie privée
- **Communauté Python** — Bibliothèques et outils incroyables
Un merci spécial à tous les chercheurs en sécurité qui pratiquent et promeuvent le piratage éthique.
---
## 👤 Auteur
**Rodney Dhavid Jimenez Chacin (rodhnin)**
- 🌐 Site web & Contact : [rodhnin.com](https://rodhnin.com)
- 💼 GitHub : [@rodhnin](https://github.com/rodhnin)
- 🔗 Projet : [argus-wp-watcher](https://github.com/rodhnin/argus-wp-watcher)
Pour toute question, retour ou demande de collaboration, veuillez me contacter via [rodhnin.com](https://rodhnin.com).
---
## 💬 Communauté
- **Discussions** : [Discussions GitHub](https://github.com/rodhnin/argus-wp-watcher/discussions)
- **Problèmes** : [Problèmes GitHub](https://github.com/rodhnin/argus-wp-watcher/issues)
- **Versions** : [Versions GitHub](https://github.com/rodhnin/argus-wp-watcher/releases)
---
<div align="center">
**Construit avec ❤️ pour les pirates éthiques et les administrateurs WordPress du monde entier**
⭐ **Mettez une étoile à ce dépôt** si vous le trouvez utile ! ⭐
[Signaler un bug](https://github.com/rodhnin/argus-wp-watcher/issues) • [Demander une fonctionnalité](https://github.com/rodhnin/argus-wp-watcher/issues) • [Documentation](https://github.com/rodhnin/argus-wp-watcher/blob/HEAD/docs/)
---
_Argus v0.2.0 — Mai 2026_
</div>
| Catégorie de vérification | Mode sûr | Agressif | Détails |
|---|
| Détection WordPress | ✅ | ✅ | Empreinte de version via meta tags, readme, RSS, ressources |
| Extensions & Thèmes | 100 extensions | 447 extensions | Détection de version (4 méthodes) + corrélation CVE/CVSS en temps réel |
| Fichiers sensibles | 74 chemins | 437 chemins | Sauvegardes wp-config, .env, dumps SQL, .git, logs de débogage, outils PHP |
| Énumération d'utilisateurs | 3 méthodes | 6 méthodes | IDOR auteur, API REST, parsing HTML + oEmbed, erreur de connexion, XML-RPC |
| En-têtes de sécurité | ✅ | ✅ | HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy |
| Mauvaises configurations | ✅ | ✅ | XML-RPC, mode débogage, listage de répertoires, éditeur de fichiers |
| Sécurité de connexion | ❌ | ✅ | 2FA, CAPTCHA, protection contre la force brute, inscription ouverte, politique de mot de passe |
| Web Crawl | ❌ | ✅ | robots.txt, sitemap.xml, commentaires HTML, découverte de liens (profondeur 1) |
| Fournisseur | Meilleur pour | Vitesse | Coût/scan | Confidentialité |
|---|
| OpenAI gpt-4o-mini (par défaut) | Meilleur rapport qualité-prix | ⚡ ~40s | 💰 ~$0.006 | 🔒 Standard |
| OpenAI gpt-4o | Qualité production | ⚡ ~40s | 💰 ~$0.05 | 🔒 Standard |
| Anthropic claude-3-5-haiku | Orienté confidentialité | ⚡ ~55s | 💰 ~$0.02 | 🔒 Renforcé |
| Ollama (Local) | Confidentialité totale | 🐢 ~28min | 💰 Gratuit | 🔐 100% Hors ligne |
| Mode | Vérifications | Consentement requis | Limite de requêtes |
|---|
| Sûr | Non intrusif | ❌ Non | 5 req/s |
| Agressif | Analyse approfondie | ✅ Oui | 10 req/s |
| Analyse IA | Analyse des vulnérabilités | ✅ Oui | N/A |
| Document | Description |
|---|
| AI_INTEGRATION.md | Guide complet de configuration IA (tous les 3 fournisseurs) |
| CONSENT.md | Détails techniques du système de jetons de consentement |
| DATABASE_GUIDE.md | Schéma SQLite, requêtes, gestion |
| ETHICS.md | Cadre juridique et directives éthiques |
| REPORT_FORMAT.md | Schéma JSON et spécifications HTML |
| TESTING_GUIDE.md | Tests sécurisés avec le laboratoire Docker |
| ROADMAP.md | Fonctionnalités futures et plans de développement |