lunes, septiembre 30, 2024

Conferencias & Entrevistas: Cybercriminals with AI & Passwords, Escapando Palante y Siempre al Oeste

Este fin de semana, además de estar preparando mi agenda de la semana y del mes, he estado poniendo un poco al día mi canal de Youtube, para recoger las cosas que voy haciendo a lo largo del año en forma de conferencias y entrevistas. Y aprovecho hoy lunes para traerlas por aquí.

Figura 1: Conferencias & Entrevistas: Cybercriminals with AI

Además de haber actualizado el artículo de Cómo crear una capa de seguridad de Control de Autorizaciones en tu plataforma digital con Latch con el nuevo Webinar dedicado a cómo usar los WebHooks del API de Latch, he subido la última conferencia que he dado en New York City y un par de entrevistas de este año.


Figura 2: Latch WebHooks

La conferencia de Cybercriminals with AI & Passwords/Credentials la impartí esta semana pasada en el edificio de "La Nacional", pero nuestro amigo Philipe Lardy nos ayudo a emitirla por Internet en directo, y la tenemos grabada íntegramente, con un iPhone, un micrófono Bluetooth y unos Airpods ocultos bajo mi pelo, y la pantalla de mi ordenador y la cámara de mi equipo. Todo muy organizado para que pudiera seguirse presencialmente y por Internet a la vez.

Figura 3: Cybercriminals with AI & Passwords/Credentials

El siguiente vídeo es la entrevista que me hizo Pablo Ibáñez, a.k.a. "El Hombre de Negro", en el programa de "Escapando Palante" que  dirige David de Santiago, y en el que hablamos de muchas cosas que tenían que ver con sobrevivir en esta vida.

Figura 4: Entrevista a Chema Alonso en Escapando Palante con "El hombre de negro"

El último, del que también os había hablado ya, es la entrevista en "Siempre al Oeste" Que me hicieron a la "dubis" Anais Simón y Jesús Fernández Úbeda, en esta iniciativa de Zenda Libros, donde hablamos de todo un poco, pero con los libros en el centro.

Figura 5: Entrevista a Chema Alonso en Siempre al Oeste

Así que, si no has visto alguno y te "provoca", pues tienes material para entretenerte un rato. Además, son sesiones que las puedes seguir en modo podcast, solo escuchando el audio mientras haces otras cosas en tu vida.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, septiembre 29, 2024

Cómo crear un Superhéroe y un Supervillano con GenAI: ChatGPT, MidJourney, Kling AI & SUNO

Llevo ya algún tiempo “jugando” a esto de generar vídeos e imágenes creadas con Inteligencia Artificial Generativa (a lo mejor me habéis visto en Cuarto Milenio con Iker Jiménez creando algunas criaturas del Sistema Solar).  Desde que empezamos con las versiones iniciales de Dall-E o Stable Diffusion, la cosa ha cambiado en cuestión de muy poco tiempo. 

Figura 1: Cómo crear un Superhéroe y un Supervillano con GenIA.
ChatGPT, MidJourney, Kling AI & SUNO

El avance es tan espectacular que ya tenemos generación de vídeo con calidad prácticamente cinematográfica, así como con imágenes reales, casi indistinguibles de la realidad.


Podría hablaros, ya que es prácticamente mi trabajo habitual, de los posibles problemas que esto puede generar o también de sus beneficios. Pero si quieres más información de cómo la ciberseguridad se fusiona con la IA, te recomiendo que comiences por este libro como punto de partida:

Figura 3: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Pero hoy no. Hoy es domingo y toca hablar de algo más lúdico, divertido y relajado. Vamos a ver los pasos necesarios para crear un superhéroe y animar la escena.
 
Fase 1: ChatGPT para comenzar a crear imágnes del Superhéroe

Una vez tenemos claro los parámetros básicos de nuestro superhéroe, por ejemplo, que lleve capa, armadura, un ambiente oscuro, una ciudad de fondo, etc. Partimos de la base que mi hija de 7 años dibuja mejor que yo. Así que lo mejor es decirle a ChatGPT que prepare una imagen con la que comenzar.

