DEV Community

Cover image for Project-Lwanga:De 5 MB a 8 KB: el lenguaje ugandés que te hará odiar tus dependencias (y amar el shellcode)
SatanDev
SatanDev

Posted on

Project-Lwanga:De 5 MB a 8 KB: el lenguaje ugandés que te hará odiar tus dependencias (y amar el shellcode)

Imagina que estás en un atolladero. Llevas horas peleándote con un binario de 5 MB que intenta hacer un humble port scan. Y tú, en tu infinita desesperación, te preguntas “por cojones, ¿por qué esto tiene que pesar tanto?”.

Pues resulta que la culpa es del mundo, con sus librerías enormes, sus dependencias infinitas y su manía de hacerte la vida imposible.

Y de repente, alguien desde Kampala (¡Kampala, hostias!) te baja a la realidad con un binario de 8 KB que hace exactamente lo mismo. Pero sin dramas. Sin tonterías.

No te han vendido un curso. Te han abierto el código.


El Proyecto: Cuando el tamaño importa (pero al revés)

Me presento al proyecto Lwanga (o Lawanga, que al final Dios es uno y la comunidad es quien pone los nombres). Un lenguaje de programación de sistemas de bajo nivel, enfocado en seguridad, investigación, pentesting y escritura de shellcode.

Vamos, lo que viene siendo la navaja suiza del ciberpunk con ganas de sentirse Satán en la terminal.

El tío que está detrás de esto, Ssekirya Cosmah, un desarrollador ugandés, ha abierto el código y te lo sirve en bandeja con licencia MIT para que no tengas excusa.

¿Qué hace que este monstruo sea tan atractivo?

Mira, la cosa es sencilla. El Lwanga no es el típico framework grandote y bonito que te peta la RAM y te trata como a un adulto que necesita un pañal. Esto es otra cosa:

· Minimalismo enfermizo: Un simple "Hello World" ocupa menos de 10 KB y no depende de nada, ni de libc ni de tus miedos. Es tan pequeño que hasta tu router de los 2000 podría ejecutarlo.
· Control alucinante: Si eres de los que les va la marcha, esto te permite meterte en ensamblador en línea, llamadas directas al sistema, funciones "desnudas" (naked functions) y acceso directo a los registros. Vamos, que si quieres hacer una syscall sin que nadie te moleste, aquí tienes tu juguete.
· Sigilo y Evasión: Va más allá de la programación normal. Incorpora cosas como cadenas cifradas y código independiente de posición (PIC) para que tus payloads no levanten sospechas. Es como tener un ninja programable.
· Rendimiento sin concesiones: Construido sobre LLVM, lo que significa que no solo es rápido, es que te hace un apt update al rendimiento直接 desde la fábrica.


¿Dónde está el Humor? ¿Y las lágrimas? ¿Y el punto de inflexión?

Hasta aquí, todo muy bonito. El problema es el de siempre: un proyecto open-source de un tío en una tierra que no es “el centro del mundo”.

El tío ha parido una bestia técnica y la ha soltado en GitHub, esperando que el mundo caiga rendido a sus pies. ¿Y qué pasa? Pues que el mundo, en su infinita comodidad, pasa de largo. La mayoría está demasiado ocupado viendo cómo alguien en YouTube le cuenta cómo hacer un "print('Hola Mundo')" en Python para sentirse todo un máquina programando.

Pero aquí hay un detalle: el tío no te ha vendido humo. Ha hecho lo contrario. Ha abierto las tripas de su creación y ha dicho: “Mira, esto es una bestia. Ayúdame a domarla. El binario que te detecta puertos en 8KB está aquí, y el que se come 500MB de RAM para hacer lo mismo también. Tú decides".

Este es un momento de inflexión para la comunidad, especialmente la de habla hispana. Tenemos la oportunidad de meternos en un proyecto de bajo nivel que es una pasada, y de paso, demostrar que no todo es seguir la corriente cómoda.


Lo que pedimos: Un poco de amor, de código y de comunidad

No nos engañemos. El creador no te está pidiendo limosna. Te está pidiendo mano de obra. Y no es una mano de obra cualquiera. Se necesitan:

