Un wallet di estensione del browser è un piccolo programma che vive dentro il tuo browser web — Chrome, Firefox, Brave o Edge — e custodisce le chiavi della tua cripto. Lo installi nello stesso modo in cui installi un blocco pubblicità: dal negozio di componenti aggiuntivi del browser, con un solo clic. Una volta lì, un'icona del wallet sta accanto alla barra degli indirizzi, pronta ogni volta che visiti un sito web che deve gestire cripto.
Questa guida spiega come funziona davvero questo tipo di wallet, com'è il suo modello di sicurezza e dove sono i rischi reali. Se sei completamente nuovo ai wallet, comincia da cos'è un wallet di criptovalute e poi dal confronto più ampio tra un wallet software e un wallet hardware — questo articolo si concentra in modo specifico sulla variante basata sul browser.
Cos'è davvero un'"estensione"
Un'estensione del browser è software che aggiunge funzioni al tuo browser. Il browser è il programma ospitante; l'estensione è un ospite che il browser lascia eseguire al suo interno. Le estensioni possono leggere e modificare le pagine web che visiti, mostrare le proprie finestre pop-up e memorizzare dati sul tuo computer. È proprio questo potere a rendere comodo un wallet di estensione — ed è proprio ciò che devi capire prima di affidargli del denaro.
Un wallet di estensione usa questo potere per tre compiti. Custodisce le tue chiavi nell'archiviazione locale del browser, di solito protette da una password. Ti mostra una finestra pop-up quando devi approvare qualcosa. E parla con le pagine web tramite una tecnica chiamata iniezione.
Come funziona l'iniezione
L'iniezione significa che il wallet colloca un piccolo pezzo di codice in ogni pagina web che apri. Pensala come il wallet che lascia un telefono sul tavolo di ogni sito che visiti. Quando un sito web vuole fare qualcosa con la cripto — collegarsi al tuo wallet, mostrare il tuo saldo o chiederti di inviare una transazione — prende quel telefono e fa una richiesta.
Il tuo wallet riceve la richiesta e non agisce in silenzio. Apre una finestra pop-up e ti chiede. "Questo sito vuole connettersi." "Questo sito vuole che tu firmi una transazione che invia 0,2 ETH." Nulla si muove finché non clicchi su approva. Il sito web può chiedere; solo tu puoi acconsentire. Questo passaggio di approvazione è l'abitudine più importante nell'uso di qualsiasi wallet del browser: leggi il pop-up prima di cliccare.
È questo design a permettere a un'applicazione decentralizzata — una dApp, cioè un sito web che gira su una blockchain — di funzionare direttamente da una normale scheda del browser senza software aggiuntivo. È davvero utile. Ma poiché il wallet è raggiungibile da ogni pagina, anche ogni pagina fa parte del quadro quando parliamo di sicurezza.
La superficie di attacco
"Superficie di attacco" è un termine semplice per tutti i punti da cui qualcosa può essere attaccato. Una porta d'ingresso, una porta sul retro e una finestra aperta fanno tutte parte della superficie di attacco di una casa. Un wallet del browser ne ha alcuni.
Pagine web malevole o compromesse. Poiché il wallet si inietta in ogni sito, un sito ostile può inviargli richieste. Il wallet ti chiede comunque prima, quindi una pagina malevola non può spostare fondi da sola — ma può confezionare una richiesta confusa e sperare che tu la approvi senza leggerla.
dApp di phishing. Un sito di phishing è una contraffazione costruita per sembrare uno vero. Una copia di un exchange popolare o di un marketplace di NFT può chiederti di "verificare il tuo wallet" e presentare una transazione che in realtà lo svuota. Il pop-up è onesto su ciò che farà; è il sito web ad aver mentito sul perché.
Permessi troppo ampi. Quando installi una qualsiasi estensione, il browser elenca a cosa può accedere. Molti wallet chiedono il permesso di leggere e modificare i dati su tutti i siti web — ne hanno bisogno per iniettarsi ovunque. Il prezzo è che un wallet con ampia portata è una preda più grossa se viene mai rivolto contro di te.
Rischio della catena di approvvigionamento. Questo è quello sottile. Un attacco alla catena di approvvigionamento non prende di mira te, ma qualcosa da cui dipendi. Il software moderno è assemblato da centinaia di mattoni open source più piccoli chiamati dipendenze. Se un attaccante infila codice cattivo in uno di quei mattoni — una dipendenza avvelenata — o dirotta l'aggiornamento che spinge una nuova versione dell'estensione nel tuo browser, il codice malevolo arriva attraverso un canale di cui ti fidi già. Hai installato un'estensione sicura; un aggiornamento successivo, o un componente sepolto al suo interno, non lo era.
Per uno sguardo più approfondito e neutrale rispetto ai fornitori su come le estensioni del browser vengono costruite e protette, la documentazione delle estensioni web di MDN di Mozilla è il riferimento autorevole, e il progetto OWASP pubblica linee guida generali sulle minacce web di cui sopra.
Come SSP riduce il rischio
Niente di tutto questo significa che i wallet del browser non siano sicuri da usare. Significa che uno ben costruito deve pianificare in funzione della superficie di attacco invece di fingere che non esista. SSP lo fa in due modi concreti.
Sandboxing a runtime di LavaMoat. Una sandbox (cassetta di sabbia) è uno spazio confinato dove qualcosa può funzionare senza poter raggiungere il resto del sistema — come una vera sabbiera tiene la sabbia in un solo posto. LavaMoat applica quest'idea a quelle centinaia di dipendenze. Ogni dipendenza gira nel proprio scomparto sigillato con accesso solo a ciò di cui ha davvero bisogno. Così, se una dipendenza avvelenata si infila davvero dentro tramite un attacco alla catena di approvvigionamento, resta intrappolata: non può raggiungere silenziosamente il resto del wallet per leggere le tue chiavi, perché le pareti del suo scomparto non lo permettono. L'attacco viene contenuto invece che diventare catastrofico. Lo trattiamo in dettaglio nel post della sala stampa su LavaMoat che arriva in SSP.
Un design 2 su 2. Questa è la protezione strutturale più grande. La maggior parte dei wallet del browser custodisce la chiave intera — approva un pop-up sbagliato e i fondi sono spariti. SSP divide la firma su due dispositivi: l'estensione del browser custodisce una chiave, e l'app SSP Key sul tuo telefono custodisce la seconda. Una transazione è valida solo quando entrambi la firmano. L'estensione da sola non può spostare nemmeno una moneta.
Questo cambia del tutto i conti. Anche se una pagina malevola inganna l'estensione, anche se un aggiornamento compromesso la raggiunge, l'attaccante controlla solo una delle due chiavi richieste. Il tuo telefono — un dispositivo separato, con uno schermo separato che ti mostra i dettagli della transazione — deve comunque approvare. Un attacco che svuoterebbe un comune wallet del browser si arresta davanti a un muro che non può attraversare.
Quindi, i wallet del browser sono sicuri?
Un wallet del browser è abbastanza sicuro per l'uso quotidiano quando due cose sono vere: il wallet è costruito per contenere i guasti descritti sopra, e tu tratti il pop-up di approvazione come una decisione vera anziché un riflesso. Installa le estensioni solo dai negozi ufficiali, tieni il wallet per sé in un browser di cui ti fidi, e rallenta ogni volta che un sito ti chiede di firmare qualcosa.
La più grande debolezza di un wallet del browser — vivere in un browser affollato e connesso a internet — è reale. La risposta di SSP non è ignorarla, ma presumere che il browser possa essere compromesso e rendere ciò sopravvivibile: LavaMoat contiene una dipendenza cattiva, e il design 2 su 2 significa che l'estensione da sola non basta mai a farti perdere i fondi. Più avanti in questa serie, i wallet di criptovalute mobili esaminano l'altra metà di questa coppia — il telefono che deve co-firmare.