Podríais pensar que lo mejor es directamente a un generador de texto a vídeo, pero no. Lo mejor es usar previamente un buen generador de imágenes y luego, el de vídeo. El motivo es la limitación del LLM que se usa en el prompt de vídeo, que no son precisamente ChatGPT.

Como para crearla voy a usar MidJourney, es una buena idea pasarle también información sobre trucos o parámetros para crear la imagen:

Figura 4: Dando más conocimiento a ChatGPT sobre MidJourney

Una vez que ChatGPT ya conoce estos parámetros, le pido que me haga un prompt para MidJourney de un superhéroe, oscuro, con un traje avanzado tecnológicamente, con una ciudad al fondo y que le añada lo que vea necesario. Este es el prompt, y será el que usemos ahora más adelante con MidJourney:

“Create a highly realistic photograph of a masked superhero wearing a spectacular, technologically advanced suit. The hero's face is concealed by a sleek, high-tech mask that adds an air of mystery. The suit is dark and aerodynamic, featuring subtle armor plating and a flowing cape. The overall design should exude strength, agility, and a vigilant presence. The setting can be a nighttime urban landscape with towering skyscrapers and dimly lit streets, emphasizing the hero's role as a guardian of the city. --no text, highly detailed, photorealistic, dramatic lighting, 8K resolution.”

Fase 2: MidJourney para crear las imágenes del Superhéroe

Ahora desde MidJourney generamos la imagen. Y estos son los resultados:

Figura 5: SuperHéroe generado con el prompt anterior.

Figura 6. SuperHéroe generado con el prompt anterior con un
"look más familiar" ;)

Genial, pero vamos ahora a ver cómo hacemos de esto un vídeo que nos quede molón, molón. Así que volvemos a ChatGPT.

Fase 3: ChatGPT ahora para crear los vídeos del Superhéroe

Repetimos lo mismo que en la fase 2, donde le decíamos a ChatGPT que creara prompt para imágenes ahora hacemos lo mismo para vídeo. En nuestro caso con Kling AI. Le pasamos un enlace para que aprenda a usar algunas técnicas, y le luego le pedimos un prompt para Kling AI pero sin complicarnos mucho, usando el contexto que ya tenemos de la generación de la imagen anterior:

Figura 7: Prompt para animación con
Kling AI partiendo de una imagen.

Aquí también le pedimos que genere un prompt negativo, para evitar que no haga lo que le pedimos, éste  es el prompt negativo obtenido:

“no cartoon style, no 2D effects, no exaggerated colors, no low resolution, no flat textures, no unrealistic lighting, no visible artificial elements, no blurry details, no oversaturation, no extra objects,”

Este punto del prompt negativo es muy importante para poder obtener resultados más precisos. Pues nada, ya tenemos todo para generar el vídeo y fundir algunos créditos ;)

Fase 4: De la imagen del Superhéroe al vídeo con Kling AI

Ahora desde Kling AI, usamos la opción “image to video”, ponemos la imagen anterior generada, usamos el prompt principal y el prompt negativo, cada uno en su posición:

Figura 8: Generación de los vídeos con Kling AI.

Y finalmente, tenemos estos dos vídeos como resultado:

Figura 9: Vídeo generado a partir de la imagen de la Figura 6
    
Figura 10: Vídeo generado a partir de la imagen de la Figura 5

Pero aún podemos hacer que esto sea mucho más épico. Vamos a ponerle un nombre y a crear música para generar mucho más impacto con estos vídeos.

Fase 5: A todo superhéroe se le conoce con un nombre …

Pues nada, directamente con la imagen generada con MidJourney le pedimos a ChatGPT que nos diga algunos nombres originales. 

Figura 11: Nombres sugeridos para este superhéroe
(lo que antes se llamaba hacer un BrainStorming)

Esta es la lista de diez nombres que me ha ofrecido traducidos - con ChatGPT - al Español. ¿Cuál te gusta más? ;)
  1. Fantasma Nocturno
  2. Vanguardia Sombría
  3. Centinela Oscuro
  4. Caballero Fantasma
  5. Sombra de Hierro
  6. Guardián de Medianoche
  7. Guardián del Eclipse
  8. Espectral
  9. Vengador de Obsidiana
  10. Furia Silenciosa