· Devs con hambre: Gente que quiera meterse en la cocina del ensamblador, del LLVM y de la optimización hasta el cobre.
· Cazadores de Bugs: Si eres de los que encuentra fallos de seguridad donde nadie los ve, este es tu campo de minas.
· Documentadores con vocación: Porque esto no es un curso de "Python en 9 horas", y la documentación en condiciones se hace con cariño, no con un generador automático mal llevado.
· Embajadores: Personas convencidas que difundan esto por foros, redes sociales y en los mentados meetups. Demostrando que un proyecto de Uganda puede hacer sombra a muchos de Silicon Valley.

Aquí el tamaño no es el problema. El tamaño de nuestra pereza, sí.

¿Qué te llevas?

· Aprender de verdad: Aquí no hay vídeos que te lo mastican. Aquí te manchas las manos de código.
· Experiencia real: Participar en un proyecto que puede ser la base de futuras herramientas de seguridad. Tu pull request no pasa desapercibida.
· Comunidad: Formar parte de algo que empieza desde abajo. No hay gurús, no hay postureo. Hay un tío con una idea y un comstackdor que no para de echar humo.

No te vendemos un sueño. Te ofrecemos un proyecto.


¿Te apuntas o solo hablas?

Si has llegado hasta aquí, es porque el mundo de la programación y la seguridad te da más guerra que placer. Y sabes que la verdadera innovación está en los detalles. En ese binario de 8KB.

El creador, Ssekirya Cosmah, ha pegado el primer ladrillo. Ahora es el turno de la comunidad. Especialmente la comunidad hispanohablante, porque aquí también se puede construir.

· El archienemigo: La apatía, “esto ya lo hará otro”.
· El aliado: La curiosidad, la valentía de decir “yo puedo ayudar aquí”.
· El plan: Clona el repo, mira el código, lee la documentación, busca una issue que te mole y ponte a ello. Y si no encuentras nada, sé el primero en abrirla.

El proyecto se llama Lwanga. Puede que lo conozcas como "Lawanga". La respuesta está en GitHub (si lo encuentras, será que te has ganado el derecho a entrar).

Y recuerda: El código que puedes depurar y mejorar se construye entre todos. El código que no te atreves a tocar se queda en un cajón.


Resumen para los impacientes y con sueño:

· Proyecto: Lwanga, un lenguaje de sistemas de bajo nivel y seguridad.
· Creador: Ssekirya Cosmah (Uganda). Ha abierto el código.
· Potencial: Binarios minúsculos, control total, sigilo extremo.
· Problema: Falta de comunidad y difusión.
· Llamada a la acción: Ayuda con código, documentación, difusión. O quédate con tu Python de 9 horas, allá tú.

El mundo está lleno de bootcamps con humo y frameworks de usar y tirar. Falta gente que construya los cimientos. Los cimientos se hacen en bajo nivel y en comunidad.

Si esto te ha parecido una pérdida de tiempo, no te preocupes. En un par de semanas te anunciarán un nuevo curso de "Experto en bajo nivel con IA cuántica". Te esperamos.


🌍 Haz que esto no se quede en una anécdota

Este proyecto no es una empresa, no es una startup con inversión millonaria. Es el esfuerzo de un desarrollador africano con ganas de crear algo distinto. No le llames "el framework del momento" porque nunca lo será. Llámalo "el proyecto que nos obliga a pensar".

Ahora te toca a ti. Decide si quieres ser espectador o constructor. Si no sabes por dónde empezar, busca el repositorio en GitHub. Lo que necesitas hacer es buscar "Lwanga" y entrar. No te lo van a dar mascado. Como todo en esta vida, la primera vez que te atreves, te toca buscarlo.

Y si lo encuentras y te animas a contribuir, enhorabuena: ya estás un paso más cerca de entender de qué va esto de crear, sin depender del humo de los demás.


P.D.: Si alguien de verdad se ha sentido ofendido porque he comparado esto con los cursos de humo, que no se preocupe: tengo preparada una API para gestionar las quejas. Estará lista cuando el proyecto Lwanga tenga estabilidad. Es broma (o no).

Ahora, a documentar, a programar y a construir. La comunidad empieza hoy.

Top comments (0)