Chiunque abbia accesso in lettura al tuo computer può accedere alla password. Anche se il database ( localStorage
/ qualunque) è crittografato. Tutto ciò che un utente malintenzionato deve fare è copiare la directory dei dati dell'utente ( ~/.config/google-chrome
su Linux, da qualche parte in AppData su Windows), avviare Chrome sul proprio PC con il flag --user-data-dir
impostato sulla directory copiata e utilizzare l'app - - le credenziali memorizzate verranno utilizzate per accedere a qualsiasi sito che si sta utilizzando (e possono essere facilmente sniffate tramite gli strumenti di sviluppo).
Invece, ti suggerisco di vedere se il servizio ha un'API di autorizzazione. Ad esempio, puoi avere la tua estensione richiedere autorizzazioni parziali all'account Google . Naturalmente, se la directory dei dati viene rubata, l'utente malintenzionato ha accesso a tali autorizzazioni. Molti siti (come Twitter) supportano OAuth , questa è un'altra cosa che puoi provare. La maggior parte dei siti abilitati per OAuth fornisce solo autorizzazioni limitate tramite OAuth.
Altrimenti, salva la password sul tuo server e fai fare tutto al server - usa la tua estensione per comunicare con il server e visualizzare il risultato. In questo modo, un utente malintenzionato può lavorare solo entro i limiti di ciò che può fare l'estensione.
Alla fine, qualunque metodo tu usi per proteggerlo, un attaccante che ruba la directory dei dati sarà in grado di fare qualche danno. Tutto quello che puoi fare è aiutare a limitare le possibilità - con la password diretta, e l'attaccante può fare ogni genere di cose come cambiare la password. Con una chiave API con autorizzazioni limitate, l'utente malintenzionato può lavorare solo all'interno dei limiti di tali permanenti. Se fai tutto sul server, l'hacker non può fare molto al di fuori delle funzionalità della tua estensione, dal momento che il server sa solo come rendere certi tipi di richieste alla pagina.