Fase 6: Y ya que estamos ¿le ponemos banda sonora?

Para una banda sonora acorde a nuestro superhéroe, también podemos hacer que lo haga ChatGPT, por ejemplo con este prompt y lo ponemos en SUNO AI:

“Epic, electronic instrumental orchestral track beginning with a slow, atmospheric intro featuring deep synths and subtle beats to build tension. Gradually add a driving and dark ambient”

Figura 12: Creación de la banda sonora con SUNO AI.

Aquí tienes la canción completa por si la quieres escuchar:


Y ahora ya podemos montar con el iMovie o el Premier, el vídeo, con la música completa, lo que nos da un resultado espectacular para la creación de nuestro superhéroe.

Figura 14: Todo montado con nuestro superhéroe

Reflexión final

Como podéis ver, la combinación de varias herramientas de GenAI puede dar resultados espectaculares. Y esto ha sido una demo rápida, si lo pensamos, le dedicamos más tiempo a los prompts, a los parámetros, etc seguro que obtenemos resultados realmente espectaculares. Esto es sólo una pequeña muestra de lo que la IA puede hacer, no cometas el error de ignorarlo o decir que esto es una moda pasajera y que no se puede hacer nada “útil” con la IA

Happy Hacking Hack…!!!! … espera un momento …

Bonus Track: El Súpervillano  

Se me olvidaba, todo superhéroe tiene un villano ¿verdad? ;)

Figura 15: Generación del villano con MidJourney.

Le buscamos un nombre con ChatGPT.

Figura 16: Nombres propuestos por ChatGPT para el villano

Pero le puedes pedir más, aquí algunos traducidos al Español de una nueva batida de ideas.
  1. Malikar, el Rompealmas
  2. Noctyros
  3. Vorlath, el Caminante del Abismo
  4. Xyphor, Señor de la Ruina
  5. Erebus Vorn
  6. Zal'Korath, el Emperador del Vacío
  7. Nyxarion
  8. Draethor, la Forja de Sombras
  9. Morvex el Eterno
  10. Kael'dryn, el Rey de la Tormenta
Ahora vamos a hacerle una banda sonora acorde a su maldad en SUNO AI.

Figura 17: Prompt en SUNO AI para el villano

Que nos genera este pedazo de temazo.

Figura 18: Shadow King hecha con SUNO AI

Y aquí os dejo el vídeo animado con Kling AI, ya montado con su música y todo ;). Malvado total.

Figura 19: Todo montado con nuestro superhéroe

La IA está aquí, así que aprende, y sobre todo disfruta el momento tecnológico que estamos viviendo, te lo dice uno que empezó con pantallas de fósforo naranja y texto y sin Internet ;)

Ahora sí...

Happy Hacking Hackers!!!

Autor: Fran Ramírezes investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox

sábado, septiembre 28, 2024

Radio Maligna: Cómo hacer audio-podcast gratis, fácil y "flipante" con NotebookLM de Google Gemini

No soy Maligno, soy María: "¡hola!", y os he escrito este artículo para contaros cómo, con sólo "copia-pega-click", vamos a poder generar un breve podcast de audio a dos voces "flipante" sobre el tema que quieras. Es la función "Deep Dive" de NotebookLM de Google (Gemini 1.5 Pro). De momento sólo está en inglés, aunque hay otras herramientas similares en camino, como el nuevo modo conversacional de OpenAI que se está anunciando literalmente ahora mientras escribo.
Para el ejemplo del vídeo he usado este artículo de Chema Alonso llamado "Modern Times" que escribió en medio de la pandemia utilizando la mítica película de Charlot como guión, aunque como vais a ver, nos va a salir en inglés. 

1. Cómo hacer tu podcast en inglés automáticamente

Lo escribo para dummies para que lo puedas usar con toda la familia y amigos :) Antes de empezar, busca la información de la que quieras que hable tu podcast. Una sola página web es suficiente. Copia la URL de la barra de direcciones: selecciónala y Ctrl+C.
 

