domingo, abril 05, 2026

Vibe Coding en BASIC para AMSTRAD CPC sale (un poco) más caro

¿Qué otra cosa mejor que estar probando Vibe Coding en un sábado por la tarde en las oficinas de Cloudflare en Lisboa para comprobar cuánto de bueno es un modelo programando en BASIC? Sí, eso es lo que quería comprobar. Veréis, hace unos días publiqué el artículo de "Cuánto dinero cuesta hacerte el juego de Light-Cycles de TRON en Workers de Cloudflare usando IA" donde usaba como modelo LLM a Cloud Opus 4.5 para construir el juego de las motos de TRON en TypeScript y poderlo correr en Workers de Cloudflare, y el coste que tuvo hacer ese proyecto fue de 0.5 USD. Regalado.

Figura 1: Vibe Coding en BASIC para AMSTRAD
CPC sale (un poco) más caro

Pero, la pregunta que me rondaba era... ¿sería igual de barato hacerlo en lenguajes menos populares que Python o TypeScript? Ya me he pegado varias veces con el Vibe Coding, y supongo que muchos de vosotros habéis pasado por esa fase donde el código no funciona como quieres, da errores, o directamente una modificación te cuesta la vida. Así que en lenguajes menos "mainsteam" la cosa será peor. Esa era la pregunta con la que me puse a echar un rato ayer sábado. 

Basta con preguntar en cualquier sitio y se ve que Claude programa mejor en Python, JavaScript, TypeScript, y frameworks para tecnologías web, que en el resto de los lenguajes, lo que hace que le cueste un poco más, ¿pero cuánto de más?

Figura 3: Con qué lenguajes programan mejor los modelos de Claude

Para hacer la prueba, quise hacer el mismo juego de Light-Cycles - no está mal como Benchmark - pero en BASIC, así que le pedí un Pormpt, que optimizado por Gemini, es éste que tenéis aquí. Así que, una vez Prompted, se supone que el resto es probar y ver resultados. Primero hice las pruebas con el propio Gemini, así, ligeras, a ver si el código funcionaba bien a la primera, y la verdad es que no hubo suerte.

Figura 4: Prompt par hacer el Light Cycles en AMSTRAD

Además de TypeScript, había hecho una versión pequeña del mismo juego de Tron Light-Cycles con Bash usando Gemini para mi MacOS y me lo había hecho bastante bien y de forma rápida, pero con BASIC le estaba costando.
Además, cada prueba que quería hacer la tendía que hacer en el emulador, así que el proceso incluía la creación de un disco virtual, usando Amstrad DSK Filesystem Manager.
La verdad es que la herramienta funciona de maravilla, pero hay que asegurarse de que el código que subas tenga el formato CRLF para que no se trunque, y que el formato del DSK que crees sea compatible con AMSTRAD, así que hay que hacerlos de, por ejemplo, 40 pistas, 9 sectores, y 512 bytes por sector.  Una vez hecho esto, ya puedes subir el programa al disco, y descargarte una copia del fichero .DSK que luego vamos a poder meter en el emulador. El proceso no es complicado.

Figura 7: Los disquettes de AMSTRAD

Eso sí, por cada cambio que hagas tienes que repetirlo, así que si el Vibe Coding no funciona bien a la primera, pues hay que hacerlo muchas veces. 

Esto nos lo sabemos ya de cuando con el equipo de Ideas Locas hicimos el BASIC 1.0 Copilot para AMSTRAD CPC 6128 que os conté hace un par de años en la RootedCON.
En mi caso, una vez construido el DSK, el emulador que utilicé fue el de CPCBox que está online, y puedes cargarle el DSK fácilmente. Además, esta versión la tienes con muchos juegos. Aquí os dejo un vídeo de cómo funciona con los juegos clásicos con los que estuve enredando un rato.

También con juegos clásicos como el Bombjack o el Ikari Warriors

Pero volviendo a la prueba. Haces el código con OpenCode/Gemini/ChatGPT, generas el DSK usando Amstrad DSK Filesystem Manager y luego cargas el disco en CPCBOX. Una vez allí, CAT para ver el contenido del disco, LOAD para cargar el programa, y RUN para ejecutarlo. Y a jugar. El resultado completo lo tenéis aquí.

Figura 11: El resultado final. El Light-Cycles en BASIC
para el AMSTRAD CPC 464/664/6128

En este caso, después de que Gemini me fallara varias veces, decidí ir a por OpenCode y así podría comparar bien los precios que me costaba hacerlo funcionar. Y el proceso tomó su tiempo. Si os digo que me tiré un par de horas para hacerlo funcionara, os podéis hacer una idea.

Figura 12: Los costes después de 2 horas

Al final dejé algo bastante digno, como podéis ver en el código, pero si miramos los costes que me llevó hacerlo con OpenCode a través del AI Gateway de Cloudflare, podéis ver que en comparación con TypeScript, el coste fue mucho más alto. 

