Un ciclo JavaScript è codice che ripete un blocco di logica fino al raggiungimento di una condizione. Nelle pagine web, i cicli vengono usati per timer, gestione dei moduli, reindirizzamenti e flussi di phishing passo dopo passo. Se il ciclo non raggiunge mai la condizione di uscita, diventa un ciclo infinito e può mantenere occupato il thread principale del browser. Ciò può bloccare il rendering, ritardare l'input dell'utente e far apparire la pagina bloccata o danneggiata.
In ambito di sicurezza informatica, questo è importante perché molti kit di phishing e pagine malevole si affidano a JavaScript lato client per guidare le vittime, nascondere contenuti o raccogliere dati. Un ciclo può essere usato deliberatamente per intrappolare il browser, ma anche un errore di programmazione può interrompere la catena dell'attacco prima che le credenziali vengano inviate. I difensori monitorano pagine bloccate, comportamenti sospetti degli script e reindirizzamenti ripetuti, mentre un'autenticazione forte può limitare i danni se una pagina dovesse intercettare le password.


