La diferencia que importa

Por qué la IA no puede hacer este trabajo.

Los modelos de IA generativa predicen el texto más probable: no razonan sobre todos los caminos de tu código y, por diseño, pueden alucinar. Demostrar que una lógica de negocio es segura no es cuestión de probabilidad. Es matemática.

🤖 IA generativa (LLM)

  • Predice el siguiente token; no razona sobre el flujo real de ejecución.
  • Se apoya en lo que "ha visto": se le escapan los caminos poco frecuentes.
  • Alucina: inventa fallos que no existen y pasa por alto los que sí.
  • No ofrece garantías ni un contraejemplo reproducible.

∎ LogicProof · Verificación formal

  • Traduce el código a matemáticas y recorre sus caminos con Z3; si alguno se queda sin mirar, te lo dice.
  • Si hay una brecha, la demuestra con las entradas exactas que la rompen.
  • Cero alucinaciones: solo afirma lo que puede probar.
  • Resultado reproducible, automático en cada Pull Request.

No competimos con la IA: llegamos a donde ella no puede.

Por qué es distinto

Un demostrador, no un adivino.

Los analizadores tradicionales puntúan riesgos con heurísticas. LogicProof resuelve un problema matemático: ¿existe una entrada que alcance un estado prohibido? Si la respuesta es sat, la brecha es real y te entregamos la prueba.

El motor · en vivo

Resolviendo, ahora mismo

Cada análisis construye el grafo, plantea la hipótesis y deja que Z3 decida. Sin heurísticas: una respuesta demostrada.

escáner z3.log ● en vivo

          
Reproducible

Contraejemplo ejecutable

Cada hallazgo llega con las entradas exactas para reproducirlo. Se lo pasas a tu equipo y lo verifican en un minuto.

Integrado

En cada Pull Request

La app de GitHub añade un check y comenta la línea afectada antes de fusionar. La prueba llega donde ya trabajas.

Sin ruido

Cero falsos positivos por diseño

No reportamos sospechas. Si algo aparece es porque existe una entrada real que lo alcanza, respaldada por el demostrador.

Cualquier dominio

Reglas deducidas de tu código

Más allá del catálogo por sectores, detecta comprobaciones incoherentes —una guarda que protege un camino y falta en otro— en cualquier lógica de negocio.

Cómo funciona

De tu código a una prueba.

Tres pasos. El mismo rigor que usa la verificación formal en aeronáutica o chips, aplicado a la lógica de tu negocio.

01 — LEER

Código → grafo

Analizamos el flujo de control y lo convertimos en un grafo de restricciones: variables, guardas y transiciones de estado.

02 — PLANTEAR

Estado prohibido

Formulamos la hipótesis de ataque como una fórmula lógica: «¿puede llegarse a ENVIADO con cobrado = 0?».

03 — RESOLVER

Z3 decide

El demostrador responde sin ambigüedad. El resultado no es una opinión: es una demostración.

unsat → seguro  ·  sat → exploit + contraejemplo
Anatomía de un informe

No te decimos que "revises la línea 66".

Te damos los valores exactos con los que el fallo ocurre —incluido de dónde partía cada variable— para que puedas reproducirlo antes de creerte nada. Esto es una salida real del motor, no una maqueta.

settlement.py · process_institutional_settlement()
veredicto CRÍTICA El saldo puede quedar por debajo de cero (sobregiro)
por qué Permite gastar dinero que no se tiene (doble gasto).
línea 66
ocurre con
sender.balance(al entrar)=50
receiver.balance(al entrar)=0
override_limits=True
amount=50
risk_score=0

El estado de partida, no solo las entradas

Un linter, en el mejor de los casos, te señala una línea. Aquí ves que la cuenta emisora entró con 50 y la receptora con 0: sin ese dato no puedes reproducir el fallo, y sin reproducirlo no puedes arreglarlo con seguridad.

El valor que evade la validación

override_limits = True es lo que hace que la comprobación de saldo no salte. El demostrador no lo adivina: lo despeja, porque es la condición que necesita para alcanzar el estado prohibido.

Y si no lo encuentra, te dice qué no miró

Cuando una función es demasiado compleja o se agota el presupuesto de una capa, el informe lo declara. «No lo he revisado» nunca se presenta como «está correcto».

En tu portátil

Antes del push, no después.

El check del Pull Request llega tarde: el fallo ya está escrito y revisado. El mismo motor corre en tu máquina y detiene el git push si hay una brecha crítica demostrada.

tu-terminal
$ pip install logicproof-ai
$ logicproof --activar TU_API_KEY
$ logicproof . --fast
 sin brechas demostradas · 14 ficheros · 2.2 s
$ logicproof --instalar-hook # candado en cada git push
  • Tu código no sale de la máquina. El análisis entero ocurre en tu portátil. Lo único que viaja es tu clave de licencia, una vez por semana, para comprobar que la suscripción sigue viva: ni una línea de código, ni un nombre de fichero, ni un hallazgo. Sin conexión sigue analizando hasta 30 días (licencia.DIAS_GRACIA); pasado ese margen pide comprobar la licencia una vez.
  • Solo bloquea lo crítico. El resto se informa y deja pasar el push. Con --bloquear-en alta se aprieta.
  • Contraejemplo en la terminal. Los valores exactos que reproducen la brecha, no una sospecha.

Incluido en tu plan. Se activa con la misma API Key de tu panel (logicproof --activar) y funciona en todos los portátiles de tu equipo. Pide acceso y te mandamos el CLI y las instrucciones.

Empieza

Deja de suponer que tu lógica es segura.
Demuéstralo.

Elige un plan y conéctalo a tu repositorio en un minuto. ¿Prefieres empezar por correo? Déjanoslo y te enviamos cómo dar el primer paso.

Ver todos los planes

Pago seguro con Stripe · IVA aparte · cancela cuando quieras.