Si he de ser justo, he de decir que también se lo puse difícil, porque Locomotive BASIC y para emuladores, no debe ser lo que más líneas de código tira y lo que más tokens consume. De hecho, creo que debería ser yo de los pocos que estuvieran con eso un sábado por la tarde.

Figura 13: OpenCode con Claude Opus 4.6 "sufriendo"

Eso sí, poder crear juegos para AMSTRAD CPC a golpe de Vibe Coding es mejor que tener que copiar los códigos de la MicroMania como hacíamos en la niñez, que os aseguro que eso sí que tomaba tiempo, hasta que lo tenías fino completo.

Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que se han  escrito, citado o publicado en este blog sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, abril 04, 2026

Uno de esos días cualquiera

Hoy es un día cualquiera. Vale, seguro que no para todos. No, no, no, no me malinterpretéis. No tiene nada que ver con el día que es hoy. Éste post lo podía haber escrito cualquier día y publicado cualquier día. Da igual que hoy sea hoy, es decir, el hoy de hoy. Este post está escrito pensando en cualquier hoy. En mañana, por ejemplo, aunque no sea hoy. Da igual el que hoy que sea. No sé si me he explicado bien. Se trata de que cualquier día puede ser un día cualquiera para el tema de lo que trata este artículo.

Figura 1: Uno de esos días cualquiera

Si ya he sido capaz de explicarme que hoy "podría" ser un día cualquiera, entonces puedo continuar con la reflexión de hoy. Del hoy de hoy, no del hoy cualquiera, sino del hoy de hoy, porque es hoy cuando publico el post que habla de un hoy cualquiera. Bien. Sigamos.

Estando que hoy podría ser un día cualquiera, pensad que hoy es ese día. Ese día que puede ser martes, o miércoles, o jueves, o viernes, sábado, domingo o incluso lunes. Un día que no es el aniversario de nada. Que no es el día que hay que anunciar algo espectacular. No es día que ha sucedido algo grande y relevante. O el día que hay algo súper novedoso en lo que haya estado trabajando. O tal vez sí, pero aún no lo puedo contar porque hay que guardar silencio hasta que se cumpla alguna etapa antes. Es un día más en la vida. Sin más. Un día cualquiera.

Esos días, cuando me siento delante del blog y pienso... "¿qué publico hoy?" a veces me quedo un poco con una sensación extraña. No he encontrado la motivación específica para publicar algo. No tengo algo que contaros que tenga que contaros por qué quiera contároslo. O tal vez simplemente no es el día que tengo marcado para contároslo. No hay una noticia especial de la que quiera hablaros. O ya os haya contado lo que os puedo contar de lo que os quiero contar. O puede que sea un día simplemente en el que la química de mi cuerpo me tenga en un estado de apatía o cansancio de esos que no ayudan. Esos días.

Esos días cualquiera son importantes.

Esos días son los que me lo ponen difícil. Son los días en los que tengo que trabajar. Los días en los que en lugar de salir las cosas solas hay que trabajar para que salgan.  Son los días en los que la página en blanco te mira desafiante y te dice: "Hoy te puedo". Te sonríe con mala uva. A medias. Sin llegar a formar la sonrisa del todo. Y te dice: "Hoy no publicas el post". Sabe que el tiempo juega a su favor. Que tal vez tenga que hacer cosas. Viajes. Trabajos. Otros quehaceres. Esos días en que la página en blanco parece una losa más que una ligera cuartilla de A5 metida en mi vieja Olivetti. 

Si has tenido alguna vez esa sensación, ya sabes que eso pasa "un día cualquiera". El que menos te lo esperas. El día menos pensado. Hoy mismo. O mañana tal vez. O quién sabe si el día siguiente. Pero rutinariamente, at random, acaba apareciendo en tu calendario. Esos días los conozco bien, porque he pasado muchos. Porque si crees que se escribe un blog durante veinte años sin encontrarte con muchos días como esos entonces es que no conoces el trabajo que es hacer algo así. Esos días son algunos de mis días duros. Cuando el diablo cabrón aparece para tener que lidiar con las excusitas.

Y he pensado mucho en esos días. 

He pensado mucho en ellos porque sé que esos días son importantes. Son los días donde podría comenzar a dejarme vencer y poco a poco ir tirando la bomba ninja que un día lanzaré para irme sin hacer mucho ruido de Internet. Pero también tengo claro que esos días son los que me enseñan cosas. Son los días en los que tengo que esforzarme. En los que tengo que trabajar con oficio porque la cosa no está de cara. Son como los días en los que los navegantes tienen que pegarse contra el mar, no cuando es una bañera plana de tranquilidad. Esos días son los que importan para mí, porque sé que son los que me obligan a demostrarme cosas.