Ve a https://notebooklm.google y entra con tu usuario de Google. Si es la primera vez te dará la bienvenida, y esas cosas.
Dale a "Create-Crear" para empezar un proyecto.

Figura 4: Crea tu primer cuaderno

Para añadir tu documento, pulsa "Website-Sitio web" abajo en el centro (si no lo ves a simple vista, baja con el scroll).

Figura 5: Añadimos un Sitio Web

Pega en la caja de texto (Ctrl+V) la dirección web que has copiado antes. Pulsa el botón "Insert-Insertar", abajo a la derecha. Espera mientras carga.

Figura 6: La URL del post

Aquí seleccionarás "español" cuando esté disponible. Dale a "Generate-Generar" en la caja de arriba a la derecha, donde dice "Deep Dive-Conversación en profundidad". 

Figura 7: Dale a Generar

Espera a que se genere.

Figura 8: Podcast generado

Bang! Cuando tu podcast esté hecho, puedes escucharlo y descargártelo: pulsa los tres puntitos y "Download-Descargar".


Figura 9: Podcast creaado automáticamente

Aquí lo tienes - en vídeo subido a Youtube - en inglés para que puedas ver el resultado conseguido con sólo estos clics a partir de la URL del post.

2. Para cuándo en Español

Yo he montando el vídeo de ejemplo en español con toneladas de IA y muchas horas de edición. Hay herramientas speech-to-speech, pero generan un resultado horrísono. Creo que pronto se podrá hacer en español automático decente, pero no creo que debas hacerlo tú manualmente como lo he hecho yo, no merece la pena. Faltan meses o semanas para poder hacerlo en un ¡chas! sin necesidad de partirte el lomo y con buen resultado.



Mientras tanto, puedes activar subtítulos automáticos para cualquier contenido que consumas en tu Google Chrome: audios, vídeos, etcétera. Muy práctico. Así puedes generar podcasts con familiares o amigos aunque no controlen mucho inglés.

¿Por qué creo que falta poco para la versión en español? Pues porque YouTube está a punto de llegar el doblaje automático con IA (dubbing). Es el proyecto Aloud de Google,  y aunque no sé si aplicarán la misma tecnología a NotebookLM, que tiene pinta de ser independiente de Gemini,  como primera solución nos vale: conviertes el audio a vídeo, lo subes a YouTube y le pones doblaje automático con dubbing de Aloud. ¡Tadaaa! Hecho. Yo por el contrario he tenido que utilizar estas herramientas.
Yo te recomiendo que eches un vistazo a NotebookLM de vez en cuando, por si ponen "Deep Dive" en español. 

Figura 12: Sintonía de Radio Maligna hecha con SUNO

Hasta entonces, actívate los subtítulos automáticos de tu navegador, cálzate los auriculares y... Rock 'n' Roll!  que le hemos hecho hasta sintonía.

3. Notas finales

Si has visto el vídeo de ejemplo de Tiempos Modernos, el modelito ha sacado un 10/10 en comentario de texto. ¿A que sí? Pero ¿y si le damos información inaceptable? ¿Le seguirá pareciendo que todo es fabuloso? ¿Tendrá sesgos? ¿Alucinaciones? Confieso que ya lo he probado ¡mua-ha-ha! Y no pienso spoilearte los resultados. Búscale las cosquillas: es muuuy divertido XD

¡Saludos!

viernes, septiembre 27, 2024

La tertulia "En casa de Herrero" : Lauren Bacall & Canciones con IA

Este lunes no, pero el pasado, también estuve a las 17:00 horas, en la sección de una hora que se guarda para hacer una tertulia en el programa de Luis Herrero, que como sabéis se llama "En casa de Herrero". Así que para ser explícito lo llamo "La tertulia en casa de Herrero", que aún no tiene ningún nombre. Y por si no lo oíste, hoy te lo traigo como hice la semana pasada.
En dicha tertulia, Luis Herrero ha juntado a Luiz EnriquezJosé Luis Garci y a un servidor para que hablemos de lo que vaya saliendo. Así que saldrá mucha música, cine, cómics, libros y tecnología, que son los temas que nos interesan a los que allí nos vamos a juntar los lunes.
El programa lo puedes escuchar en la web, y en las plataformas de podcasts donde se encuentra, pero yo lo he recogido y subido a mi canal de Youtube para que lo podáis escuchar. Para este día me llevé lo seriales radiofónicos de Superman, y le preparé a José Luis un par de canciones con SUNO.

