En el trabajo, tenemos una aplicación Nuxt.js, y ha habido algunas discusiones sobre un informe de recompensas por errores que apunta al hecho de que puede acceder a la instancia de Vue desde window.__NUXT__ .
No he encontrado ninguna publicación o artículo relacionado con esto, así que me pregunto si esto es realmente una vulnerabilidad o no. ¿Qué piensas? ¿Hay alguna manera de que un tercero pueda acceder a la window.__NUXT__ ?
La principal preocupación es que podría acceder al estado de Vuex (y los tokens de API almacenados en el interior) a través window.__NUXT__.state.auth...
Como se explica de alguna manera en mi otra respuesta aquí: https://stackoverflow.com/a/69945576/8816585
Una interfaz no es segura por diseño porque todo está expuesto al usuario final. Literalmente, podría abrir sus devtools e inspeccionar todo.
¿Es un problema per se? No.
¿Puede ser riesgoso si un tercero accede a algunos datos con él? Sí, básicamente como cualquier paquete que estés usando en tu package.json . No es más arriesgado.
Entonces, ¿debería almacenar algunos tokens privados en la interfaz? Probablemente no.
Si usa JWT o una solución similar, sí, puede tener tokens totalmente públicos. Dado que están destinados a actualizarse con frecuencia y son inofensivos como cualquier otra clave pública (como en SSH).
Los tokens simplemente no necesitan ser privados, para ellos solo es viable una solución del lado del servidor (como un token seguro de banda, por ejemplo).