Sicurezza del JS iniettato — cosa può fare davvero uno snippet
Il JavaScript iniettato è potente — viene eseguito con i pieni diritti della pagina che visiti. Questo lo rende utile e, al tempo stesso, degno di essere compreso. Questo articolo spiega cosa può fare davvero uno snippet e di chi fidarsi.
Cosa può fare il JS iniettato
Il codice di una regola viene eseguito nel contesto della pagina — ha lo stesso accesso degli script propri della pagina:
- Legge e modifica tutto il DOM — inclusi i campi dei moduli e i loro valori.
- Legge i cookie disponibili per il JS e il
localStoragedella pagina. - Invia richieste
fetchper conto della pagina (entro i limiti della sua CSP).
Sono esattamente le capacità che rendono utili le regole. Ma significa che eseguire lo snippet di qualcun altro esegue il codice di qualcun altro con quei diritti.
Cosa non può fare il JS iniettato
- Non legge pagine di altri domini — la politica same-origin della pagina si applica ad esso.
- Non raggiunge i file sul tuo disco né le altre schede.
- Non legge i cookie contrassegnati
HttpOnly— quelli sono invisibili al JavaScript.
Il principio di fiducia — leggi prima di incollare
Durante l'import di un bundle condiviso, JustZix mostra un avviso se contiene JavaScript — e a ragione. Una regola CSS al massimo rovinerà l'aspetto. Una regola JS può leggere ciò che digiti in un modulo. Prima di eseguire lo snippet di qualcun altro:
- Leggilo. Uno snippet breve e leggibile si spiega da sé.
- Diffida del codice offuscato — nomi di variabili casuali, lunghe stringhe base64,
eval. Uno snippet onesto non ha motivo di nascondersi. - Diffida di un
fetchche invia dati a un indirizzo estraneo — è una potenziale esfiltrazione.
JustZix stesso non spia
L'estensione non ha telemetria — non segnala quali pagine visiti né cosa inietti. Il backend vede solo l'hash della chiave di sincronizzazione e i bundle di regole cifrati. Il rischio non sta nello strumento — sta nel codice che scegli di eseguire tu stesso. Quindi scrivi le regole tu stesso, o esegui solo quelle che capisci.
Vedi anche
- Come funziona la sincronizzazione — cosa vede il backend e cosa no
- Iniezione e CSP — i limiti del codice iniettato
- JustZix per un team QA — condividere con criterio
Installa JustZix — ed esegui solo codice di cui ti fidi.
Valuta questo articolo
Nessuna valutazione — sii il primo.