Figura 3: La tertulia "En casa de Herrero"

Además hablamos de los 100 años del nacimiento de la mítica Lauren Bacal, pusimos la canción de Física y Química de Despistaos, pero en lugar de cantada por el gran Daniel Marco, poniendo a Bad Bunny. Le escribimos a Krespo a ver qué le parecía, y nos contestó. También le puse a José Luis hecha por María Gómez Prieto, que después de escuchar la anécdota del primer programa, me la envío a mi buzón de MyPublicInbox... y la pusimos en antena.

También hablamos de Platoon, de la película de Cero en Conducta y del Kompendium de los comics de los Kiss que yo tengo en mi poder y lo llevé allí. Además hablamos un poquito del cómic de BlackSad que le regalé a José Luis y que, por supuesto, se lo bebió y me mandó un mensaje vía uno de sus intermediarios para decirmelo. libre.
Si quieres contactar con cualquiera de nosotros, tanto Luis Herrero como José Luis Garci, como Luiz Enriquez - y yo por supuesto - tenemos nuestros buzones de MyPublicInbox y vamos a contestar a todos los mensajes que lleguen de la audiencia, así que siéntete libre de contactarnos.  El próximo programa en el que estaré será el lunes 30 de Septiembre.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


jueves, septiembre 26, 2024

Cómo hacerte una calculadora conectada a ChatGPT y aprobar todos los exámenes #Makers

Hoy voy a escribir de este proyecto porque me ha encantado. Es muy Hacker y muy Maker, y además habla de algo que es imparable, como la es la llegada de la IA Generativa a todos los rincones del mundo, también a las calculadoras de los estudiantes.
El proyecto lo que hace es aprovecharse de los protocolos de comunicación de las famosas calculadoras de Texas-Instrumentes (una TI-84 Plus) en concreto que traen para conectar dos calculadoras por cable, y modificarlas para conectarlas a un servidor en Internet que le trae las respuestas de todos tus exámenes desde ChatGPT. Sencillo, ¿no?. Pues mola todo.

Es un proyecto de Maker, de los que tanto nos gusta hacer a nosotros, donde hemos hecho algunos muy curiosos como cuando conectamos el Macintosh a los discos virtuales infinitos de la nube, o cuando creamos nuestro mítico "Chucky" Alonso como Advanced Persistent Toy que te clona la voz y te "putea" la vida en tu casa, así que este proyecto es de los que nos molan.

Figura 3: "Chucky Alonso" con Iker Jiménez y Carmen Porter 

Las calculadoras TI-84 Plus o TI-82, tienen un jack de comunicación que está conectado a la MotherBoard de la calculadora para enviar y recibir mensajes por un protocolo de comunicación que hace tiempo que está "reverseado" y que es conocido. 
El objetivo del Hardware Hacking de esta calculadora es conectar, en lugar de la conexión por el Jack, un chip que de conectividad WiFi, que se conecte a un Hotspot WiFi que puedas configurar en tu móvil, con lo que tendría acceso a Internet.
La calculadora, desde su menú, enviaría texto, o gráficos, o números desde el menú, que serán encapsulados en el protocolo de Texas Instrument
Estos salen por el canal que lleva al Jack de comunicaciones, pero son interceptados - cambiados de potencia - y sacados por la red WiFi que lo lleva a un servidor controlado.


