Come bloccare centinaia di migliaia di siti di phishing con una sola riga di codice

La maggior parte dei siti di phishing ha una vita utile di pochi giorni. Gli truffatori registrano un dominio con un nome simile a un servizio popolare, rubano chiavi private o dati delle carte a qualche decina di utenti disattenti, e poi passano all'indirizzo successivo. I database antivirus tradizionali spesso restano indietro nella fase di analisi, quando i danni principali sono già stati fatti.
Recentemente ho scoperto il progetto open-source Destroylist del team PhishDestroy. Non è solo un'altra lista di indirizzi dannosi, ma un sistema completo di raccolta di threat intelligence che cerca automaticamente le truffe, verifica i contenuti, segnala le violazioni ai registrar e fornisce feed pronti all'uso in tutti i formati possibili.
Cosa c'è dentro e a chi serve
Il database del progetto contiene oltre 888.000 domini tracciati. Di questi, circa 180.000 sono nella lista principale verificata delle risorse di phishing. Il progetto raccoglie dati da 13 fonti attraverso i propri parser, filtrando costantemente i falsi positivi.

Il feed è utile in quattro scenari chiari:
- Configurazione di un server DNS di casa o ufficio tramite Pi-hole, AdGuard Home o Unbound.
- Validazione dei link all'interno di servizi web, bot di messaggistica o wallet crypto prima di reindirizzare l'utente.
- Arricchimento dei dati in strumenti SOC o ricerca OSINT.
- Training dei propri modelli di filtering del traffico.
Feed per ogni gusto e Redis veloce
Una caratteristica interessante del repository è che gli autori si sono preoccupati di come recupererai i dati. Non dovrai scrivere parser per pulire i log o trasformare JSON al volo. La directory del progetto contiene file già pronti per vari strumenti:
- Hosts (per Pi-hole,
/etc/hostso Windows) - AdBlock (per uBlock Origin e AdGuard)
- Dnsmasq
- Unbound (per pfSense e OPNsense)
- RPZ (per BIND e Knot DNS)
- Redis
Se hai bisogno di caricare un feed aggiornato in Redis per lookup O(1), il repository include un one-liner già pronto:
curl -s https://cdn.jsdelivr.net/gh/phishdestroy/destroylist@main/rootlist/formats/primary/redis.txt | redis-cli --pipe
Dopo aver eseguito questo comando, verificare un indirizzo a evil-domain.com diventa un'operazione istantanea:
SISMEMBER destroylist:primary evil-domain.com
Tutte le liste sono disponibili direttamente da GitHub oltre che attraverso il CDN jsDelivr. La seconda opzione è preferibile poiché richieste frequenti ai file raw di GitHub possono facilmente generare un errore 429.
Verifica del contenuto HTTP e il problema del cloaking
Molti creatori di blacklist si limitano alla risoluzione DNS. Se un dominio risponde al ping o restituisce un indirizzo IP, viene considerato attivo. Ma gli attaccanti usano spesso il cloaking: se un bot di ricerca o uno scanner di sicurezza automatizzato visita il sito, ottiene una pagina vuota o un placeholder. Il contenuto phishing effettivo viene mostrato solo agli utenti reali con le giuste intestazioni HTTP e geolocalizzazione.
Destroylist ha un feed separato con verifica HTTP. Gli script del progetto non si limitano a controllare i record DNS—effettuano vere richieste HTTP ogni 12 ore e analizzano il contenuto della pagina.
Se una pagina di phishing viene effettivamente servita in questo momento, il dominio viene aggiunto a content_active.json. Tuttavia, gli autori avvertono onestamente: se un sito non è nella lista con controllo del contenuto, ciò non significa che sia sicuro. A causa del cloaking, è più logico usare la lista completa.
API Threat Intelligence gratuita
Se non vuoi memorizzare un database locale o aggiornare regolarmente file di testo, il progetto ha una REST API pubblica. È completamente gratuita, non richiede registrazione e non servono chiavi API.
La caratteristica speciale dell'API è il calcolo del risk score da 0 a 100 punti. Il rating si forma da una combinazione di fattori:
- Presenza nella lista principale del progetto (+40 punti)
- Attività DNS confermata (+30 punti)
- Segnalazioni della community (+20 punti)
- Parole chiave sospette come airdrop, wallet, metamask (+5 punti ciascuna)
- TLD rischiosi come
.xyz,.top,.club(+5 punti)
Puoi verificare un dominio via cURL con un singolo comando:
curl "https://api.destroy.tools/v1/check?domain=suspicious-site.xyz"
La risposta è un JSON trasparente con il livello di minaccia (severity) e i punti guadagnati:
{
"domain": "suspicious-site.xyz",
"threat": true,
"risk_score": 85,
"severity": "critical"
}
Per controlli batch, c'è un endpoint POST a /v1/check/bulk che accetta fino a 500 domini per richiesta. È comodo se stai filtrando input utente o elaborando log in entrata in batch.
Esempio Python per controlli regolari:
import requests
def check_domain(domain: str) -> bool:
response = requests.get(f"https://api.destroy.tools/v1/check?domain={domain}")
if response.status_code == 200:
data = response.json()
return data.get("threat", False)
return False
if check_domain("suspicious-site.xyz"):
print("Внимание! Домен находится в черном списке.")
Combattere i registrar e automatizzazione
Destroylist è interessante non solo come database, ma come precedente nella lotta automatizzata agli abusi. Gli autori del progetto hanno sviluppato una pipeline che, dopo aver rilevato una minaccia, genera evidenze (screenshot, dump del traffico, dump WHOIS) e invia reclami ufficiali ai provider di hosting, ai registrar e a oltre 50 servizi di sicurezza tra cui Google Safe Browsing, VirusTotal, Cloudflare e Microsoft Security.
Il repository mantiene in modo trasparente una cronologia di tutti gli abusi inviati. Il progetto pubblica report sui registrar che ignorano i requisiti ICANN e non rispondono a decine di segnalazioni di abusi per mesi.
Se un dominio legittimo è accidentalmente finito nella lista, c'è un modulo di ricorso sul sito web e issue pubbliche su GitHub. Gli autori elaborano tempestivamente le richieste e aggiungono gli indirizzi corretti al file allowlist.json.

In conclusione
Destroylist è uno strumento open-source maturo (licenza MIT) con un'elevata frequenza di aggiornamento. Grazie alla sua struttura di export flessibile, è facile da integrare sia in un Pi-hole casalingo che in un servizio di produzione che ha bisogno di filtrare le truffe al volo.
Dai un'occhiata al repository, prendi il formato di feed che ti serve, o semplicemente salva l'indirizzo dell'API gratuita. Il progetto è vivo, sviluppato attivamente dalla community, e aiuta genuinamente a rendere la rete più pulita.
Progetti correlati