██████╗  ██████╗  ██████╗ ████████╗ ██████╗  █████╗ ██╗   ██╗███████╗███████╗
██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██╔════╝ ██╔══██╗██║   ██║██╔════╝██╔════╝
██████╔╝██║   ██║██║   ██║   ██║   ██║      ███████║██║   ██║███████╗█████╗
██╔══██╗██║   ██║██║   ██║   ██║   ██║      ██╔══██║██║   ██║╚════██║██╔══╝
██║  ██║╚██████╔╝╚██████╔╝   ██║   ╚██████╗ ██║  ██║╚██████╔╝███████║███████╗
╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚══════╝╚══════╝
             B L O C K C H A I N   S E C U R I T Y

En una cadena programable puedes tener las claves perfectas y perderlo todo igual:
porque una EOA olvidada seguía siendo owner de un proxy, porque un oráculo dejó de actualizarse,
o porque un puente con quorum 2-de-3 tenía los tres firmantes en la misma nube.
Eso es lo que esta consola vigila —sin custodiar una sola clave.

Estado de CI Node 22.12 o superior Cero dependencias Telemetría cero Nunca claves privadas Licencia MIT

Diagnóstico primero. Intervención después.

🔍 Qué ve, y qué te dice

Un semáforo que siempre explica por qué está en el color en que está: la ruta causal completa, de la condición sistémica al impacto, con la evidencia pública que la sostiene.

Panel de postura de seguridad: riesgo causal consolidado en 100 sobre 100 con exposición crítica, cuatro métricas de inventario multi-chain, la ruta causal de la condición al impacto y el estado del observador RPC

Postura de seguridad · el panel que se abre al arrancar.

🔑

Privilegios que nadie vigila

Un rol crítico controlado por una EOA, un multisig con umbral débil, un upgrade sin demora mínima, un timelock por debajo de política. Son las condiciones que convierten un error en una pérdida total, y no aparecen en ningún log.

📡

Oráculos y puentes

Feeds concentrados sin fallback, datos vencidos respecto de su heartbeat, puentes con quorum insuficiente o con operadores que solo parecen independientes. La dependencia externa es la superficie que más dinero ha costado en este ecosistema.

🧬

Procedencia del código

Bytecode desplegado que no se puede relacionar con fuente, compilador ni artefacto revisado. Y dependencias sin fijar o sin evidencia de procedencia: la cadena de suministro que auditas empieza por la tuya.

🚨

Cambios y salidas de valor

Un cambio privilegiado sin aprobación registrada y una salida de valor fuera de política. La aprobación se compara por hash: no basta con que alguien diga que estaba autorizado.

👛

Postura de wallets, sin ser una wallet

Cuentas públicas vigiladas: allowances ilimitados, spenders fuera de política, operadores NFT, permits usados, candidatos de address poisoning, cambios de smart account y delegaciones EIP-7702. Sin conectar wallet, sin revocar, sin firmar: cada hallazgo remite a un runbook humano.

🛰️

Integridad del observador

Un observador caído, conectado al chain ID equivocado o atrasado no es un detalle técnico: es una ceguera. El producto lo trata como incidente, no como un aviso al pie.

🔗

Multi-chain sin SDKs

Adaptador EVM de solo lectura incluido. Solana, Cosmos, Substrate y cualquier otra red envían hechos ya normalizados a la API. El motor causal no depende de ningún SDK de cadena.

🧩 Incidentes con causa raíz, no alertas sueltas

Cada hallazgo abre con lo que un operador necesita para decidir: explicación, causa raíz, evidencia conservada y remediación segura. Nada que haya que interpretar.

Lista de incidentes: diecinueve hallazgos ordenados por severidad, cada uno con su código BLK, la entidad afectada y una explicación en una línea

Diecinueve incidentes del estado de demostración, ordenados por severidad.

Detalle del incidente BLK-ACCESS-001: control administrativo concentrado en una EOA, con explicación, causa raíz, evidencia con projectId y dirección, y dos pasos de remediación segura

El detalle: causa raíz, evidencia y remediación.

