
Scanner di sicurezza per WordPress con analisi basata su intelligenza artificiale, framework di conformità etica e reporting professionale.
Scanner etico di vulnerabilità WordPress — correlazione CVE in tempo reale, mappatura OWASP, analisi basata su IA e test basati sul consenso.
Avvio rapido · Documentazione · Docker · Funzionalità AI · Metti una stella su GitHub
Panoramica scansione · ripartizione per gravità |
Segnalazioni · badge CVE/OWASP · barra dei filtri |
Argus è uno scanner di sicurezza WordPress pronto per la produzione che mette l'etica al primo posto. Progettato per penetration tester, ricercatori di sicurezza e amministratori WordPress, combina la scansione tradizionale delle vulnerabilità con un'analisi AI all'avanguardia per fornire informazioni utili e concrete.
--diff last confronta le scansioni per monitorare i progressi delle correzionipython -m argus --target https://example.com --html
- **Fingerprinting Multi-Metodo**: Rileva WordPress 4.x-6.x con zero falsi positivi
- **Correlazione CVE in Tempo Reale**: Verifica ogni plugin, tema e versione core rilevati rispetto a WPVulnerability.net (gratuito, senza chiave API)
- **Punteggio CVSS**: Recupera i punteggi da NVD per ogni CVE (critico ≥9.0, alto ≥7.0, medio ≥4.0)
- **Rilevamento Ultima Versione**: L'API di WordPress.org mostra la versione stabile corrente accanto alla versione rilevata
- **OWASP Top 10 2021**: Ogni riscontro mappato alla propria categoria OWASP (A01–A10)
- **Scansione Concorrente**: Thread pool + limitazione della frequenza per scansioni veloci e rispettose
- **Rilevamento Intelligente**: Interruzione anticipata per i siti non WordPress (rifiuto più rapido del 99%)
- **Raccolta di Evidenze**: Risposte HTTP, header e contenuti dei file conservati
### 📈 Report Diff di Scansione (v0.2.0)
Monitora i progressi della remediation tra le scansioni:```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 sezione diff mostra:
Scegli il tuo provider IA in base alle tue esigenze:
Modalità di analisi:
--ai-agent): Arricchita con dati CVE NVD in tempo reale e ricerche su WPVulnerability.net (API gratuite)--ai-compare): Analisi affiancata di più provider in parallelo--ai-stream): Output dei token in tempo reale mentre l'IA genera--ai-budget): Applicazione di un tetto di costo con soglia di interruzione configurabileReport JSON (leggibili da macchina)```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": [...]} }
**HTML Reports** (Human-Friendly, v0.2.0)
- 🎨 Design responsive con CSS inline (nessuna dipendenza esterna)
- 🏷️ Badge di gravità colorati + barra di filtro interattiva
- 🔴 Badge CVE che collegano a NVD, badge CWE viola (deduplicati)
- 🟣 Badge OWASP Top 10 2021 per ogni finding
- 🟢 Badge dell'ultima versione stabile per i componenti vulnerabili
- 📊 Badge del punteggio CVSS colorato per CVE (rosso/arancione/giallo/verde)
- 📝 Pannelli di dettaglio CVE espandibili, raccomandazioni espandibili
- 🔧 Snippet di configurazione delle intestazioni di sicurezza (Apache / Nginx / WordPress)
- 📈 Sezione diff (nuovi/corretti/persistenti) con avviso di mancata corrispondenza della modalità
- 🤖 Analisi AI con schede (esecutivo / tecnico / agente)
- 📱 Ottimizzato per dispositivi mobili
### 🔐 Sistema di Token di Consenso
Argus applica l'hacking etico attraverso la tecnologia. La scansione aggressiva e l'analisi AI richiedono **prova di proprietà**:```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
Il database SQLite tiene traccia di tutto:
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"
---
## 🚀 Avvio rapido
### Prerequisiti
- **Python 3.11+** (3.12 consigliata)
- **pip** (gestore di pacchetti Python)
- **Docker** (opzionale, per scansioni containerizzate)
### Installazione
**1. Clona il repository**```bash
git clone https://github.com/rodhnin/argus-wp-watcher.git
cd argus-wp-watcher
2. (Opzionale) Installa venv se non è già disponibile```bash
sudo apt update && sudo apt install -y python3-venv
sudo dnf install python3-virtualenv
brew install [email protected]
**3. Crea e attiva l'ambiente virtuale**```bash
python3 -m venv .venv
source .venv/bin/activate
# You should see (.venv) in your terminal prompt
4. Aggiorna pip```bash python -m pip install --upgrade pip
**5. Installa le dipendenze**```bash
python -m pip install -r requirements.txt
6. Configura le chiavi API (se usi l'AI cloud)```bash
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
**7. Verifica dell'installazione**```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
**🎉 Successo!** Controlla `~/.argos/reports/` per i tuoi report.
---
## 📘 Guida all'uso
### Scansione di 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
### Analisi basata sull'IA
**Passaggio 1: imposta la tua chiave API**```bash
export OPENAI_API_KEY="sk-..."
Passaggio 2: Testa la tua configurazione```bash
python -m argus.core.ai openai
**Passaggio 3: Esegui la scansione AI**```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
---
## 🤖 Analisi basata sull'IA
Argus utilizza **LangChain 1.0.0** con supporto per più provider IA, offrendoti flessibilità in base ai tuoi requisiti di sicurezza, privacy e budget.
### Provider Supportati
#### OpenAI GPT-4 Turbo
**Ideale per: uso in produzione**
- ⭐ Qualità: Eccellente (5/5)
- ⚡ Velocità: ~35 secondi
- 💰 Costo: ~$0.25 per scansione
- 🔒 Privacy: Standard (dati crittografati in transito)```bash
export OPENAI_API_KEY="sk-..."
python -m pip install langchain-openai==1.0.0
Ideale per: Privacy avanzata
#### Ollama (Modelli locali)
**Ideale per: Privacy totale**
- ⭐ Qualità: Buona (3/5)
- 🐢 Velocità: ~28 minuti (CPU) o ~75 secondi (GPU)
- 💰 Costo: Gratuito
- 🔐 Privacy: 100% offline (i dati non lasciano mai la tua macchina)```bash
# Install Ollama: https://ollama.ai
ollama pull llama3.2
python -m pip install "langchain-ollama>=0.3.0,<0.4.0"
Sanitizzazione automatica Prima di inviare i dati ai provider di IA, Argus rimuove automaticamente:
Solo opt-in
--use-aiPer la massima privacy Usa Ollama in locale. Anche se più lento e meno accurato, i tuoi dati di scansione non lasciano mai la tua macchina.
Opzione A — flag CLI (override a runtime, nessuna modifica ai file)```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
**Opzione B — `config/defaults.yaml` (modifica il default persistente)**```yaml
ai:
langchain:
provider: "ollama" # Changed from "openai"
model: "llama3.2" # Ollama model
ollama_base_url: "http://localhost:11434"
In arrivo nella v0.3.0: Menu di configurazione interattivo (stile Metasploit)```bash
argus --show-options argus --set ai.provider=anthropic argus --save-profile privacy-mode
---
## 🧪 Laboratorio di test sicuro
**⚠️ NON scansionare MAI siti in produzione senza autorizzazione scritta!**
Usa il nostro laboratorio Docker per esercitarti in sicurezza:
### Configura l'ambiente di 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
### Pulizia```bash
cd docker
docker compose -f compose.testing.yml down -v # -v removes all data
For detailed testing scenarios, see docs/TESTING_GUIDE.md
Esegui la scansione solo su sistemi che possiedi o per i quali hai un'esplicita autorizzazione scritta a testarli.
Argus implementa controlli tecnici per prevenire usi impropri:
L'accesso non autorizzato ai sistemi informatici è illegale nella maggior parte delle giurisdizioni:
Per le linee guida etiche complete, consulta docs/ETHICS.md
Argus offre tre modalità di distribuzione tramite uno script interattivo:
Usa lo script di distribuzione interattivo:```bash cd docker ./deploy.sh
**Opzioni del menu:**
- `1` → Solo scanner di produzione
- `2` → Solo laboratorio di test (WordPress + MariaDB)
- `3` → Entrambi gli ambienti
- `4` → Arresta tutti i servizi
- `5` → Rimuovi tutti i container e i dati (reset)
---
### Opzione 1: Scanner di produzione
Distribuisci solo lo scanner Argus per scansionare siti WordPress esterni:```bash
cd docker
./deploy.sh
# Select option 1
Oppure manualmente:```bash docker compose up -d
**Scansiona un target:**```bash
docker compose exec argus python -m argus --target https://example.com
Con analisi AI:```bash docker compose exec argus python -m argus --target https://example.com --use-ai
**Stop:**```bash
docker compose down
⚠️ AVVISO: Questo ambiente è INTENZIONALMENTE VULNERABILE per scopi di test. NON esporlo a Internet pubblica!
Distribuisci il laboratorio di test:```bash cd docker ./deploy.sh
**Oppure manualmente:**```bash
docker compose -f compose.testing.yml up -d
Cosa viene distribuito:
Accesso:
Scansiona l'ambiente di test:```bash
python -m argus --target http://localhost:8080
**Ferma e rimuovi:**```bash
docker compose -f compose.testing.yml down -v
Distribuisci scanner di produzione + laboratorio di test insieme:```bash cd docker ./deploy.sh
**Cosa viene distribuito:**
- ✅ Scanner Argus di produzione
- ✅ Database MariaDB
- ✅ WordPress 6.0 (vulnerabile)
- ✅ Connessione tra scanner di produzione e rete di test
**Scansione di siti esterni dallo scanner di produzione:**```bash
docker compose exec argus python -m argus --target https://example.com
Scansiona il laboratorio di test dallo scanner di produzione:```bash docker compose exec argus python -m argus --target http://wordpress
**Ferma tutto:**```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
### Schema del report 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."
}
}
Per il riferimento completo allo schema, vedere docs/REPORT_FORMAT.md e
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
---
## 🗺️ Roadmap
### v0.1.0 — Prima versione ✅ (Novembre 2025)
**Stato:** 🎉 **Rilasciata**
- ✅ Scanner di sicurezza WordPress completo (130+ controlli)
- ✅ Analisi basata su IA (OpenAI, Anthropic, Ollama)
- ✅ Sistema di token di consenso (verifica HTTP + DNS)
- ✅ Report professionali (JSON + HTML)
- ✅ Persistenza SQLite e cronologia delle scansioni
- ✅ Supporto Docker con laboratorio vulnerabile
- ✅ Gestione completa degli errori e resilienza
### v0.2.0 — Rilevamento Avanzato e IA ✅ (Maggio 2026)
**Stato:** 🎉 **Rilasciata**
- ✅ **Rilevamento versioni dei plugin**: cascata a 4 metodi (HTML ?ver=, readme.txt, changelog, intestazione PHP)
- ✅ **Correlazione CVE in tempo reale**: WPVulnerability.net (gratuito, senza chiave) per plugin, temi e core di WP
- ✅ **Punteggio CVSS**: API NVD — badge con codice colore critico/alto/medio/basso per ogni CVE
- ✅ **Ultima versione**: l'API di WordPress.org mostra la versione stabile corrente accanto alla versione rilevata
- ✅ **Mappatura OWASP Top 10 2021**: ogni riscontro mappato su A01–A10 con badge nel report HTML
- ✅ **Report HTML potenziati**: badge CVE/CWE/OWASP/CVSS, barra di filtro, frammenti di configurazione, pannelli espandibili
- ✅ **Report di differenza scansione**: `--diff last` / `--diff ID` con nuovi/risolti/persistenti, avviso di disallineamento della modalità
- ✅ **Modalità aggressiva**: 447 plugin, 437 percorsi, sicurezza di accesso (2FA/CAPTCHA/forza bruta), crawling web
- ✅ **Tracciamento costi IA**: applicazione del budget, `~/.argos/costs.json`, record di costo nel DB (tabella `ai_costs`)
- ✅ **Streaming IA**: `--ai-stream` per output dei token in tempo reale
- ✅ **Confronto multi-LLM**: `--ai-compare openai,anthropic` — analisi parallela affiancata
- ✅ **Agente IA**: `--ai-agent` con chiamate live agli strumenti NVD + WPVulnerability.net
### v0.3.0 — Funzionalità Enterprise (Q3 2026)
**Obiettivo:** Usabilità, scalabilità, IA interattiva
- 🔜 **Gestione configurazione interattiva**: interfaccia stile Metasploit (`--show-options`, `--set`)
- 🔜 **CLI del database**: nessuna conoscenza di SQL richiesta (`argus db scans list`, `argus db findings search`)
- 🔜 **Scansione multi-sito**: elaborazione batch da file
- 🔜 **Interfaccia chat IA**: analisi conversazionale delle vulnerabilità
- 🔜 **Integrazione CI/CD**: modelli GitHub Actions, Jenkins, GitLab
- 🔜 **Server API REST**: API basata su FastAPI per l'automazione
**Miglioramenti pianificati:**
- Configurazione interattiva (`--set`, `--show-options`) per il cambio dinamico del provider
- Monitoraggio del completamento delle fasi e indicatori di avanzamento
- Gestione del database tramite CLI (nessuna conoscenza di SQL richiesta)
### v0.4.0 — Intelligenza e automazione (Q1 2027)
**Obiettivo:** ML, automazione, IA avanzata
- 🔜 **Remediation automatizzata**: integrazione WP-CLI per la correzione automatica
- 🔜 **Rilevamento basato su ML**: rilevamento di anomalie, riduzione dei falsi positivi
- 🔜 **Scansione distribuita**: nodi worker per operazioni su larga scala
- 🔜 **Agenti IA avanzati**: pianificazione autonoma delle scansioni, generazione di exploit
### Pro Track
**Prodotto commerciale per aziende**
**IN CORSO**
Per descrizioni dettagliate delle funzionalità, vedi [ROADMAP.md](https://github.com/rodhnin/argus-wp-watcher/blob/HEAD/ROADMAP.md)
---
## 🤝 Contributi
Accogliamo con piacere i contributi! Che si tratti di:
- 🐛 Segnalazioni di bug
- 💡 Richieste di funzionalità
- 📝 Miglioramenti alla documentazione
- 🔧 Contributi di codice
### Come contribuire
1. **Fai il fork del repository**
2. **Crea un branch per la funzionalità** (`git checkout -b feature/amazing-feature`)
3. **Apporta le tue modifiche**
4. **Scrivi/aggiorna i test** (dove applicabile)
5. **Esegui il commit delle tue modifiche** (`git commit -m 'Add amazing feature'`)
6. **Esegui il push sul branch** (`git push origin feature/amazing-feature`)
7. **Apri una Pull Request**
### Configurazione dello sviluppo```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/
Hai trovato un bug? Hai una richiesta di funzionalità?
Apri un issue: https://github.com/rodhnin/argus-wp-watcher/issues
Includi, per favore:
python -m argus --version)python --version)Documentazione completa disponibile nella directory docs/:
Questo progetto è distribuito sotto la MIT License - consulta il file LICENSE per i dettagli.``` 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.
---
## ⚠️ Avvertenza
**IMPORTANTE:** Questo strumento è destinato **esclusivamente a test di sicurezza autorizzati**.
### Avviso legale
Utilizzando Argus, riconosci e accetti che:
1. ✅ Scansionerai **solo sistemi di tua proprietà** o per i quali hai **esplicita autorizzazione scritta** a eseguire test
2. ✅ **Rispetterai tutte le leggi applicabili** e le normative
3. ✅ Comprendi che **l'accesso non autorizzato è illegale** (CFAA, Computer Misuse Act, ecc.)
4. ✅ L'autore e i contributori **non si assumono alcuna responsabilità** per un uso improprio
5. ✅ Questo software è fornito **"così com'è", senza alcuna garanzia** di alcun tipo
### Divulgazione responsabile
Se scopri vulnerabilità utilizzando Argus:
- 📧 Contatta prima privatamente il proprietario del sito
- ⏰ Concedi un tempo ragionevole per la correzione (in genere 90 giorni)
- 🤝 Coordina la tempistica della divulgazione
- 📝 Documenta le tue scoperte in modo professionale
### In caso di dubbio
**Non scansionare.** Se non sei sicuro di avere il permesso, probabilmente non ce l'hai.
---
## 🙏 Ringraziamenti
Argus poggia sulle spalle dei giganti:
- **WordPress.org** — Team di sicurezza per documentazione e best practice
- **WPScan** — Ricerca sulle vulnerabilità e database
- **OWASP** — Standard di sicurezza (Top 10, Testing Guide)
- **LangChain** — Framework di IA che alimenta l'analisi intelligente
- **Anthropic & OpenAI** — Modelli di IA per l'analisi delle vulnerabilità
- **Ollama** — Inferenza IA locale per la scansione incentrata sulla privacy
- **Python Community** — Librerie e strumenti straordinari
Un ringraziamento speciale a tutti i ricercatori di sicurezza che praticano e promuovono l'hacking etico.
---
## 👤 Autore
**Rodney Dhavid Jimenez Chacin (rodhnin)**
- 🌐 Sito web e contatti: [rodhnin.com](https://rodhnin.com)
- 💼 GitHub: [@rodhnin](https://github.com/rodhnin)
- 🔗 Progetto: [argus-wp-watcher](https://github.com/rodhnin/argus-wp-watcher)
Per domande, feedback o richieste di collaborazione, visita [rodhnin.com](https://rodhnin.com) per contattarmi.
---
## 💬 Comunità
- **Discussions**: [GitHub Discussions](https://github.com/rodhnin/argus-wp-watcher/discussions)
- **Issues**: [GitHub Issues](https://github.com/rodhnin/argus-wp-watcher/issues)
- **Releases**: [GitHub Releases](https://github.com/rodhnin/argus-wp-watcher/releases)
---
<div align="center">
**Realizzato con ❤️ per hacker etici e amministratori WordPress di tutto il mondo**
⭐ **Metti una stella a questa repo** se la trovi utile! ⭐
[Segnala un bug](https://github.com/rodhnin/argus-wp-watcher/issues) • [Richiedi una funzionalità](https://github.com/rodhnin/argus-wp-watcher/issues) • [Documentazione](https://github.com/rodhnin/argus-wp-watcher/blob/HEAD/docs/)
---
_Argus v0.2.0 — Maggio 2026_
</div>
| Categoria di controllo | Modalità sicura | Aggressiva | Dettagli |
|---|
| Rilevamento WordPress | ✅ | ✅ | Fingerprinting della versione tramite meta tags, readme, RSS, asset |
| Plugin e Temi | 100 plugin | 447 plugin | Rilevamento versione (4 metodi) + correlazione CVE/CVSS in tempo reale |
| File Sensibili | 74 percorsi | 437 percorsi | Backup di wp-config, .env, dump SQL, .git, log di debug, strumenti PHP |
| Enumerazione Utenti | 3 metodi | 6 metodi | Author IDOR, REST API, parsing HTML + oEmbed, errore di login, XML-RPC |
| Header di sicurezza | ✅ | ✅ | HSTS, CSP, X-Frame-Options, Referrer-Policy, Permissions-Policy |
| Configurazioni errate | ✅ | ✅ | XML-RPC, modalità debug, elenco directory, editor di file |
| Sicurezza del login | ❌ | ✅ | 2FA, CAPTCHA, protezione brute-force, registrazione aperta, policy password |
| Crawl Web | ❌ | ✅ | robots.txt, sitemap.xml, commenti HTML, scoperta link (profondità 1) |
| Provider | Ideale per | Velocità | Costo/scansione | Privacy |
|---|
| OpenAI gpt-4o-mini (predefinito) | Miglior rapporto qualità/prezzo | ⚡ ~40s | 💰 ~$0.006 | 🔒 Standard |
| OpenAI gpt-4o | Qualità professionale | ⚡ ~40s | 💰 ~$0.05 | 🔒 Standard |
| Anthropic claude-3-5-haiku | Orientato alla privacy | ⚡ ~55s | 💰 ~$0.02 | 🔒 Migliorata |
| Ollama (locale) | Privacy totale | 🐢 ~28min | 💰 Gratuito | 🔐 100% Offline |
| Modalità | Controlli | Consenso Richiesto | Limite di Richieste |
|---|
| Safe | Non intrusivi | ❌ No | 5 req/s |
| Aggressive | Scansione profonda | ✅ Sì | 10 req/s |
| AI Analysis | Analisi delle vulnerabilità | ✅ Sì | N/D |
| Documento | Descrizione |
|---|
| AI_INTEGRATION.md | Guida completa alla configurazione AI (tutti e 3 i provider) |
| CONSENT.md | Dettagli tecnici del sistema di token di consenso |
| DATABASE_GUIDE.md | Schema SQLite, query, gestione |
| ETHICS.md | Quadro giuridico e linee guida etiche |
| REPORT_FORMAT.md | Schema JSON e specifiche HTML |
| TESTING_GUIDE.md | Test sicuri con il laboratorio Docker |
| ROADMAP.md | Funzionalità future e piani di sviluppo |