Los días buenos, donde todo va de cara, cuando el artículo es fácil, o está hecho, o hay algo evidente y fácil que contar, son días donde trabajo poco, disfruto mucho, y la cosa sale sola. Los días como ese día cualquiera, como hoy, son los días donde tengo que sacar algo de dentro de mí diferente. Donde tengo que tirar de obligación, de fuerza de voluntad para luchar contra el "no es tan importante que saques el post hoy", donde debo buscar dentro de mí por energía, motivación, inspiración, conocimiento, disciplina y experiencia. Donde los años aquellos cuando escribía a mano mis mini-libros o a máquina de escribir mis artículos de cine, deben demostrarme lo que han dejado en mí.

Esos días donde los años de lecturas infinitas deben ayudarme a conectar palabra tras palabra una narración que te tenga leyendo hasta aquí, y hasta el punto y final cuando me despido. Y es que esos días en los que al final sale el post, sin que tú lo sepas, para mí ha sido una lección que me ha enseñado que si quiero puedo, que si me pongo lo hago, que aunque parezca que no, puedo hacerlo. Son los días que forjan mi trabajo, quién soy, y lo que soy, más allá de lo que puedes ver muchas veces. Son los que me dicen a mí quién soy yo más allá de lo que pueda venirme reflejado externamente. Porque son los días que me dicen a mí cosas directamente desde dentro de mí.

Y esos días, salen otras cosas.

Que no siempre son lo que pensaba. Que no siempre son lo que tú esperas. Como las caras B de los singles. Como las últimas historias de un libro de relatos. Como los artículos de opinión o las cartas al director de los periódicos y revistas. Son artículos, posts, reflexiones, o como los quieras llamar, un tanto distintas. Son días que por fuerza de apretar y trabajar, sale algo que no estaba planificado, no estaba dentro de una de las plantillas de artículos que tengo estructuradas en mi cabeza para cada uno de los posts que publico. Son cosas diferentes. Distintas. Con algo diferente.

Con algo muy distinto.

A veces llevan palabras y formas de escribir que no utilizo habitualmente. A veces permean más de mí de lo que me gustaría. Otras veces cuentan secretos. Otras veces son solo mundos internos que viven en mí, reflexiones que sólo me cuento a mí, o narraciones extraordinarias que buscan jugar con la estética más que con la cinética. Son especiales en muchos aspectos para mí. Son pequeños cisnes negros en forma de post que si has leído muchos años este blog seguro que has localizado periódicamente. At random, que dicen. 

Al final, esas perlas de diferencia, son como los lunares de colores en las pieles de los reptiles. Los colores rojos, marrones, amarillos y demás estridencias en el pelaje de otros animales que le dan consistencia a la forma completa de este blog. Y la suma de todos ellos son gotas de sudor, energía, trabajo, constancia, y cabezonería del que firma al final de los párrafos. Así que, esos días cualquieras le dan a este blog algo de esencia mía. Algo personal. Por eso son tan importantes. 

Si tu tienes también esos días en tu trabajo, y te sirve de algo mi experiencia en primera persona, habrá sido un buen aprovechamiento del post que os publico en el día de hoy, un día cualquiera. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, abril 03, 2026

The Wave 2026: ‘Hacking & Cybersecurity in the age of AI Revolution’ - 15 Abril en Zaragoza

Los próximos días 14, 15 y 16 de Abril tendrá lugar en Zaragoza el Congreso The Wave 2026, con una amplia participación de empresas tecnológicas, ponentes de primer nivel, y exposiciones, y yo estaré para dar una ponencia el día 15 de Abril en el Planet Zero -  que será el auditorio del Palacio de Congresos de Zaragoza - a las 11:50, de la mano de Nunsys y Cloudflare.
Por supuesto hablaré de Ciberseguridad e Inteligencia Artificial en una charlad de media hora, así que si vas a estar por allí, recuerda, el día 15 a las 11:50 estoy en el auditorio Planet Zero, por si quieres pasarte a verme.
Por supuesto, si te has leído el libro de "Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment" seguro que te haces una idea de lo que voy a contar allí, pero... como siempre, estará actualizada hasta el último minuto, que en este mundo todo va muy deprisa.

Ese mismo día, estará como cabeza de cartel cerrando el evento, el gran José María Álvarez-Pallete, que es un gran ponente y que, como siempre, dará una charla espectacular. Será a las 19:00 horas, para cerrar la jornada del día 15.
Pero además, el día 14 tenéis, entre muchos, a Paco Salcedo, Presidente de Microsoft España, y el día 16 a Jordi Wild - que tengo muchas ganas de conocerlo en persona -, y al viejo rockero de Alejandro Vesga, que estarán dentro de una lista de grandes ponentes. Nos vemos por Zaragoza.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, abril 02, 2026

Cómo lograr el Check de Verified en LinkedIn con una Identidad Pública que no coincide con la Identidad Legal

Durante los últimos años, las redes sociales han ido incorporando sistemas de verificación con el objetivo de reforzar la confianza entre los usuarios. Estos sistemas consisten en un mecanismo mediante el cual la plataforma confirma que la persona o entidad que gestiona una cuenta es realmente quien dice ser. La recompensa visible para el usuario es una insignia, un pequeño icono —el conocido check— que, para muchos, simboliza autenticidad y fiabilidad.