Panel Wallet Posture: ocho métricas de postura de wallets, cinco cuentas públicas vigiladas con su criticidad y los incidentes de wallet activos con su código BLK-WALLET

Wallet Posture: cuentas públicas vigiladas, sin conectar wallet, sin revocar, sin firmar.

Inventario multi-chain: dos proyectos con su cadena y criticidad, contadores de contratos, oráculos, puentes y dependencias, y las direcciones públicas de cada contrato

Inventario: solo procedencia y controles verificables.

Catálogo de trece controles de defensa, de la procedencia de bytecode a la actividad de wallets, y el núcleo RootCause compartido con Bitcoin Defense

Trece controles, veintidós detecciones deterministas.

📋 Las veintidós detecciones, sin letra pequeña

Reglas deterministas con umbral explícito. Ninguna puntuación opaca, ningún modelo que no pueda explicar su veredicto. Un gate de CI impide que esta tabla se desincronice del motor.

Código Control Detección
BLK-CONTRACT-001SC-PROVENANCEFuente desplegada sin procedencia verificada
BLK-ACCESS-001ADMIN-CONTAINMENTAdmin crítico controlado por una EOA
BLK-ACCESS-002ADMIN-CONTAINMENTMultisig administrativo con umbral débil
BLK-UPGRADE-001ADMIN-CONTAINMENTUpgrade sin demora mínima
BLK-ORACLE-001ORACLE-RESILIENCEOráculo concentrado y sin fallback
BLK-ORACLE-002ORACLE-RESILIENCEFeed vencido respecto de su heartbeat
BLK-BRIDGE-001BRIDGE-QUORUMPuente con quorum u operadores insuficientes
BLK-GOV-001GOVERNANCE-DELAYTimelock de gobernanza inferior a política
BLK-SUPPLY-001SUPPLY-CHAINDependencia no fijada o sin procedencia
BLK-EVENT-001CHANGE-APPROVALCambio privilegiado sin aprobación registrada
BLK-FUNDS-001VALUE-EGRESSSalida de valor anómala no aprobada
BLK-NODE-001OBSERVER-INTEGRITYObservador RPC no disponible
BLK-NODE-002OBSERVER-INTEGRITYRPC conectado al chain ID equivocado
BLK-NODE-003OBSERVER-INTEGRITYObservador atrasado
BLK-WALLET-001WALLET-ALLOWANCEAllowance ilimitado o superior a política
BLK-WALLET-002WALLET-COUNTERPARTYSpender no reconocido por la política local
BLK-WALLET-003WALLET-ALLOWANCEOperador NFT (ApprovalForAll) fuera de política
BLK-WALLET-004WALLET-ALLOWANCEPermit utilizado fuera de política
BLK-WALLET-005WALLET-COUNTERPARTYPosible address poisoning (candidato heurístico)
BLK-WALLET-006SMART-ACCOUNT-INTEGRITYCambio inesperado en smart account
BLK-WALLET-007SMART-ACCOUNT-INTEGRITYDelegación EOA EIP-7702 inesperada
BLK-WALLET-008WALLET-ACTIVITYActividad inesperada de una cuenta vigilada

✅ La prueba, no la promesa

Cualquiera puede escribir «no guardo tus claves» en un README. Aquí cada afirmación tiene un script que la comprueba y un job de CI que lo ejecuta en cada push, sobre la aplicación en marcha.

No acepta material secreto. El gate arranca el servidor real y le envía claves privadas, mnemónicos, keystores, tokens de proveedor y URLs con credenciales. Todas deben ser rechazadas con 422. Si una pasa, el build cae.

No puede firmar ni gastar. La allowlist JSON-RPC se comprueba por su efecto, no por su texto: eth_sendRawTransaction, eth_sign, personal_unlockAccount y compañía deben ser rechazados.

Cero dependencias, cero orígenes remotos. Si alguien añade un paquete npm, un CDN en el panel, un proveedor RPC alojado o abre la CSP, el build cae. El árbol de dependencias se verifica además por una segunda vía independiente.

