Herramienta de navegador para AWS Console se desactiva temporalmente tras cada confirmación
Una extensión de Chrome muestra un aviso de confirmación ante acciones destructivas en la consola de AWS, pero desactiva su protección durante unos segundos tras cada uso.
Una extensión de navegador desarrollada por un ingeniero de DevOps inserta un diálogo de confirmación "¿Estás en PROD, seguro?" antes de cualquier clic que pueda eliminar recursos en la consola de AWS. El listener en fase de captura intercepta el evento, muestra el cuadro y, si el usuario confirma, reproduce el clic original.
El problema surgió cuando algunas acciones vuelven a renderizar su menú entre la confirmación y la reproducción del clic. El clic reenviado terminaba sobre un nodo ya desmontado y no se ejecutaba. La solución provisional consistió en abrir una ventana de bypass de unos seis segundos, durante la cual los clics pasaban sin ser interceptados, permitiendo que el replay funcionara.
Esa ventana no estaba limitada a la acción confirmada; era global. Por tanto, cualquier otra operación destructiva realizada dentro de ese intervalo se ejecutaba sin la pregunta de seguridad. Un tester reportó que el mensaje emergente desaparecía a veces, pero en realidad la propia extensión había desactivado la protección.
El ajuste necesario es una línea de código que restringe el bypass al mismo label de la regla confirmada:
// antes
if (Date.now() < bypassUntil) return;
// después
if (Date.now() < bypassUntil && rule.label === bypassLabel) return;
La lección que extrae el autor es que cualquier mecanismo que desactive temporalmente una medida de seguridad también constituye un control de seguridad y debe revisarse con el mismo rigor. Este tipo de errores —excepciones temporales demasiado amplias— son comunes en cachés de autenticación, banderas de características o bypass de límites de velocidad.
Si utilizas extensiones similares o implementas controles de guardia en UI, revisa que los periodos de excepción estén estrictamente acotados al contexto que los disparó para evitar vulnerabilidades inadvertidas.