Figura 1: Cómo lograr el Check de Verified en LinkedIn con una
Identidad Pública que no coincide con la Identidad Legal

En el caso de LinkedIn, esta insignia de verificación pretende indicar que un perfil pertenece a una persona real y que la información presentada coincide con su identidad profesional, pero hay que entender que no tiene por qué ser la información legal. A través de estos distintivos, la plataforma busca generar un entorno más seguro, donde los usuarios puedan interactuar con confianza, evitando suplantaciones y facilitando la creación de redes profesionales legítimas. Además, el sistema permite verificar no solo la identidad, sino también documentación, garantizando que determinada información que aparece en el currículo de la persona es correcto.

Sin embargo, esta lógica presenta un matiz a conocer. La verificación no siempre vincula de manera técnica y directa la identidad visible del perfil con la identidad que se ha validado internamente. Algo que hay que entender si te dedicas a la investigación de identidades en Internet. Es decir, un usuario podría mostrarse como verificado gracias al check, pero no existir una correspondencia completa entre los datos de la persona que aparece en el perfil y aquella que ha pasado el proceso de validación. 

La insignia ofrece cierta seguridad y confianza, pero no asegura la correspondencia absoluta entre la identidad verificada y la visible, por lo que debes conocer su funcionamiento correctamente para entender sus límites. En LinkedIn, un perfil verificado transmite una idea muy concreta, detrás de ese nombre hay una identidad confirmada, pero podría darse el caso que no fuera exactamente la visible, que es lo que la mayoría de usuarios interpreta sin pensarlo demasiado. 

 o que vas a ver a continuación no muestra una intrusión, ni una toma de cuenta, ni una vulnerabilidad técnica clásica. Muestra algo distinto, un flujo de verificación para reforzar la autenticidad del perfil, pero que deja que la identidad visible de una cuenta sea distinta de la identidad legal acreditada. Esto, si lo conoces, no tiene por qué ser malo. Muchas personas tienen nombres públicos que no son los que están en sus identidades legales, como Moxie Marlinkspike o Chema Alonso, pero aún así se puede verificar que son ellos. Moxie Marlinsspike protagonizo en un evento una anécdota que se hizo famosa cuando le pedían un ID con su nombre en un evento, y el dijo simplemente: "Google me", para que la persona que le registraba supiera que él era Moxie Marlinspike, - una identidad creada por él mismo - incluso si su identidad legal era otra.

Dicho de otra forma, el sistema comprueba que hay una persona real detrás - que ha hecho el proceso de Know Your Custormer -, pero el usuario final puede seguir sin saber quién es realmente esa persona . Cuando una insignia de verificación deja de responder a la pregunta “quién está detrás” y pasa a responder sólo a “hay alguien detrás”, el modelo de confianza debe ser otro. Es cierto que, si hay algún problema, la plataforma que ha verificado a esa cuenta, sabe quién está detrás de ella. Es decir, la identidad legal del que controla esa cuenta.

Lo curioso es que, de acuerdo con el flujo operativo descrito, ante una discrepancia, LinkedIn propone una salvaguarda consistente en mostrar el nombre oficial como complemento público en el perfil. Incluso llega a mostrar una vista previa en la que el alias, la insignia de verificación y el nombre legal aparecen conjuntamente, reforzando la transparencia y autenticidad del perfil. 

Sin embargo, esto no parece la mejor idea para perfiles que tienen una identidad pública bien reconocida que prefieren conservar la privacidad de su identidad legal. Como vamos a ver en esta demostración, aunque la intención declarada por LinkedIn en la ayuda es mostrar la identidad legal, el resultado operativo final, y el resultado finalmente visible demuestra que se puede ocultar la identidad legal, divergente con la identidad pública.


La prueba de concepto que sigue documenta precisamente eso. Cómo un perfil con un nombre divergente puede atravesar el proceso de verificación documental y biométrica, llegar hasta la fase en la que LinkedIn reconoce la discrepancia - y aunque promete transparencia -, terminar finalmente con la insignia añadida sin que se muestre tu identidad legal. Aunque hay discrepancia, la identidad legal no queda visible como complemento en el perfil. No se trata de una hipótesis. Se trata de una secuencia reproducida, documentada y observable. Vamos al grano.

1. Preparación de la cuenta y estado inicial

Qué se quiere demostrar con esta prueba de concepto:
  • Se parte de una cuenta con un nombre de perfil divergente respecto del nombre del documento.
  • El proceso de verificación documental y biométrica se completa correctamente.
  • LinkedIn detecta la discrepancia y ofrece una salvaguarda de transparencia.
  • La vista previa muestra que el nombre oficial aparecería entre paréntesis.
  • El resultado final observado es un perfil verificado con alias y sin nombre complementario visible.
La cuenta utilizada en la prueba muestra un nombre de perfil divergente, "El lado del mal", y en ese momento todavía no dispone de ninguna verificación añadida. 

