La firma adversarial de Borja Moskv. Verificación formal y evidencia forense para la frontera de la seguridad agentica. Recompensas de alto impacto, pruebas criptográficas, cero especulación.
Un mapa sistemático de la superficie de ataque. Diez clases de vectores críticos extraídos de fallos reales en protocolos agenticos.
Un pipeline de verificación formal en tres fases. Invariantes definidos en ASL, probados mediante Z3 SMT, cristalizados en una prueba de auditoría a prueba de manipulaciones.
Codifique las restricciones del agente en el Lenguaje de Especificación de Agentes (ASL): invariantes, concesiones de capacidad y reglas de denegación como declaraciones verificables por máquina.
agent PaymentBot {
invariant: never_transfer > limit
capability: read(balance)
deny: shell_exec(*)
}
Compile especificaciones a aserciones Z3 SMT. Pruebe exhaustivamente la corrección de los invariantes en todas las rutas de ejecución, o muestre un contraejemplo concreto.
Emita una Prueba de Auditoría Forense: firmada con Ed25519, anclada en Merkle. La cadena de evidencia y el estado de verificación sellados en un artefacto inmutable.
Hallazgos de severidad crítica en DeFi, sandboxes de VM y capas de consenso. Cada entrada es un ataque verificado C5-REAL.
Epoch Boundary Front-run Griefing
Vulnerabilidad de lógica en _rollover() permite evadir el arrastre de utilización dejando totalUtilization[currentEpoch - 1] = 0, atrapando emisiones en el 40%.
Race Condition en Oráculo (CWE-682/362)
Condición de carrera entre ejecución y cancelación que permite cancelar una orden en la misma ventana de bloque en la que un keeper la empareja, evadiendo liquidación.
Fuga de Estado MPC (CWE-200)
Desincronización en canales MPC permite reordenación de paquetes, generando fuga del "Secret Share" criptográfico que expone el estado interno de la wallet oscura.
Ghosting de Consenso
Ventana de carrera en txn_publish_one: last_publish se intercambia antes de que se complete la migración de registros. Los lectores devuelven el estado ROOT obsoleto, activando una divergencia en el hash del banco y un fork de la red.
Desincronización de Votos (Wormhole Drift)
La latencia de >45s entre Base y Moonbeam permite emitir un voto en Moonbeam y puentear el token hacia Base antes del snapshot del Multichain Governor. Permite doble gasto de poder de voto, alterando arbitrariamente el quórum sin activar el Pause Guardian.
Bypass de Sandbox / OOB
Falta de verificación de límites en el índice de la región en FD_VADDR_TO_REGION. El acceso fuera de límites al array filtra punteros vm_t del host, permitiendo evadir ASLR y lectura/escritura arbitraria en la memoria del host.
Manipulación de Oráculo Spot
Consulta directa de getReserves() en PriceFeedPool.sol. Un atacante utiliza un flashloan para inflar el precio de EXA, aumentando su poder de préstamo y drenando toda la liquidez del protocolo en una sola transacción.
Bypass de VerifiedMarket
VerifiedAuditor.checkBorrow() impone onlyAllowed(borrower) pero nunca valida al delegado o al receptor. Los delegados revocados continúan pidiendo prestado y retirando mediante el margen residual de ERC4626.
Oracle L2 Obsoleto
Uso de latestAnswer() depreciado sin protección de obsolescencia, verificación de completitud de ronda o validación de tiempo de actividad del secuenciador L2. PriceFeedPool es manipulable mediante flash-loan. Exposición de $3.3M TVL.
Evasión de Comisiones MEV
Truncamiento de enteros en Clarity: (/ (* 333 30) 10000) = 0. El atacante enruta hasta 1.3M de tokens/tx mediante un bucle de plegado de 4,000 iteraciones — cero comisiones pagadas, rendimiento total de LP drenado.
Cosecha sin Permiso
harvest() es público sin verificación de msg.sender. El atacante se anticipa a las cosechas legítimas, activando la distribución prematura de recompensas e interrumpiendo las ventanas de bonificación.
Close Factor Bypass & Auto-Liquidación
Invocación directa de KineticRouter permite evadir el close factor y auto-liquidarse, capturando el 100% del colateral del prestatario en una sola transacción sin restricción de fracción.
Takeover de Admin via initialize()
Función initialize() no autenticada permite a cualquier atacante reclamar el rol de administrador del token, otorgando control total sobre minting, pausing y upgradeability del contrato.
Reentrancia withdraw() ↔ claim()
Reentrancia entre withdraw() y claim() permite drenar fondos del vault: el atacante inicia un retiro y, durante el callback, reclama recompensas antes de que el estado de balance se actualice.
Inflación de Tokens via Decimales
Discrepancia de decimales en el bridge Wormhole NTT permite inflación de tokens: un atacante envía tokens con 6 decimales desde la cadena origen y recibe el equivalente interpretado como 18 decimales en destino.
Bypass de Rate Limiter
Completación paralela de colas en el NTT Manager evade el rate limiter: múltiples transfers se completan simultáneamente sin que el acumulador de tasa los contabilice, permitiendo transferencias ilimitadas.
Truncamiento de Dust en buyGemNoFee
Truncamiento de enteros en buyGemNoFee atrapa dust permanentemente en SwapperCalleePsm. El redondeo hacia abajo en cada swap acumula tokens irrecuperables en el contrato.
DoS via Fee Overflow
Overflow aritmético en OperatorLib.updateSnapshot provoca denegación de servicio: operadores legítimos no pueden actualizar sus comisiones, bloqueando la operación normal del cluster de validadores.
Tiro con Efecto Bypass (OOB)
Falta de verificación en la función shoot() permite aplicar spin rotacional infinito. El atacante evade la validación del portero drenando directamente la liquidez del marcador desde el medio campo en un solo bloque.
Anclado en Merkle, firmado con Ed25519. Cada hallazgo es un nodo inmutable en la cadena de auditoría — verificable sin confiar en el emisor.
Señales zero-day seleccionadas de la superficie de ataque agéntica. Obtenidas de NVD, MSRC y revelaciones de investigadores independientes.
Los prompts se convierten en shells: instrucciones controladas por el atacante activan llamadas a funciones autónomas en .NET SDK <1.71.0, permitiendo la ejecución de código arbitrario en el host.
Segundo RCE en el mismo framework: el modelo de IA evade los filtros de auto-invocación para activar funciones de herramientas restringidas sin confirmación del usuario.
Ataque a la cadena de suministro MCP: un servidor comprometido inyecta definiciones de herramientas maliciosas que escalan a ejecución de código local a través del runtime del IDE agéntico.
Una sola inyección de prompt filtró simultáneamente secretos de API de Claude Code, Gemini CLI y GitHub Copilot. Las system cards fallaron al prevenir la exfiltración de datos entre agentes.
Monitoreo adversario continuo. Las vulnerabilidades emergentes aparecen aquí antes de llegar a los canales de divulgación pública.
Latencia O(1) vía ZeroCopyRingBuffer en el motor CORTEX-Persist para 10000 agentes concurrentes.
Complejidad de ejecución simbólica en el peor de los casos. Los clusters de solvers Z3 manejan la enumeración completa del espacio de estados sin aproximaciones.
Sin clientes. Solo casos. Envía una base de código objetivo para revisión adversaria. Cada hallazgo confirmado se registra criptográficamente en el Libro Mayor de Auditoría — público, verificable, permanente.
Proporciona un repositorio, dirección de contrato desplegado o especificación del sistema. Se priorizan las superficies de ataque de alto impacto. Resultados entregados como un paquete forense firmado.
La lista unificada de CORTEX. 100 agentes especializados operando en híper-paralelo — gestionando ventanas de contexto, verificando pruebas formales y aplicando las Nueve Leyes.
9 comandantes. 10.000 agentes. Homeostasis Armónica Ω₂ aplicada. Consenso Bizantino activo en todas las rutas de escritura de ataques de exergía.
Vulnerabilidades Enviadas A