Alex Hernández es desarrollador y actualmente instructor principal en Stellar Academy. Aprendió Rust por cuenta propia y mientras se abría camino en el desarrollo de smart contracts sobre Soroban se topó con un problema que no tenía herramienta: cómo saber si lo que estás construyendo es seguro cuando todavía no tienes la experiencia para pensar como un atacante. De esa brecha nació Kuyfi, hoy uno de los cinco proyectos chilenos que ganaron el Instawards. Pero antes de llegar a lo que es (un escáner de seguridad black-box nativo de Soroban) pasó por dos pivotes completos y un momento donde 18 hallazgos de severidad HIGH resultaron ser, en su mayoría, falsos positivos.

Conversamos con Alex sobre ese proceso.

¿Qué es Kuyfi y qué problema resuelve?

❝

Kuyfi nace de una brecha que identifiqué mientras aprendía Rust y comenzaba a desarrollar smart contracts en Soroban. Ya existe una curva de aprendizaje importante para programar en Rust, y cuando además agregas conceptos de blockchain, autorización, estado y seguridad, esa barrera se vuelve todavía mayor.

Ahí entendí que el problema no era solamente aprender a escribir un contrato, sino entender cómo podría atacarlo otra persona. Un desarrollador que está comenzando puede construir algo que funciona perfectamente desde el punto de vista funcional, pero no necesariamente reconocer una vulnerabilidad que un atacante sí intentaría explotar.

Kuyfi busca reducir esa brecha. Analiza un contrato desplegado sin depender de su código fuente, reconstruye su superficie de ataque y ejecuta vectores para observar cómo responde realmente. Queremos que pensar como atacante deje de ser conocimiento reservado para especialistas y pase a formar parte natural del proceso de construcción de un smart contract.

Alex Hernández

El nombre lo refuerza: Kuyfi, en mapudungun, refiere a lo antiguo o ancestral. Observar lo que ya ocurrió para tomar mejores decisiones hacia adelante.

¿Hubo algo que descartaron por completo durante el camino?

❝

Sí, y Kuyfi pasó por ideas bastante distintas. Una de las primeras era algo parecido a un SIEM para blockchain: monitorear transacciones y detectar comportamientos anómalos en tiempo real. Pero Stellar finaliza las operaciones rápidamente, detectar un comportamiento después de que llega a la blockchain no necesariamente permite prevenirlo.

Después exploramos un fondo comunitario de protección frente a incidentes de ciberseguridad. Las empresas aportarían a un pool y, ante un incidente validado, podrían usar esos fondos para recuperación. Pero rápidamente apareció un desafío más profundo: ¿cómo demuestras de forma objetiva que un ataque realmente ocurrió sin abrir la puerta a fraude? Oráculos, claims, modelos actuariales, nos alejábamos completamente del problema técnico que queríamos resolver.

Esas iteraciones nos ayudaron a entender dónde podíamos generar mayor impacto: no asegurando las consecuencias de una vulnerabilidad, sino ayudando a encontrarla antes de que sea explotada.

Dos pivotes que no fueron tiempo perdido: cada idea descartada les fue acotando exactamente dónde podía estar el aporte real. La respuesta resultó ser más simple de lo que pensaron al principio, atacar primero, no defender después.

Chaos Monkey en acción, el motor ofensivo activo para Soroban.

¿Cuál fue el momento más duro del proceso?

❝

Darnos cuenta de que encontrar muchos errores no significaba estar encontrando muchas vulnerabilidades.

En una de las primeras versiones, Kuyfi analizaba los mensajes de error devueltos por las ejecuciones. Cuando lo probamos contra un contrato AMM real en Testnet, generamos 18 findings HIGH. Inicialmente parecía un buen resultado, pero cuando revisamos descubrimos que muchos eran falsos positivos. Kuyfi generaba inputs técnicamente válidos para Soroban, pero que no eran válidos dentro del contexto del contrato.

Tuvimos que decidir entre mostrar muchos findings o construir algo en lo que realmente pudiéramos confiar.

Cambiamos la arquitectura para analizar los DiagnosticEvent[] de Soroban y construir un execution trace. Ahora Kuyfi intenta entender dónde ocurrió el fallo, si fue un error de autorización, una precondición esperada o un problema realmente atribuible al contrato. Después de esa iteración, esos 18 findings dejaron de escalarse automáticamente como vulnerabilidades.

La parte difícil no es solo escribir código. Es tener la disciplina de cuestionar tu propio resultado y seguir iterando incluso cuando eso significa descartar algo que inicialmente parecía funcionar.

¿Qué parte de la lógica en Soroban les costó más iteraciones?

❝

Reconstruir y atacar la superficie de un contrato sin tener acceso a su código fuente. Desde el bytecode, descubrir qué funciones existen es solo el principio. Después vienen las preguntas reales: qué parámetros recibe cada función, qué tipos utiliza structs, enums, unions, tipos anidados, y cómo construir inputs que produzcan un resultado significativo.

Ahí aparece el cambio de mentalidad más importante del proyecto: dejar de preguntarse "¿cómo debería usarse esta función?" y empezar a preguntarse "¿qué ocurre si alguien la usa de una forma que nunca imaginamos?". Traducir esa segunda pregunta automáticamente en vectores de ataque útiles ha sido lo que más iteraciones nos ha exigido.

Esa inversión de perspectiva del desarrollador que pregunta "¿cómo se usa?", al atacante que pregunta "¿cómo se rompe?", es en el fondo, lo que Kuyfi intenta democratizar.

Alex junto a alumnos y asistentes en Stellar Academy, la dinámica educativa realizada junto a iDEAUFRO en Temuco

¿Cómo planean monetizar, o todavía es una pregunta abierta?

❝

Hoy sigue siendo una pregunta abierta, y de manera intencional. Kuyfi nació como una herramienta de desarrolladores para desarrolladores, y nuestra intención es mantener su núcleo open source. En esta etapa nos importa mucho más conseguir adopción y demostrar que realmente podemos aportar al ecosistema Soroban que optimizar prematuramente un modelo de monetización.

El orden importa: primero queremos construir una herramienta que los desarrolladores realmente quieran utilizar y en la que puedan confiar. Después podemos definir cuál es el modelo más sostenible para mantenerla.

Kuyfi le apuesta a algo que no siempre es popular en el ecosistema de los builders: ir más lento para ir más seguro. En un espacio donde la velocidad de lanzamiento muchas veces se celebra más que la solidez del contrato, tener una herramienta que te obligue a pensar como atacante antes de ir a producción es exactamente el tipo de infraestructura que un ecosistema en crecimiento como Soroban necesita. El proyecto sigue en desarrollo activo, open source, y abierto a contribuciones.

Puedes explorar el código, seguir el desarrollo del proyecto y conectar con Alex acá:

¡Felicitamos a Alex! quien demuestra que la tecnología blockchain no discrimina y te permite crear soluciones desde cualquier parte del mundo, incluyendo regiones alejadas de la capital de cada país.

Mantente al día de este y mas proyectos de la comunidad accediendo a todos los canales a través de https://telluscoop.org/

Cristobal Oyarzún Astete


Embajador Stellar Chile, Emprendedor IA y Web3

Sigue leyendo

Ver más
caret-right