Seguridad, compatibilidad HA 2026.5, recuperación de PIN y limpieza (v1.1.44)#2
Open
Chrisalvir1 wants to merge 2 commits into
Open
Seguridad, compatibilidad HA 2026.5, recuperación de PIN y limpieza (v1.1.44)#2Chrisalvir1 wants to merge 2 commits into
Chrisalvir1 wants to merge 2 commits into
Conversation
…impieza Seguridad WebSocket (crítico): - require_admin en update_master_pin, upload_file, delete_file, restore_config y save_advanced_config; gestión de usuarios/PINs en save_ui solo para admin. - Valida extensiones permitidas en subidas (WS y vista HTTP) y exige admin en ArgusUploadView; excluye SVG por riesgo de XSS. - Redacta PIN maestro, PINs de usuario y PIN de invitado del dashboard para usuarios no administradores (copia profunda para no mutar el Store). - Corrige connection.context inexistente -> connection.user (rompía usuarios). - Audita los cambios/reseteos de PIN maestro. Compatibilidad HA 2026.5.4: - Reemplaza hass.components.persistent_notification (API eliminada) por persistent_notification.async_create(hass, ...) en las 3 llamadas. Recuperación de PIN olvidado: - La sesión de administrador de HA actúa como verificación de identidad: un admin puede restablecer el PIN sin conocer el anterior. - Botón "¿Olvidaste tu PIN?" + modo recuperación en el panel; controles de PIN y de respaldo/restablecer visibles solo para admins. Textos en 7 idiomas. Respaldo / Restaurar / Restablecer: - El restablecimiento de fábrica ahora borra también el PIN maestro (antes sobrevivía pese al aviso) y permite deshacerlo restaurando el PIN previo. Bugs menores: - Smart arming ignora estados de persona desconocidos para evitar falsos avisos. - Comparación de expiración de PIN de usuario respeta zona horaria (evita TypeError que descartaba el PIN como expirado). - Corrige comentario ARM-LOCK (30 s, no 120 s). Limpieza: - Elimina .DS_Store rastreados y svg_helper.js vacío; añade .gitignore. Bump a v1.1.44 (fuerza recarga del JS por cache-busting).
Seguridad (XSS en el panel): - Añade helper _esc() y escapa todos los datos controlados por el usuario que se interpolan en innerHTML: nombre del hogar, nombres de usuario, detalles del log de auditoría, nombres de archivo subidos, friendly_name de sensores y etiquetas de HomeKit (bridge/home). Cierra vectores de DOM-XSS almacenado. Estabilidad (carga de la integración): - Añade async_migrate_entry: el config flow declara VERSION=2 y sin handler de migración las entradas creadas por versiones antiguas (v1) impedían cargar la integración. Ahora migra rellenando claves por defecto y subiendo la versión. Corrección de servicios: - services.yaml anunciaba `save_ui` y `panic` que no estaban registrados. Se registra `argus.panic` como servicio de entidad (dispara la alarma) y se elimina `save_ui` (se hace por WebSocket, no es un servicio). Bump a v1.1.45 (cache-busting del JS).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumen
Auditoría del proyecto con reparaciones de seguridad, compatibilidad con Home Assistant 2026.5, recuperación de PIN y limpieza del repositorio. Bump a v1.1.44.
🔴 Seguridad WebSocket (crítico)
require_adminenupdate_master_pin,upload_file,delete_file,restore_configysave_advanced_config.save_uirestringida a administradores.ArgusUploadView. SVG excluido por riesgo de XSS.connection.context(inexistente) →connection.user, que rompía la gestión de usuarios.🟠 Compatibilidad HA 2026.5.4
hass.components.persistent_notification(API eliminada) porpersistent_notification.async_create(hass, ...)en las 3 llamadas.🔑 Recuperación de PIN olvidado
💾 Respaldo / Restaurar / Restablecer
🟡 Bugs menores
🧹 Limpieza
.DS_Storerastreados ysvg_helper.jsvacío; añadido.gitignore.Verificación
python3 -m py_compilesobre todos los módulos: OK.node --checksobreargus-panel.jsyargus-card.js: OK.https://claude.ai/code/session_01LCWLfXjPMQwmwNiuJ1Xj9t