██████╗ ██████╗ ██████╗ ████████╗ ██████╗ █████╗ ██╗ ██╗███████╗███████╗
██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██╔════╝ ██╔══██╗██║ ██║██╔════╝██╔════╝
███████╔╝██║ ██║██║ ██║ ██║ ██║ ███████║██║ ██║███████╗█████╗
██╔══██╗██║ ██║██║ ██║ ██║ ██║ ██╔══██║██║ ██║╚════██║██╔══╝
██║ ██║╚██████╔╝╚██████╔╝ ██║ ╚██████╗ ██║ ██║╚██████╔╝███████║███████╗
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚══════╝
W E B I N S P E C T O R
Sensor forense de la superficie del navegador.
Todo lo que tu navegador guarda, deja entrar y deja salir —cookies, sesiones de correo,
extensiones, descargas, permisos— puede ser el primer indicio de que algo está ocurriendo.
Diagnóstico primero. Intervención después.
Once pestañas de diagnóstico, doce familias de regla y un semáforo que siempre explica por qué está en el color en que está.
Detecta las sesiones de correo vivas en este navegador por sus cookies. No ve mensajes,
ni remitentes, ni tu dirección. Si alguna de esas sesiones tiene cookies sin Secure, el
veredicto es crítico: el correo es donde llegan los enlaces de recuperación de contraseña
de todo lo demás.
Puntaje de riesgo 0-100 por los permisos concedidos. Mide capacidad, no comportamiento: una extensión con acceso a todas tus páginas y sus cookies puede leer la sesión de tu banco aunque nunca lo haga. La pregunta útil no es si confías en ella hoy — es si confiarás en quien la compre mañana.
Los ejecutables descargados por el navegador, con su origen y su fecha. Y los que llegaron por HTTP sin cifrar, que cualquiera en la red pudo alterar en tránsito. No dice que sean malware: dice que están ahí y de dónde vinieron.
Secure, HttpOnly, SameSite y caducidad de cada una. Cuántas son de
rastreo y cuántas te reconocen desde hace más de un año. El valor nunca se lee: el valor
de una cookie es la credencial.
Los sitios con cámara, micrófono o ubicación concedidos de forma permanente — pueden usarlos mientras están abiertos sin volver a preguntar. Y los autorizados a enviarte notificaciones, que parecen del sistema operativo aunque vengan de una página cualquiera.
Si alguna superficie no se pudo leer, el veredicto se marca como PARCIAL y la pestaña Navegador dice cuál falta y por qué. Un diagnóstico incompleto presentado como completo es peor que no diagnosticar.
Export JSON forense con huella SHA-256 del contenido canónico: si alguien edita el archivo, deja de cuadrar. Ids de hallazgo neutrales al idioma, comparables entre equipos y con las ediciones Windows y Mobile.
Cada número que decide una severidad está expuesto en el panel, editable. Porque un semáforo que siempre está en rojo no es un semáforo: es ruido. Al guardar, la captura se reevalúa y ves el efecto al momento.
Las últimas 500 capturas en tu propio disco, en JSON Lines legible con cualquier editor. Guarda el veredicto y los hallazgos, nunca las cookies crudas. Un botón lo borra todo.
El claim central de este producto es que tu evidencia no sale de tu equipo. Un README no garantiza eso. Esto sí:
connect-src a 127.0.0.1 y
localhostfetch remoto, el navegador lo bloquearía0.0.0.0node_modules, sin lockfile127.0.0.1Host — defensa contra DNS rebindingOrigin: ninguna web puede leer tu evidencia$ node scripts/check-local-only.mjs
✔ Solo local, comprobado:
· cero dependencias declaradas
· connect-src de la extensión limitado a: http://127.0.0.1:* http://localhost:*
· sin llamadas de red fuera de loopback
· sin recursos remotos en el HTML/CSS del panel ni de la extensión
· el servidor solo escucha en 127.0.0.1
Corre en cada push y en cada PR. Si alguien abre esa puerta en el futuro, el build cae antes de fusionarse.
Sin npm install, porque no hay nada que instalar.
$ git clone https://github.com/vladimiracunadev-create/rootcause-web-inspector.git
$ cd rootcause-web-inspector
$ node server/cli.js --open
Se abre http://127.0.0.1:7317 con un snapshot de demostración marcado
como tal — para que puedas evaluar el panel entero antes de instalar nada. Requiere Node ≥ 20.11.
chrome://extensions → Modo de desarrollador → Cargar descomprimida
→ seleccionar la carpeta extension/
Se carga sin empaquetar, que es además la forma de instalarla pudiendo leer todo el código antes. Chrome, Edge, Brave, Opera y Vivaldi.
Icono de RootCause en la barra → ↻ Capturar ahora
El icono se pinta con el semáforo y el panel deja de mostrar el aviso de demostración. A partir de ahí, captura automática cada 30 minutos.
Un producto de seguridad que no publica sus límites te está pidiendo fe.
Una extensión con webRequest vería cada petición y detectaría exfiltración en vivo. No
se hace, y no se hará. Una herramienta de seguridad que necesita leer todo tu tráfico para
protegerte es un objetivo más valioso que la amenaza de la que te protege.
Solo sus atributos de seguridad. El valor de una cookie de sesión es la credencial: recogerlo convertiría el informe forense en un botín esperando a que alguien lo copie.
No elimina nada, no bloquea nada, no desinstala extensiones ni borra cookies. Es el indicio temprano que te dice dónde mirar. Complementa a tu solución de seguridad; no la reemplaza.
Los permisos de sitio no se pueden enumerar; el almacenamiento solo se mide donde hay pestaña abierta. Las pestañas afectadas lo declaran en vez de mostrar un cero que parezca «todo limpio».
RootCause aparece en la lista de extensiones con su puntaje real —pide acceso a todas las páginas y a las cookies, que es literalmente su trabajo—. Queda fuera de la regla para no generar ruido permanente, y esa excepción está documentada, no escondida.
Hoy no hay token entre la extensión y el panel: otro programa local con tus permisos podría hablarle. Está
en el roadmap y escrito en LIMITACIONES.md, porque un límite conocido vale más que una
garantía implícita.
La misma filosofía en cada superficie: la distorsión como indicio temprano.
El hermano mayor: software forense de ciberseguridad para Windows en Rust. CPU, disco,
procesos, autoarranque, servicios, red local y ETW/WPR.
Página del producto →
Flutter con núcleo Dart compartido y colectores nativos Kotlin/Swift. Memoria,
almacenamiento, batería, permisos de apps y detección de stalkerware.
Página del producto →
Esta edición: Node + JavaScript sin dependencias. El navegador ve qué entró; el
inspector de Windows ve qué pasó después. Ninguna finge cubrir a la otra.
Repositorio →