El paquete de escritorio arranca con contenido. CI empaqueta la aplicación, ejecuta el .cmd real que usa el usuario y comprueba que sirve inventario. Una aplicación que abre vacía es el fallo que nadie detecta a tiempo.

El runtime empaquetado es el oficial. El node.exe se descarga de nodejs.org y se verifica por SHA-256 contra SHASUMS256.txt antes de entrar en el paquete. El hash queda registrado dentro, en BUILD-INFO.json.

La documentación no miente. Un gate comprueba que ningún documento enlaza a un archivo inexistente, y otro que las reglas del motor, el catálogo de controles, la política y el README describen exactamente el mismo conjunto.

⚠️ Lo que NO hace

Un producto de seguridad que solo enumera lo que sabe hacer es un folleto. Estos son los límites reales, escritos por quien lo construyó.

  • Un inventario no demuestra que un contrato esté libre de vulnerabilidades. Esto no es un auditor ni un verificador formal.
  • Un RPC puede mentir o estar comprometido. Los eventos críticos requieren una segunda fuente independiente. El producto vigila la integridad del observador, pero no puede probar que dice la verdad.
  • No ejecuta la respuesta. Una pausa o una rotación solo ayudan si la arquitectura on-chain las permite y las claves de respuesta siguen seguras. Eso lo hace una persona, con su runbook.
  • Los umbrales incluidos son ejemplos y deben adaptarse al riesgo real del sistema.
  • El watchtower solo vigila mientras el panel está abierto. Para vigilancia continua, el camino soportado es el despliegue self-hosted.
  • Los binarios no están firmados con certificado de código. SmartScreen puede advertir en la primera ejecución. La verificación disponible hoy es el hash publicado.

⬇️ Descargar y empezar

Ninguno de los dos formatos requiere Node.js instalado, ni permisos de administrador, ni conexión a Internet en tiempo de ejecución.

Instalador para Windows · uso normal

Instala por usuario y crea los accesos directos. …-win-x64-setup.exe

Ir a la última versión

Portable · descomprimir y ejecutar

Para equipos donde no se instala software, auditoría, o uso desde una unidad extraíble. …-win-x64-portable.zip

Verificar la descarga

Cada release incluye SHA256SUMS.txt. Compara el resultado con la línea correspondiente.

Get-FileHash .\RootCause-Blockchain-Security-0.3.0-win-x64-setup.exe -Algorithm SHA256

Desde el código fuente

Node.js 22.12 o superior. No instala nada más.

git clone https://github.com/vladimiracunadev-create/rootcause-blockchain-security
cd rootcause-blockchain-security
corepack enable
pnpm start

Abre http://127.0.0.1:8790. Arranca en modo demostración: datos ficticios y todo en memoria.

¿Tienes que presentarlo?

Ocho diapositivas en 16:9 y una pauta del expositor con el guion palabra por palabra, los tiempos de cada lámina y cuatro anexos —incluida la lista de lo que no hay que prometer—. Unos 32 minutos de charla.

Diapositivas (PDF) Pauta del expositor (PDF) Ver en el navegador

🧩 La familia RootCause

Seis ediciones, una misma idea: cualquier distorsión anómala de los recursos, la configuración o el control puede ser el primer indicio de que algo está ocurriendo.

Inspectors — ¿este dispositivo se está comportando raro?

Windows Inspector

Rust + egui · persistencia, defensas, procesos y red en Windows 10/11.

macOS Inspector

Rust + egui · LaunchAgents, Gatekeeper, SIP, TCC y firewall en macOS 13+.

Web Inspector

Extensión MV3 + Node · cookies, sesiones, extensiones, descargas y permisos.

Mobile Inspector

Flutter · permisos de app, consumo y superficie móvil.

Digital Assets — ¿este sistema de valor está bien controlado?

Bitcoin Defense

UTXO, wallets, firmantes, PSBT y Bitcoin Core. Procedencia de las claves.

Blockchain Security · estás aquí

Contratos, proxies, oráculos, puentes, gobernanza y cadena de suministro.