Wordfence da terminale: arriva il plugin open source con comandi WP-CLI e supporto alla WordPress Abilities API
Nel panorama WordPress, Wordfence è uno dei plugin più usati per scansioni malware, firewall (WAF, Web Application Firewall) e gestione delle minacce. Il problema è che molte operazioni quotidiane restano legate alla dashboard: se gestisci più installazioni, fai manutenzione “da shell”, o vuoi integrare controlli in pipeline/automation, l’interfaccia web diventa un collo di bottiglia.
È qui che entra in gioco WP-CLI & Abilities API for Wordfence: un plugin open source che porta il controllo operativo di Wordfence su WP-CLI (la CLI ufficiale di WordPress) e che, in parallelo, è tra i primi a supportare la nuova WordPress Abilities API introdotta con WordPress 6.9. Tradotto: puoi orchestrare scansioni, firewall e issue tracking da terminale, e allo stesso tempo esporre funzionalità “scopribili” e validabili da strumenti di automazione e agenti AI.
Cosa aggiunge: namespace wp wfsec per Wordfence su WP-CLI
Il plugin introduce un nuovo namespace di comandi: wp wfsec. L’obiettivo è coprire le attività operative più comuni di Wordfence senza passare dall’admin, mantenendo una struttura comandabile e automatizzabile.
Security Scanning (scansioni di sicurezza)
- Avvio di scansioni malware quick o full
- Monitoraggio dello stato della scansione e avanzamento in tempo reale
- Consultazione della scan history e dei log dettagliati
Firewall Management (gestione WAF e blocchi)
- Blocco e sblocco di indirizzi IP
- Impostazione della durata del blocco e di una motivazione (reason)
- Verifica se uno specifico IP risulta bloccato
- Abilitazione o disabilitazione della protezione WAF
Issue Tracking (minacce e segnalazioni)
- Elenco di tutte le issue di sicurezza rilevate
- Filtri per stato: new, ignored, resolved
- Eliminazione o gestione di minacce individuali
Configuration (configurazione e licenza)
- Lettura e scrittura delle impostazioni Wordfence
- Verifica dello stato della licenza
- Export e import della configurazione
Esempi rapidi: comandi utili per operazioni e script
Qui sotto trovi alcuni comandi rappresentativi per capire il flusso operativo. L’idea è poterli usare sia “a mano” in SSH, sia dentro cronjob, script di provisioning o sistemi di monitoraggio.
# Verifica lo stato generale di Wordfence
wp wfsec status
# Avvia una scansione completa
wp wfsec scan start --type=full
# Osserva l'avanzamento della scansione
wp wfsec scan status
# Elenca tutte le issue di sicurezza
wp wfsec issues ls --status=all
# Blocca un IP per 24 ore (86400 secondi)
wp wfsec firewall block 192.168.1.100 --duration=86400 --reason="Brute force attempt"
# Controlla lo stato della licenza
wp wfsec license status
Un dettaglio importante per chi automatizza: tutti i comandi supportano --format=json, quindi puoi serializzare l’output e gestirlo in modo robusto con jq, in un runner CI, o in qualsiasi tool di orchestrazione.
La parte davvero interessante: supporto alla WordPress Abilities API (WP 6.9+)
WP-CLI è già un enorme salto di qualità per chi lavora da terminale. Ma questo plugin fa un passo in più perché implementa la WordPress Abilities API: una nuova interfaccia standard (introdotta in WordPress 6.9) che consente ad agenti AI e strumenti di automazione di scoprire e invocare funzionalità di WordPress tramite un’API auto-descrittiva e con schema validato.
In pratica, invece di costruire integrazioni ad hoc, puoi esporre capacità (abilities) ben definite che un agente può enumerare e utilizzare senza “conoscere” in anticipo i dettagli interni del plugin. L’approccio è pensato per ridurre l’attrito nell’automazione: dashboard custom, monitoraggio security-driven, routine di hardening, e controlli periodici gestiti da tool esterni.
Le 7 abilità esposte dal plugin
- scan-status – recupera lo stato corrente della scansione e l’avanzamento
- scan-start – avvia scansioni di sicurezza in modo programmatico
- issues-list – ottiene la lista delle issue rilevate
- issues-count – restituisce il conteggio delle issue per severità
- firewall-status – verifica lo stato del WAF
- firewall-block – blocca IP via API
- license-status – interroga le informazioni di licenza
Il risultato è un set di funzionalità “a grana grossa” ma estremamente pratiche: puoi costruire monitoraggi AI-powered, integrare Wordfence in una console operativa interna, o delegare a tool automatici controlli ricorrenti (ad esempio: avviare una scansione completa fuori orario e verificare che il WAF sia attivo).
Autenticazione: Application Passwords + Basic Auth
Per l’accesso, l’implementazione usa le WordPress Application Passwords tramite Basic Auth. Le Application Passwords sono credenziali dedicate (separate dalla password principale) pensate proprio per integrazioni e automazioni: un’impostazione sensata quando vuoi far parlare sistemi esterni con WordPress in modo controllato.
Requisiti tecnici
Prima di installare, verifica questi requisiti (sono vincolanti, soprattutto per la parte Abilities API):
- WordPress 6.9+
- PHP 8.0+
- WP-CLI 2.5+
- Plugin Wordfence Security (free o premium)
Download e installazione
Puoi scaricare l’ultima versione rilasciata e caricarla nella directory dei plugin (/wp-content/plugins/).
In alternativa, è disponibile anche l’installazione via Composer in setup stile Bedrock (utile se gestisci WordPress come progetto PHP con dipendenze versionate).
Quando ha senso usarlo (davvero)
Questo plugin brilla soprattutto in tre scenari: (1) gestione di più siti WordPress dove vuoi un set di comandi uniformi per controlli e remediation; (2) manutenzione e incident response via SSH, dove aprire l’admin non è la strada più rapida; (3) automazione avanzata, perché l’output JSON e l’Abilities API rendono più semplice integrare Wordfence in processi esterni senza incollare insieme endpoint custom e parsing fragile.
Se lavori con Wordfence ogni giorno, l’idea di poter avviare scansioni, verificare il WAF, estrarre issue e bloccare IP direttamente da terminale (e, in prospettiva, farlo fare a tool automatici standardizzati) è un cambio di passo notevole.
Francesca Rossi
Caporedattrice del team italiano, specialista in design system e librerie di componenti. Non posso vivere senza Figma e Storybook. Il mio obiettivo è un'interfaccia utente coerente.
Tutti gli articoli