ZeroBogus è una suite multi-canale per identificare contenuti potenzialmente falsi/ingannevoli con report spiegabili:
- punteggio rischio
0-100 - verdetto (
low_risk,medium_risk,high_risk) - motivazioni leggibili (il “perché”)
- integrazione OSINT opzionale (URLScan) solo con consenso
ZeroBogus non fornisce un “vero/falso assoluto”: fornisce segnali e contesto per aiutare decisioni più sicure.
- rilevamento pattern phishing (protocollo, hostname, punycode, redirect, keyword sospette)
- warning su tracking/affiliazione (
utm_*,gclid,fbclid,aff,ref, ecc.) - supporto URLScan opzionale con consenso utente
- analisi euristica su testo (sensazionalismo, urgenza, assenza fonti, numeri non supportati)
- modalità “news da URL”: fetch pagina, estrazione testo e triage link sospetti nel contenuto
- analisi rapida di handle / URL profilo per segnali di impersonazione
- verifica host social, pattern nome, brand spoofing
- controllo base input e messaggi orientativi
- modulo forensics avanzato previsto in roadmap
worker.js: versione principale per deploy Cloudflare Workers (produzione consigliata)server.js: versione Node.js locale/self-hostDockerfile: esecuzione container localepackage.json: script Node baseREADME.md: documentazioneLICENSE: licenza MIT
- Cloudflare -> Workers & Pages -> Create application -> Worker.
- Incolla il contenuto di
worker.js. - Deploy.
Configura la route:
tivustream.com/zerobogus*
Workers -> Settings -> Variables.
Variables:
BASE_PATH=/zerobogusURLSCAN_ENABLED=trueURLSCAN_VISIBILITY=unlistedEXTERNAL_CHECKS_REQUIRE_CONSENT=trueFETCH_ARTICLE_ENABLED=trueFETCH_ARTICLE_MAX_BYTES=1200000FETCH_ARTICLE_TIMEOUT_MS=9000HISTORY_MAX_ITEMS=200
Secret:
URLSCAN_API_KEY=<your-key>
GET /zerobogus/health-> JSON conruntime: cloudflare-workerGET /zerobogus/-> UI caricata
npm startApri:
http://localhost:3000
docker build -t zerobogus:local .
docker run --rm -p 3000:3000 --name zerobogus zerobogus:localGET /healthGET /api/capabilitiesPOST /api/analyzeGET /api/history?limit=20&offset=0GET /api/history/<id>DELETE /api/history
La UI supporta un toggle lingua IT/EN:
- querystring:
?lang=itoppure?lang=en - pulsante in alto a destra per cambio rapido lingua
- i messaggi principali UI e molte motivazioni vengono restituite nella lingua selezionata
Esempi:
https://tivustream.com/zerobogus/?lang=ithttps://tivustream.com/zerobogus/?lang=en
- Nessun tracking cookie richiesto dal tool.
- URLScan viene usato solo con consenso esplicito.
- In Cloudflare Workers la cronologia è best-effort in memoria (può azzerarsi con restart/cold start).
- In modalità News da URL il fetch pagina è limitato e con protezioni anti-SSRF.
- Persistenza cronologia con Cloudflare KV/D1 (opt-in).
- Modulo image forensics privacy-friendly (hash percettivo, metadati, controlli tecnici).
- Connettori OSINT aggiuntivi con consenso (es. Safe Browsing / VirusTotal).
Licenza MIT. Vedi LICENSE.
Se usi questo progetto, una menzione a TivuStream è apprezzata.