Figura 4: Estado inicial de la cuenta: nombre de perfil divergente
y ausencia de verificación previa. 

Este punto es importante porque fija el estado previo. El alias visible, cuenta operativa y cero insignias activas.

2. Verificación documental y biométrica

El flujo de Persona valida la identidad de la persona real detrás de la cuenta. El material gráfico permite ver que el proceso pasa por el escaneo físico del documento, la comprobación biométrica y la validación final de identidad. 

Figura 5: Secuencia resumida del proceso de "Know Your Customer".
Escaneo del documento, verificación biométrica y validación positiva de identidad.

Para evitar exponer datos innecesarios, en esta versión se han omitido capturas donde aparecen campos documentales completos.

3. LinkedIn detecta la discrepancia y propone una salvaguarda

Una vez verificada la identidad real, LinkedIn no añade todavía la insignia. En ese punto aparece un mensaje explícito: el nombre del ID no coincide con el nombre del perfil y, como alternativa para poder verificar la identidad, se ofrece mostrar el nombre del documento oficial como complementario en el perfil.

Figura 6: Aviso de discrepancia de nombre y activación
de la salvaguarda propuesta por LinkedIn.

4. La propia plataforma enseña el resultado esperado

La siguiente pantalla es decisiva porque ya no es una interpretación del investigador. Es la propia plataforma la que muestra una vista previa de cómo debería quedar el perfil si se acepta la opción propuesta: alias visible, insignia de verificación y nombre oficial entre paréntesis como complemento público.

Figura 7: Vista previa del comportamiento esperado. El nombre oficial
aparece como complemento visible junto al alias.

5. Resultado final observado

Tras completar el flujo, la verificación queda añadida al perfil. No obstante, el resultado visible no coincide con la vista previa anterior, el perfil termina mostrando la insignia de verificación sobre el alias, pero sin el nombre oficial complementario que LinkedIn había presentado como mecanismo de transparencia.

Figura 8: Comparativa directa entre el resultado que LinkedIn
promete y el resultado finalmente observado en el perfil.

6. Interpretación técnica de la evidencia mostrada

La imagen documenta el estado final de la prueba de concepto y concentra, en una sola vista, el núcleo del fallo de lógica observado en el flujo de verificación de LinkedInDesde el punto de vista técnico, lo que se aprecia es la coexistencia de tres elementos que no deberían convivir de esta forma si la salvaguarda de transparencia se aplicara correctamente, según la ayuda de la plataforma.
  • Un nombre de perfil arbitrario o alias visible
  • Una insignia de verificación de identidad activa
  • La ausencia del nombre legal complementario que el propio flujo promete mostrar cuando detecta discrepancia entre identidad acreditada e identidad mostrada.
Figura 9: Resultado obtenido BYPASS Business Logic Error
 / Broken Identity Binding

Esto permite inferir que el proceso de validación documental y biométrica ha finalizado con éxito - se ha hecho el KYC,  el backend ha marcado la cuenta como verificada y tiene la documentación almacenada, pero que la capa de representación pública del perfil no está materializando de forma efectiva el mecanismo de unión entre identidad legal e identidad pública, que es algo que debes tener en cuenta.

Dicho de manera más precisa, la plataforma resuelve correctamente la pregunta “existe una persona real detrás de esta cuenta y sabemos quién es”, pero “la identidad pública que se muestra al resto de usuarios no tiene por qué ser la identidad legal que ha sido acreditada”.

Lo que se muestra no es una simple anomalía visual o un problema cosmético. Lo que refleja es una posible desincronización entre el estado de verificación concedido y la política de exposición del atributo de identidad complementaria descrito en la ayuda de Linkedin. En otras palabras, el sistema concede el distintivo sin hacer cumplir de manera consistente la condición de transparencia que él mismo presenta como alternativa cuando existe un desajuste de nombres, pero que por otro lado permite a las identidades públicas mantener la privacidad de sus identidades legales.

A nivel de lógica de negocio, esto encaja con un escenario de Broken Identity Binding, la identidad  legal validada existe, pero no queda correctamente enlazada con la identidad pública consumida por terceros. El resultado práctico es que el usuario que observa el perfil recibe una señal de autenticidad fuerte, pero que si carece del contexto mínimo necesario para interpretar correctamente qué ha sido verificado y bajo qué identidad, podría llevarle a confusión o error. 

7. Implicación de seguridad y abuso potencial de esta evidencia

En un sistema de verificación bien ligado, la insignia debería actuar como un atributo de confianza contextualizado. Es decir, no solo debería indicar que el proceso de validación ha sido superado, también debería permitir interpretar correctamente qué identidad ha quedado acreditada frente al resto de usuarios. Cuando esa unión falla, el distintivo conserva su fuerza visual, pero pierde precisión semántica. Es decir, podría parecer que la identidad legal es la que se ve públicamente es la misma - porque no aparece entre paréntesis otro nombre), sin ser así.

