Punycode, Unicode mixto, IP literal y dominios que imitan una marca.
Diagnóstico primero. Intervención después.
Producto de seguridad para QR: captura una instrucción opaca, la interpreta y la convierte en hechos observables antes de permitir cualquier acción.
El QR es la superficie. El phishing es una hipótesis.
¿Tienes un QR que te preocupa?
Mira el destino y el peligro observable antes de abrirlo
Un QR puede ocultar un dominio imitado, una ruta para robar credenciales, una descarga ejecutable o un pago sustituido. RootCause inspecciona la carga localmente y explica qué encontró.
Rutas de login, contraseña, banco, verificación o MFA.
APK, ejecutables, scripts, instaladores y archivos comprimidos.
Pagos, cripto, OTP y destinatarios que deben validarse fuera del QR.
Un sensor RootCause para la superficie QR
El producto no acusa a una URL ni promete seguridad. Registra qué pudo observar, qué reglas aplicó, qué hipótesis merece investigar y qué no puede conocer sin otra fuente.
Captura e interpretación
Cámara, imágenes y PDF; URL, Wi-Fi, identidad, OTP, pagos, GS1, AAMVA y más.
Hechos explicables
Cada hallazgo tiene id estable, severidad, puntos, confianza, categoría y evidencia mínima.
Hipótesis separadas
qr-phishing-suspected solo aparece cuando hechos concretos la sustentan.
Acción controlada
Permitir, confirmar, solo inspeccionar o bloquear una URI ambigua; nunca ejecutar en silencio.
26 reglas locales, agrupadas por causa observable
El puntaje ordena señales; no representa una probabilidad de fraude.
| Familia | Qué observa | Ejemplos de ids |
|---|---|---|
| Identidad | Punycode, mezcla de alfabetos, Unicode, IP, subdominios y marcas configuradas. | host-punycodebrand-domain-mismatch |
| Ofuscación | Usuario antes del host, controles invisibles, autoridad ambigua y separadores codificados. | authority-userinfoencoded-separator |
| Destino | HTTP, host vacío, red privada, puerto inusual y acortadores. | transport-httphost-private-or-local |
| Intención | Rutas de credenciales, redirecciones externas, instaladores, scripts, OTP y pagos. | credential-lure-pathredirect-nested-domain |
| Ejecución | Esquemas desconocidos o ambiguos que no deben salir de la aplicación. | scheme-blockedauthority-obfuscated |
Evidencia portable y redactada por defecto
rootcause.evidence.qr.v1 conserva la observación, el motor,
los hallazgos, las hipótesis, los límites y una huella de integridad.
SHA-256 de la carga
Permite correlacionar sin adjuntar el QR original.
Sin fuga secundaria
El modo redactado omite carga, campos parseados y URL efectiva.
Consistencia determinista
Calcula un checksum reproducible aunque cambie el orden de claves JSON; no lo presenta como firma.
Cadena opcional
Puede referenciar el hash anterior; 0.1.1 no crea una cadena automática.
Evidencia del proyecto
Lo que se afirma tiene una comprobación visible
La validación distingue la coherencia offline de las pruebas de runtime. La CI pública vuelve a ejecutar el contrato, el análisis, 81 casos y los builds.
| Control | Prueba | Estado publicado |
|---|---|---|
| Contrato causal | 26 ids entre motor, textos, esquema, fixtures y política | Validado offline |
| Privacidad de evidencia | Omisión de carga, campos y URL efectiva por defecto | Cubierto por contrato |
| Apps móviles | Análisis, 87 pruebas y builds Android/iOS | CI pública en verde |
| Dispositivo físico | Cámara, biometría, poca luz y ciclo de vida | Pendiente antes de tienda |
Límites visibles, no letra pequeña
Un análisis local no conoce lo que solo existe en red o en el contexto físico.
- Sin reputación remotaNo consulta listas de bloqueo, edad o dueño de un dominio.
- Sin navegaciónNo resuelve DNS, certificados, redirecciones HTTP ni contenido final.
- Sin contexto físicoNo detecta si una etiqueta falsa cubre el QR auténtico.
- Unicode heurísticoNo implementa todavía skeleton completo UTS #39.
- Política por APILa carga y administración visual de políticas queda para una versión posterior.
- Resultado normal“Sin señales locales” nunca significa “destino seguro”.
Usar RootCause QR Inspector
Instala la aplicación móvil Android
El APK público se construye desde el tag v0.1.2, incluye SHA-256 y procedencia atestada. Android e iOS son las únicas plataformas del producto.
APK v0.1.2
Descarga directa para revisar el producto en un teléfono Android. Es una distribución por GitHub, no por Play Store.
Descargar APKDemo técnica web
Explora la interfaz y el flujo desde HTTPS. No es una aplicación soportada ni sustituye la validación móvil.
Abrir demoCódigo fuente
Revisa el motor, reproduce los gates y genera Android/iOS; el target web se reserva para la demo.
Ver instalación
Familia RootCause
Cada producto observa una superficie distinta
QR Inspector no intenta reemplazar señales del navegador, del teléfono ni del sistema operativo. Sus evidencias se complementan.