Questo è il design previsto e non un problema, tranne quando gli autori del sito dimenticano che questo è il design previsto.
In un'applicazione web, Javascript deve essere leggibile dal browser, perché è lì che viene analizzato ed eseguito. E tutto ciò che è leggibile dal browser è leggibile da un utente malintenzionato. Pertanto, la sicurezza del sistema non può dipendere dalla segretezza di Javascript.
Forse stai pensando alle regole sugli script CGI. Uno script CGI viene eseguito sul server, non sul client, e quindi non è necessario per essere letto dal client. Inoltre, non è insolito che le informazioni "segrete" (come le stringhe di connessione al database con nomi utente e password) siano incorporate nello script CGI, il che significa che averlo letto al client è molto brutto. E poiché si tratta di un errore di configurazione del server Web in qualche modo comune (per consentire al download dello script di origine CGI dal client), c'è un problema di sicurezza.
Naturalmente, alcuni autori web preferiscono che il loro Javascript non sia facilmente leggibile. Questo è generalmente un problema di proprietà intellettuale piuttosto che di sicurezza, anche se gli autori di malware in particolare useranno varie tecniche di offuscamento ( ecco un esempio ) per rendere difficile per l'attaccante leggere il loro codice. Questa non è una vera misura di sicurezza, ma aumenta il costo per il lettore di determinare cosa sta facendo Javascript.
A volte gli autori dimenticano che il loro Javascript non è segreto. BMC Remedy aveva una "misura di sicurezza" per proteggere le credenziali quando la connessione era su HTTP non criptato. Il codice Javascript "scramble" la password dell'utente prima che fosse inviata in rete dal browser al server. Sfortunatamente, lo "scrambling" era sulla falsariga di "Sostituisci A con Q, sostituisci B con G, ..." ed è stato facilmente annullato da qualsiasi attaccante che leggesse il Javascript e catturasse il traffico non criptato.