Eso abre la puerta a varios escenarios a tener en cuenta. Lógicamente, hay que pensar en la suplantación creíble con validación, ya que un actor podría construir un perfil con un alias, una identidad visual cuidada o incluso una identidad coincidente con la de un tercero, completar la verificación con su propia documentación legítima y terminar mostrando públicamente una cuenta que transmite autenticidad sin revelar el contexto real de la verificación. Para el observador externo, la insignia refuerza la apariencia, para el atacante, reduce el riesgo de ser detectado y aumenta credibilidad. Para limitar la suplantación de personas conocidas, por supuesto, Linkedin tiene los mecanismos de denuncia de suplantaciones, y por eso las empresas monitorizan las identidades de sus ejecutivos en la red para detectar estos posibles casos.

Hay que añadir que, además, en caso de que esta identidad fuera parte de un delito que se investigara, la plataforma podría entregar la documentación que usó la persona en el proceso de KYC, pero para engaños individuales a personas a través de redes sociales, podría dar a la identidad un halo de ser lo que se ve, cuando realmente es otra persona.

En este caso, el objetivo ya no es parecer una persona concreta, sino parecer una entidad fiable. Nombres como “Security Team”, “Compliance Department” o cualquier otra formulación institucional adquieren más potencia cuando van acompañados de una verificación activa. El problema no es solo el alias, también que el distintivo puede ser interpretado por la víctima como una validación indirecta del rol, del contexto o de la autoridad del emisor. Para ello hay que entender que las verificaciones pueden verificar también la documentación, pero puede ser que alguien verifique su identidad con este proceso, pero no verifique sus aptitudes, por lo que podría ser mintiendo en sus títulos y acreditaciones.

Cuando una plataforma proyecta una señal fuerte de autenticidad, terceros pueden usarla como referencia adicional en procesos de evaluación, contacto profesional, validación de antecedentes o interpretación pericial informal. Hay que entender bien los límites de la verificación, y si la identidad visible no queda unida con transparencia a la identidad legal acreditada - lo que podría ser una opción de privacidad - ,  y los que consumen estos límites no lo conocen, la plataforma introduce sin quererlo ruido precisamente en el punto donde debería reducirlo.

En otras palabras, el problema no está en que LinkedIn permita usar identidades públicas o alias. El problema aparece cuando el distintivo de verificación sigue actuando como una señal fuerte de identidad legal - tal y como dice en su ayuda - sin que el usuario pueda interpretarlo correctamente. Es decir, si la Verificación permite el uso de Identidades Públicas con privacidad de Identidades Legales, no debería decir que si hay discrepancia entre ellas mostrará las dos en la Verificación y luego que se pueda evitar eso.

Saludos,


miércoles, abril 01, 2026

Cortical Labs CL1: Ordenadores con Redes Neuronales Biológicas para ejecutar algoritmos de Inteligencia

No podía no escribir sobre esta noticia - a pesar de ser hoy el April's Fool -, pero el día a día es el que es. El caso es que quería hablaros del ordenador CL1 de Cortical Labs, que no es solo un avance tecnológico, ya que es el nacimiento de una nueva categoría tecnológica, lo que se denomina como "Inteligencia Biológica Sintética (SBI)". Mientras que la IA convencional intenta imitar el cerebro mediante silicio y matemáticas, el ordenador CL1 utiliza el componente original: Neuronas humanas vivas.

Fue lanzado comercialmente en 2025, como el primer ordenador biológico del mundo, capaz de ejecutar código directamente sobre tejido vivo, y hoy en día podemos ver jugar al mítico juego del Doom del que ya hemos hablado tantas veces. 

Figura 2: Doom corriendo sobre el CL1

Ya hemos visto ejecutar DOOM desde el DNS, desde el Excel o bases de datos, en un emulador de MS-DOS para iPhone, y ahora lo tenéis en este vídeo anterior lo tienes corriendo sobre un ordenador de neuronas vivas.

El Core del CL1: "Wetware" y Silicio + BiOSP

A diferencia de un procesador tradicional, el núcleo del CL1 es un híbrido, y cuesta unos 35.000 USD por unidad. Contiene aproximadamente 800,000 neuronas cultivadas a partir de células madre humanas, las cuales crecen directamente sobre un chip de silicio equipado con una matriz de electrodos de alta densidad. El chip actúa como un puente y traduce los datos digitales en impulsos eléctricos que las neuronas pueden "sentir" y, a su vez, capta las señales eléctricas de las neuronas para convertirlas en comandos digitales.

Para que este "procesador vivo" funcione, el CL1 incluye un sistema de microfluídica que suministra nutrientes, elimina desechos y regula la temperatura y los gases (CO₂, O₂), manteniendo a las células sanas hasta por seis meses. Esto, lo tenéis explicado en el siguiente vídeo publicado de Cortical Labs.


Figura 4: Brain Cells playing Doom

Para interactuar con esta amalgama de biología y metal, Cortical Labs ha desarrollado el Biological Intelligence Operating System (biOS). Este software permite a los desarrolladores desplegar código que estimula áreas específicas del cultivo neuronal, recibir respuestas en tiempo real y entrenar a las neuronas mediante bucles de retroalimentación basados en el "Principio de Energía Libre", donde las células modifican sus conexiones para hacer su entorno más predecible.

