FlyweightBot: il nostro crawler web

FlyweightBot è il crawler web di Flyweight GmbH. Legge le pagine pubbliche degli store i cui proprietari hanno installato il nostro assistente agli acquisti AI. L’assistente può così rispondere sulla base dei prodotti, delle politiche e dei contenuti di assistenza dello store.

Se avete trovato questa pagina nei log di accesso, ecco come identificare, consentire o bloccare il crawler.

Perché visita il vostro sito

Esploriamo un dominio solo dopo che qualcuno installa Flyweight nello store e collega il dominio come fonte di contenuti. Non esploriamo il web aperto e non seguiamo link esterni al dominio collegato.

La scansione avviene al primo collegamento e durante gli aggiornamenti dei contenuti, non continuamente. Se non aspettavate questa visita, qualcuno del vostro team potrebbe aver installato l’app dallo Shopify App Store.

Come identificarlo

Ogni richiesta include questo token alla fine dell’header User-Agent:

FlyweightBot/1.0 (+https://flyweight.io/bot)

Il crawler utilizza un vero browser Chrome per visualizzare le pagine come le vede la clientela. Un esempio completo:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/143.0.0.0 Safari/537.36 FlyweightBot/1.0 (+https://flyweight.io/bot)

La versione di Chrome cambia con gli aggiornamenti. Cercate la stringa FlyweightBot, non l’header completo o una specifica versione di Chrome.

Da dove arrivano le richieste

Il traffico di scansione esce attualmente da un solo indirizzo IP statico dedicato a noi:

52.212.232.38

L’IP è il criterio più preciso per una lista di autorizzazione. Il token continua a identificare il crawler se aggiungiamo un altro percorso di accesso. Se uno strumento accetta solo un User Agent, usate FlyweightBot tenendo presente il rischio di falsificazione descritto sotto.

Come consentire l’accesso

In Cloudflare, create una regola WAF personalizzata con l’azione Skip. Per verificare l’IP:

(ip.src eq 52.212.232.38)

Per verificare sia il User Agent sia l’IP:

(http.user_agent contains "FlyweightBot" and ip.src eq 52.212.232.38)

Chiunque può copiare il token FlyweightBot in un header User-Agent. Usate una regola basata soltanto su questo dato solo se non esiste un’opzione più precisa. Preferite un’eccezione circoscritta a uno Skip generale:

(http.user_agent contains "FlyweightBot")

Altri WAF e CDN offrono regole equivalenti. In nginx, una regola deve utilizzare la classificazione perché questa abbia effetto:

map $http_user_agent $blocked_bot {
    default             0;
    "~*(bot|crawler)"   1;
    "~*FlyweightBot"    0;
}

server {
    if ($blocked_bot) {
        return 403;
    }
}

Le app Shopify antifrode o che bloccano paesi e bot offrono spesso una lista di autorizzazione. Aggiungete l’IP indicato sopra, oppure FlyweightBot se il campo richiede un User Agent. Un blocco può lasciare l’assistente con contenuti mancanti o obsoleti.

Come fermare la scansione

Il crawler attualmente non legge robots.txt, quindi una regola in quel file non lo fermerà. Rimuovete il dominio dalle fonti di contenuto nell’amministrazione Flyweight oppure disinstallate l’app per impedire nuove scansioni pianificate. Una scansione in corso termina il gruppo attuale di pagine, normalmente entro pochi minuti.

Potete anche bloccare le richieste nel vostro WAF o CDN con le espressioni sopra e un’azione di blocco. Contattateci prima, se possibile: il blocco impedisce all’assistente di aggiornare le conoscenze sul vostro store.

Contatti

Domande sul crawler o richieste di interruzione della scansione di un dominio che amministrate: hello@flyweight.io. Rispondiamo direttamente.

Flyweight GmbH, Jungbuschstraße 28, 68159 Mannheim, Germania. Note legali.