Este servidor decodifica la pregunta, y se la envía a ChatGPT. Recibe la respuesta, y la envía otra de vez de vuelta encapsulada en el protocolo de la Texas Instrument para que se pueda ver en la calculadora. Muy hacker.
Para poder conectar el módulo WiFi, solucionar el problema de voltaje, y conseguir que se conecte a la MotherBoard de la tarjeta, se ha construido una placa a medida que puedes ver en la Figura 6 y acoplada en la Figura 6, que permite cerrar la calculadora y soportar cualquier inspección.
El código que lleva, además, permite tener modos protegidos con contraseña para evitar que se vea en el menú ChatGPT si no se ha desbloqueado la app. Para eso hay un código en GitHub (Figura 8) que incorpora las apps al menú de la calculadora, y envía los comandos (Figura 7) al servidor que hace de conexión con ChatGPT.
En el siguiente vídeo puedes ver cómo se hace todo el proceso, pero sobre todo el proceso de razonamiento que ha llevado el creador, que es maravilloso. No te lo pierdas.

Figura 11: Creando la calculadora de aprobar exámenes con ChatGPT

Estos tipos de proyectos me parecen divertidísimos. Innovadores, sencillos, útiles, muy hackers y muy educativos. Hardware Hacking, GenAI, Makers, Reversing, Coding... lo tiene todo para ser educativo y aprender. Vamos a hacernos alguno en Ideas Locas, que me encanta.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, septiembre 25, 2024

MathPrompts Jailbreak: Cómo codificar un robo como un problema matemático para hackear a un LLM

Esta semana pasada se ha publicado un artículo académico que explica como utilizar la simbología matemática para saltarse la detección del Harmful Mode en los LLMs codificando un Prompt Malicioso como si de un problema matemático se tratase. A la técnica la han llamado MathPrompts Jailbreak. Así de curioso, y así de "hacker". Maravilloso.
El artículo, titulado: "Jailbreaking Large Language Models with Symbolic Mathematics" explica cómo las protecciones de detección de Prompt Maliciosos, lo que se llama el Harmful Mode en los LLM, no detectan en la mayoría de los casos que se trata de algo malicioso cuando se plantea con codificación matemática.
Si has estudiado matemática, te conocerás toda la simbología que te permite representar conjuntos, enunciar teoremas, o demostrar afirmaciones, usando todos esos símbolos que seguro que si repasas recordarás perfectamente.

(clic para agrandar)

Pues bien, los investigadores han demostrado que si se codifica un Prompt Malicioso como "How to rob a bank" con simbología matemática como si fuera un problema a resolver, el resultado es que se obtienen todas las respuestas que en teoría no deberían de recibirse por el bloqueo del "Harmful Mode".

Figura 4: How To Rob a Bank como MathPrompt

Para probar que la técnica funciona, lo que hicieron fue codificar 120 prompts maliciosos de los datasets más utilizados para evaluar la respuesta de los LLM, y las codificaron en un MathPrompt para probarlas contra varias versiones de GPT-4, Claude 3 y Claude 3.5, Gemini 1.5 y Llama 3.1. Los resultados, siguiendo la metodología de HarmBench publicada este año, y que define como hacer un Benchmark de una técnica de Jailbreak, fueron los siguientes.

Figura 5: Una media de 73.6%. GPT-4o un 85% de éxito

En este caso, la complejidad de entender el MathPrompt dificulta el éxito, así modelos con menos capacidades dan menos éxito en el ataque no porque detecten el Prompt Malicioso, sino porque no resuelven bien el problema. 

Figura 6: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen TorranoFran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

Como curiosidad, este es un ejemplo para codificar el Prompt Malicioso de "How to hide a corpse" (Cómo ocultar un cadaver), para que veáis la dificultad de la codificación en MathPrompt. Una línea contra una descripción completa y determinista de un problema matemático.
Y aquí está la respuesta que da al problema GPT-4o que es el que ha respondido lo que podéis ver a continuación, como solución al problema.
Si te gusta el hacking, la investigación, y seguir disfrutando de la búsqueda de vulnerabilidades, ya puedes ver como lo que aprendiste de matemáticas en el Instituto y en la Universidad se puede utilizar de forma muy correcta para tu pasión. Yo también las usaba para hacer ataques SQL Injection, en este caso con el "Arithmetical SQL Injeciton".

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

Tu Latch "Hack Your Innovation Contest": Haz un PoC & Hack por 1.000 €

El pasado Telefónica Innovation Day 2024 lanzamos oficialmente el " Tu Latch Hack Your Innovation Contest " en el que repartimos ...

Entradas populares