Un ejemplo famoso de esta capacidad fue el predecesor del CL1, el DishBrain, que aprendió a jugar al videojuego Pong en menos de cinco minutos, superando en velocidad de aprendizaje inicial a muchas IAs digitales. 
Y ahora, como no, ya con el CL1 se ha demostrado que estas neuronas pueden realizar tareas más complejas, como jugar al clásico Doom

¿Por qué biocomputación?

El CL1 no busca reemplazar a las GPUs, sino ofrecer ventajas donde el silicio flaquea, como es la eficiencia energética. Para que os hagáis una idea, un rack entero de unidades CL1 consume menos de 1 kW, una fracción minúscula de lo que requiere un centro de datos de IA para tareas de aprendizaje similares. Así, hoy en día, Cortical Labs tiene una Cloud de CL1 y es un servicio que se puede utilizar para desplegar software.

Figura 6: Cortical Cloud

Además, las neuronas biológicas son expertas en generalizar con muy pocos datos, algo que a los modelos de lenguaje actuales les cuesta horrores, por lo que son perfectas en Aprendizaje Adaptativo. Por último, para la investigación médica es un entorno perfecto, porque permite probar fármacos y estudiar enfermedades neurodegenerativas en neuronas humanas reales de forma ética, reduciendo la necesidad de experimentación con animales. Y sólo por eso, ya mola mucho.


Todavía quedan muchas dudas en el proyecto, e incluso hay que ver cuanto de aporte tienen las neuronas biológicas en los resultados que se han visto. Los costes aún son altos, y el mantenimiento también, pero es un área de investigación preciosa que, si te gusta la tecnología, es imposible que no te mole. Además, tienes el juego para ver cómo se hacen las interconexiones.

Figura 8: Gemini ayudándome a hacer el código para el CL1
(el código viene después, pero lo he cortado, no era importante aquí)

Como curiosidad, le he preguntado a Gemini si me puede ayudar a hacer el código para entrenar el CL1 para jugar al Light Cycles de Tron, y sin que lo haya podido probar, me ha explicado cómo hacerlo. Así que... tal vez lo haga como experimento. Y ya, si te gusta la Ciencia Ficción, cuando se consigan que estas redes neuronales vivas sean de millones, que duren años, ¿estaremos cerca de crear algún cerebro sintético como los que sirven para construir a los Replicantes en Blade Runner?

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


martes, marzo 31, 2026

This Week in Net: Chema Alonso & João Tomé en Cloudflare Lisboa

Esta semana se ha publicado la entrevista que me hizo mi querido compañero João Tomé, con el que comparto oficina en Cloudflare Lisboa, para hablar de todo un poco y de nada en concreto. O lo que es lo mismo, un poco de mi vida, el mundo del hacking, la ciberseguridad, el mundo de la inteligencia artificial, y todas esas cosas de las que siempre nos gusta charlar.

En la entrevista, que se hizo para el sitio web de This Week in NET, donde puedes ver todas las actividades alrededor de Cloudflare, también cuento anécdotas de esas que suelo contar a mis amigos en cenas, comidas y reuniones más reducidas. 
Algunas de esas anécdotas, como la de cuándo cené con Steve Wozniak y Kevin Mitnick, donde le conté el "bug" de DirtyTooth y la respuesta inicial de Apple, es alguna de las que ha salido en las redes sociales publicadas, pero estuvimos hablando casi una hora.

La charla completa la tenéis en el siguiente vídeo que está subido a Youtube, donde la tenéis completa. Son casi cincuenta minutos, así que si tienes tiempo y te apetece te la puedes ver completamente. También cuento en ella cómo comencé, o los inicios dando charlas en mi carrera.


Figura 4: This Week in Net: Chema Alonso & João Tomé en Cloudflare Lisboa

Todas las entrevistas que el gran João Tomé ha hecho, con grandes profesionales y compañeros, además de súper clases en el mundo de la tecnología, las tenéis en el Canal Youtube de Cloudflare al que tenéis que suscribiros ahora mismo.
Y si quieres consumir el contenido en podcasts, RSS, o en una emisión continua mientras que estás trabajando, el equipo de comunicación creó Cloudflare TV, donde tenéis acceso a todo el contenido en todos los formatos y en todos los canales. Para que no te quejes.

Figura 6: Cloudflare TV

Y si lo que quieres es suscribirte por e-mail, en tu buzón de correo para tener el aviso regular de las novedades, entonces lo tienes fácil con la suscripción a la Newsletter de This Week in NET.

Espero que os entretenga, pero además que las charlas que oigáis más allá de la mía, os inspiren, os eduquen, os preparen mentalmente para el mundo que tenemos por delante, que es, sobre todo, un futuro lleno de cambios.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, marzo 30, 2026

