Ecco perchè secondo noi il bot-game di Supreme non ha (quasi) più senso
adidas_Ozweego_Header

Comprare su Supreme è diventato negli ultimi anni sempre più complicato, sia a causa della limitatezza dei pezzi prodotti rispetto all’elevata domanda da parte del pubblico, sia a causa dell’introduzione di bot: programmi in grado di effettuare acquisti a velocità molto più elevate rispetto ad un essere umano. La prova schiacciante di questi fenomeni è stata sicuramente in occasione dello scorso drop in cui le Box Logo in collaborazione con Swarovsky sono tutte andate sold out in meno di 10 secondi.

Durante il corso degli anni Supreme ha cercato di porre rimedio a questo problema aggiungendo diversi sistemi “anti-bot” per ingannare (tenete a mente questo termine, non ho detto bloccare) i bot superveloci o script che permettevano di acquistare l’item più hype di ciascun drop.

Ma procediamo per gradi.

Ecco una timeline di tutti i livelli di sicurezza introdotti da Supreme nel corso degli ultimi anni:

– Marzo 2017

Supreme aggiunge il sistema reCAPTCHA di Google al checkout. La soluzione è stata relativamente semplice (diversi metodi applicabili).

 

– Settembre 2017

Supreme aggiunge il servizio Tohru per monitorare i movimenti del mouse. La soluzione è stata usare il sito mobile.

– Ogni tanto nel 2018

Supreme inizia ad inserire caratteri speciali (non individuabili dai bot se non adeguatamente attrezzati) tra i nomi degli articoli. Ad esempio, visivamente “В” e “B” sono la stessa lettera. Tuttavia, la prima appartiene all’alfabeto cirillico, mentre la seconda è la lettera del nostro alfabeto! In informatica, questi due caratteri sono diversi. La soluzione è stata quella di traslitterare tutti i caratteri degli alfabeti stranieri in quelli usati dalle nostre tastiere.

– Metà 2018

Supreme inserisce uno script per intercettare le estensioni-bot del browser. Questo sistema, ancora oggi attivo, ricerca parole come “autofill“, “adding to cart“, “payment“, “delay” e una volta trovate dà la fastidiosissima schermata  “credit card declined“. A chi non è capitato? La soluzione (trovata in un secondo momento) è stata semplice.

 

– Ottobre 2018

Iniziano i primi test per una nuova e potente contromisura chiamata “Pooky“, applicata solamente sul sito in cui Supreme gestisce le registrazioni per i drop in-store. Iniziano le prime indagini.

– 1 novembre 2018

Il Pooky entra in azione su un solo prodotto: la penna nera in collaborazione con Kaweko.

– Subito dopo

Il Pooky entra in azione per tutto il catalogo Supreme. I bot sono in crisi.

– Oggi

Il Pooky è in continua evoluzione.

Che cos’è il “Pooky”?

E’ uno script in JavaScript che viene automaticamente eseguito quando si visita il sito di Supreme. Il suo compito è relativamente semplice: crea molteplici cookies (criptati) che saranno inviati al server nel momento del checkout: se validi, l’ordine verrà eseguito (il controllo viene eseguito prima del pagamento).

Il problema è che questo script è “offuscato”: ossia è talmente complicato che risulta illeggibile da un umano e dunque dagli sviluppatori. Tuttavia, è possibile fare del reverse-engineering: si può infatti ottenere una versione “pulita” ma non sempre comprensibile perciò funzionante e affidabile al 100%.

Come appare il codice Pooky offuscato
Come appare il codice Pooky offuscato.

Tuttavia, emergono due grandi problemi per gli sviluppatori:

– Il Pooky viene attivato solo poco prima del drop e cambia offuscamento di drop in drop. In altre parole, è molto difficile eseguire dei test e lo sviluppatore ha poco tempo per correggere eventuali errori.

– I cookies possono cambiare di drop in drop. Cosa accaduta già diverse volte.

Questa nuova contromisura è parecchio “challenging“: risulta praticamente impossibile prevedere i cambiamenti (se ci sono) che Supreme farà per il drop successivo.

Nell’ultimo drop, ad esempio, Supreme ha generato di proposito alcuni cookies sbagliati, meglio dire malformati, affinché i bot che mandavano cookies validi fallissero.

Cambiamenti come questo sono impossibili da prevedere per la mente umana, tuttavia Supreme sembrerebbe non voler bloccare completamente i bot. Difatti, cambiare codici di settimana in settimana richiede un gran lavoro, inoltre l’offuscamento del Pooky viene eseguito da terzi obbligando Supreme a spendere dei soldi.

Il brand di New York sembra più che altro intento a prendersi gioco dei bot, attivando solamente a volte i Pooky. Supreme potrebbe infatti scrivere il Pooky in un altro linguaggio (Rust/Go/C… WebAssembly) complicando la faccenda parecchio di più a tal punto da impossibilitare l’utilizzo di bot sul proprio sito.

Che si diverta a far impazzire gli sviluppatori, nel frattempo? Fateci sapere se anche voi utilizzate bot per fare acquisti online.

Supreme bot