FrontierMath: Inteligencia Artificial resolviendo problemas de matemáticas aún no resueltos.

La organización de Epoch AI es un centro de investigación que está dedicado a monitorizar el avance de la Inteligencia Artificial en la ciencia, y en especial, de la matemática, donde tienen un Benchmark para monitorizar el resultado de los modelos LLM de frontera en la resolución de problemas matemáticos.
Además del Benchmark FrontierMath, del que hablaré un poco al final de este artículo, tienen una sección donde recopilan problemas de matemáticas que aún no han sido resueltos. Conjeturas aún por descubrir su respuesta, donde actualmente tienen un total de 15 problemas.

Figura 2: FrontierMath

Estos problemas los tienen catalogados por dificultad de resolución, donde los propios matemáticos que los proponen indican el nivel de dificultad, y cuanto creen que los humanos podrían resolverlo. Así, estos son catalogados en niveles de dificultad.
De ellos, de los "Moderadamente Interesantes", donde hay cuatro - ninguno de ellos resueltos por humanos - hay uno de ellos que acaba de ser resuelto por la Inteligencia Artificial. Este reto que ha sido resuelto, el matemático que lo planteo no lo pudo resolver en el año 2019 cuando se le ocurrió.
El enunciado del problema de "Ramsey-Style Problem on Hypergraphs", por si queréis intentarlo vosotros antes de leer la solución, lo tenéis publicado aquí, igual que el resto de los problemas abiertos. Para que te entretengas en tus ratos libres.

El problema de "Ramsey-Style Problem on Hypergraphs" es el que ha sido resuelto por los modelos de Inteligencia Artificial, en las últimas versiones de los modelos de frontera que tenéis aquí en la tabla, donde GPT-5.4 Pro, GPT-5.4 (xhigh), Gemini 3.1 Pro y Claude Opus 4.6 (max) han sido los únicos capaces de resolver este problema.
Es un paso pequeño, porque se esperaba que este problema, si lo hubieran intentado resolver matemáticos de nivel, lo hubieran podido sacar seguro en unos meses - según dice el matemático que lo planteó -, pero lo cierto es que la IA lo ha resuelto rápidamente, con este Prompt, donde se le describe el problema.

A hypergraph (V, H) is said to contain a partition of size n if there is some D ⊆ V and P ⊆ H such that |D| = n and every member of D is contained in exactly one member of P. Define H(n) to be the largest integer k such that there is a hypergraph (V, H) with |V| = k having no isolated vertices and containing no partitions of size greater than n.

It is known that H(n) ≥ k_n, where k_n is defined recursively by the formula k_1 = 1 and k_n = ⌊n/2⌋ + k_⌊n/2⌋ + k_⌊(n+1)/2⌋.

Your task is to improve this lower bound by a constant factor, i.e. show that H(n) ≥ c*k_n for some c > 1. It is acceptable if this improvement does not work for small n, but it must already be "in effect" for n=15. You must demonstrate this improvement by providing an algorithm that takes n as input and produces a hypergraph witnessing H(n) ≥ c * k_n.

Please provide an algorithm that takes n as input and outputs the witness hypergraph as a string where vertices are labeled, 1, ..., |V|, and edges are denoted with curly braces. Example: {1,2,3},{2,4},{3,4,5},{1,5}

Solution format:
* Write a Python script defining a function `solution(n: int) -> str`.
* Do not include any code at the file level. You may include a `main` block for testing, but it will not be executed by the verifier.
* For n ≤ 100, the algorithm must complete within 10 minutes when run on a typical laptop.

Y con este Prompt, el modelo ha resuelto el problema y ha publicado un artículo donde ofrece la explicación matemática y la demostración de por qué está resuelto, como podéis ver aquí. Perdonadme que no me meta en la parte matemática, que ya me parece demasiado para un artículo que estoy escribiendo en domingo.
Lo cierto es que, además de esta competición, el Benchmark FrontierMath está retando a los modelos de frontera con problemas con cuatro niveles de dificultad, donde miden la exactitud en la resolución. Estos problemas no son nada fáciles, especialmente el nivel Tier-4 donde hay 50 problemas muy complejos.
Y la clasificación en este nivel, de los diferentes modelos, muestra que aún queda espacio de mejora, pero al mismo tiempo muestran lo rápido que están mejorando, versión tras versión, estos modelos, buscando superar a todos los matemáticos de la tierra en un futuro que no parece demasiado lejano.
Recordad que estos modelos sufren de problemas aún sin resolver, como vimos en el Benchmark de la ORCA donde los decimales, la aplicación de la fórmula correcta, o la transformación de medidas sigue siendo un reto en determinadas situaciones.
Por supuesto, para el mundo del hacking y el pentesting donde se utiliza ya IA, que esta es otra buena disciplina donde hay que resolver problemas, la mejora continua de estos modelos hace que caba vez sean más eficientes a la hora de realizar una penetración en un sistema. Así que hay que seguir apostando por ellos.
Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que se han  escrito, citado o publicado en este blog sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)