Incertidumbres. VSCode, IAs y Git Hub
Foto de Steve A Johnson en Unsplash

Imagen creada por Copilot
El proyecto SOC ya esta sincronizado entre Lovable, GitHub, y VSCode.
Esa relación sera “tridireccional”. Es decir los cambios que hagamos en cualquiera de las tres, afectara a las otras dos.
A mi me interesa ahora la relación del editor con Github. Esa sera nuestra “pelea”.
Algo fundamental antes de nada, para que nuestro proyecto pueda seguir adelante es tener instalado Node.js. Como ya vimos en la anterior guía.

Lo instalamos si no lo estuviéramos ya.
Cuando pasamos el proyecto a VSCode es imprescindible y nos pedirá ejecutar un par de sentencias. Para eso debemos ir a la terminal del editor y ejecutar.
npm install
Como npm install ya lo ejecutamos la primera vez en la raíz de nuestro proyecto. Ahora no hace falta volver a ejecutarlo.
“npm install es el comando fundamental del gestor de paquetes de Node.js utilizado para descargar e instalar librerías, dependencias o módulos de código de terceros necesarios para un proyecto. Crea una carpeta node_modules/ y actualiza el archivo package.json para gestionar las versiones del software.”
Si ahora ejecutamos
npm run Devolverá

Si ejecutamos
npm run devEsta sentencia la ejecutaremos cada vez que abramos de nuevo el editor.

Veremos que ya podemos ver el proyecto en un navegador en local.

Si con Lovable tenemos tasadas las consultas como ya hemos visto en la anterior guía. Con las IAs de VSCode también tenemos restricciones pero de otra índole.
De hecho en el editor de código podemos trabajar con dos IAs. Gemini y Copilot.

Copilot viene ya integrado por defecto en VSCode. En su version gratuita nos da un máximo de correcciones y preguntas. Una vez que agotamos esa posibilidad no se reestablecera el servicio hasta nueva fecha.
He trabajado muy poco con Copilot. De hecho creo que no he llegado a finalizar ningún proyecto con esta IA.
Gemini para mi es mucho mas intuitivo. Pero ¡¡¡Ojo!!! se monta unas películas muy raras.
Y para acceder a esta herramienta la tenemos que instalar con las extensiones de VSCode.

Nos vamos a extensiones y la instalamos.

A la derecha nos aparecerá un símbolo. Una especie de estrella de cuatro puntas y ya podríamos empezar a trabajar con ella.

Nos da un mensaje de bienvenida y en la parte de abajo de la pantalla tenemos el Prompt.

Gemini también se “atasca” de vez en cuando dependiendo de los recursos de nuestro equipo o bien por que el trafico de Gemini nos dice que es muy alto.
En ese caso no te dará ninguna respuesta a tu ultima pregunta y te dará un mensaje en ese sentido.
Paciencia. Es lo único que debemos tener.
Ya podríamos empezar a trabajar.
Reproduciré alguna conversacion con Lovable y con Gemini para poner en marcha el proyecto.
Estas conversaciones son un ejemplo de lo que se le puede pedir a la IA y como me responde.
Aquí cada uno deberá tirar de su imaginación.
Lo que para mi funciona, podría no funcionar para vosotros.
Antes de instalar El servidor Ubuntu 24.04.4 para albergar Wazuh vamos a ver varias consideraciones.
En primer lugar saber que es lo que vamos a instalar.
¿Que es Wazuh?
Wazuh es una plataforma de seguridad de código abierto diseñada para la detección de amenazas, el monitoreo de la integridad y la respuesta ante incidentes.
Aunque muchos lo encasillan solo como un SIEM (gestión de eventos) o un HIDS (detección de intrusos en hosts), hoy en día se define mejor como una solución XDR (Detección y Respuesta Extendidas), ya que unifica la protección de endpoints y el análisis en la nube.
Combinándolo con TheHive, Cortex, MISP, Shuffle, OpenCTI, Velociraptor, GRR, Honeypots e integración IA con ollama no solo lo convierte en un IPS, sino que eleva la seguridad a un nivel de Defensa Activa y Orquestación Inteligente (SOAR).
Para ser precisos: un IPS tradicional suele ser una "caja" o un software que ve un patrón y bloquea. Lo que tendríamos es un Ecosistema de Respuesta ante Incidentes Moderno.
Si bien como he dicho antes, Lovable solo nos da “5 créditos” diarios. Esas “balas” aprovecharlas bien ya que Lovable a nivel de código funciona muchísimo mejor que Gemini.
La primera idea es que tal y como nos ha dado el código Lovable, creemos el script y lo lancemos.
Nos vamos a VSCode, al Generador de scripts.

En mi caso marcamos el Servidor 2
Si bajamos veremos que nos da la opción de descargar dos archivos.

docker-compose.yml
deploy.sh
Solo vamos a descargar deploy.sh, ya que docker-compose.yml lo creara el propio script.
Lo descargamos y nos lo dará con este nombre.

deploy_server2.sh
Antes de lanzar este script lo cambiaremos de nombre a:
deploy.sh

Llevamos el archivo .sh a la carpeta que consideremos.
Y una vez que tengamos Ubuntu 24.04.4 instalado veremos como se lo pasamos a ese servidor con WinSCP.
Antes de instalar el servidor un par de consideraciones.
Wazuh. ¿Docker o APT?
Instalar Wazuh con Docker ofrece rapidez, portabilidad y aislamiento; hacerlo con APT brinda mayor control, integración nativa y estabilidad a largo plazo. En esencia, Docker encapsula Wazuh en contenedores listos para usar, mientras que APT lo instala directamente en el sistema operativo, gestionando dependencias y servicios de forma tradicional.
Por lo que veremos las dos formas de instalarlo.
En este primer proyecto del que nos vamos a ocupar Wazuh esta dokerizado.
¿Que significa?
| Aspecto | Instalación con Docker | Instalación con APT (paquetes) |
|---|---|---|
| Tiempo de despliegue | Muy rápido: el entorno completo se levanta en minutos con docker compose up. Ideal para pruebas o entornos de desarrollo. | Más lento: requiere instalación manual de dependencias y configuración de servicios (Wazuh manager, indexer, dashboard). |
| Aislamiento | Cada componente corre en su propio contenedor, sin interferir con el sistema base. | Los servicios se instalan directamente en el sistema, compartiendo librerías y recursos. |
| Portabilidad | Funciona igual en cualquier máquina con Docker; fácil de mover o replicar. | Depende del sistema operativo (Debian, Ubuntu, CentOS). Migrar requiere repetir instalación. |
| Actualización | Simple: cambiar el tag de la imagen y reiniciar contenedores. | Se actualiza con apt upgrade, pero puede requerir ajustes manuales o reinicios de servicios. |
| Rendimiento | Ligero overhead por la capa de contenedores, pero estable para entornos medianos. | Rendimiento nativo, sin capa intermedia. Mejor para producción estable y grandes volúmenes. |
| Persistencia de datos | Depende de volúmenes Docker; si no se configuran bien, los datos pueden perderse al eliminar contenedores. | Los datos se guardan directamente en el sistema de archivos del servidor. |
| Escalabilidad | Fácil de escalar con Docker Compose o Kubernetes; ideal para SOCs distribuidos. | Escalado manual, requiere configurar clústeres y sincronización entre nodos. |
| Mantenimiento | Menos intervención: todo está orquestado por Docker. | Más control: el administrador puede ajustar cada servicio y dependencia. |
En términos prácticos:
Docker es perfecto para laboratorios, entornos de prueba o despliegues rápidos. El usuario obtiene un SOC funcional en minutos, con mínima configuración y máxima portabilidad.
APT es preferible para entornos de producción o SOCs permanentes, donde se busca estabilidad, rendimiento nativo y control granular sobre actualizaciones y seguridad del sistema.
Mas cuestiones. Las preguntas a las IAs
Preguntas "Ingenuas" (Para cuando no tienes ni idea)
A veces, las preguntas técnicas nos ciegan. Si un humano, en este caso yo "que no sabe nada" se sentara frente a este SOC, estas serían las preguntas que nos habrían ahorrado machismo tiempo.
Espero que con esta información a vosotros no se os haga tan largo como a mi.
1. ¿Estamos llamando a las cosas por su nombre?"(La pregunta que habría cazado el `username`). En lugar de mirar si el código es bonito, preguntar si la etiqueta es la que el programa espera.
2. Si he cambiado la contraseña, ¿por qué el otro lado sigue diciendo que no me conoce?" Esta pregunta nos habría llevado directos al bloqueo de IP (Error 3099) y a la base de datos de intentos fallidos.
3. "¿Están los papeles en la carpeta que toca?"** (La pregunta de los volúmenes). A veces damos por hecho que el archivo está dentro del contenedor, pero ¿y si la "manguera" (el volumen) está conectada al revés?
4. "¿Hemos probado a barrerlo todo y empezar de cero?" (La pregunta de la limpieza). A veces intentamos arreglar una pared que está torcida desde los cimientos. Borrar `/data` y `/certs` es el mejor remedio.
5. "¿Por qué el vecino (Manager) dice que no confía en el cartero (Indexer)?" Esta pregunta nos habría hecho mirar los certificados mucho antes.
Versión
Rutas
Certificados
Empezar por hay.
Yo la primera pregunta que haría es:
¿Cual es la ultima version de Wazuh?
Copilot me da esta respuesta.
La última versión estable de Wazuh es la 4.14.5, publicada el 23 de abril de 2026.
También existe una versión beta de la futura rama 5.x (5.0.0‑beta1), pero no es estable ni recomendada para producción.
Correcto.

Al preguntar Gemini VSCode, su respuesta fue:
La última versión estable de Wazuh es la 4.9.2, publicada el 4 de noviembre de 2024.
Incorrecto.

Después de bregar con una versión obsoleta durante demasiado tiempo y comprobar realmente que no era la ultima versión, Gemini me confeso que la fecha en la que concluyo “su entrenamiento” como IA fue en 2024.
¡¡¡OJO!!! con estas historias porque os pueden dar un montón de problemas.
Intentad comprobar desde diferentes fuentes la información recibida.
Gemini Web no te va a dar la misma información que Gemini VSCode o Copilot.
Reitero que con la paciencia de los créditos las respuestas mas certeras vienen de Lovable.
En lugar de preguntar *"¿Cómo configuro Wazuh?"*, la pregunta correcta es:
"Wazuh 4.14.4 (marzo 2026) ha cambiado esquemas de configuración en su API y Dashboard. No asumas que los parámetros de la v4.3 o v4.7 funcionan.
Revisa específicamente la estructura del archivo `wazuh.yml` para esta versión:
¿es `user` o `username`?
La Cabina de Control: El Dashboard y las 4 letras mágicas
* **El Error:** Pantalla roja, "Unauthorized" y el eterno `wazuh-wui` desconectado.
* **La Clave:** En la versión 4.14.4, el archivo `wazuh.yml` es caprichoso.
* **La Victoria:** Cambiar `user:` por **`username:`**.

Este es un ejemplo de uno de los problemas que tuve al utilizar Gemini como tutor. user vs username.
Dependiendo de la version utiliza uno u otro
Commits
Esto que voy a poner a continuación es como el Génesis. Tomarlo como referencia de lo que se va a escribir en GitHub desde el editor y así tener una copia de seguridad del proyecto.
Si por lo que sea. El equipo se va al “garete” o mas simple, el SO se va de “fiesta” y hay que formatear.
El proyecto siempre lo podrás recuperar desde tu cuenta de GitHub
Yo tengo costumbre de pedirle a Gemini que me de el commit al finalizar una sesión o cuando se acumulan cambios, por ejemplo seis cambios.
Estos cambios los podemos ver en el símbolo de los tres cuadraditos unidos. Ahí veremos un numero. Sera el numero de los cambios a realizar.

Preparar los archivos
git add .Crear el mensaje de commit (donde explicas qué has hecho)
git commit -m "Mejora del despliegue: automatización de directorios, seguridad de credenciales y soporte para IPs remotas"Subir a la nube
git pushEstos tres comandos son el A,B,C de la subida de los cambios del editor a nuestro proyecto en GitHub.
git add .
git commit -m “mensaje explicativo de lo que estamos subiendo”
git pushSi necesitas descargar las modificaciones de Lovable a VSCode ejecuta:
git pull origin mainEsto hará que si has modificado algo en Lovable y como ya esta actualizado en Git Hub te lo descargue en VSCode.
Lovable también me dio algo mas especifico.
git restore src/lib/generators/wazuh.ts
git pull origin maingit restore y la ruta al archivo que ha modificado Lovable y pasado a Git Hub
Después ejecutar:
git pull origin main
Si es la primera vez que haces push desde esta carpeta y Lovable te configuró el repo, puede que te pida credenciales. Una vez hecho, tu proyecto estará a salvo en GitHub.
Os doy una imagen ejemplo de como realizar un commit en consola desde VSCode para subir los cambios a la nube de GitHub.
No dejéis que se os acumulen los cambios.
Y pensad que es vuestro seguro de vida.

Aquí podéis ver el ejemplo.
Como no tengo nada que subir a Git Hub no realiza ninguna acción.
Una ultima historia.

Esto que veis aquí arriba es un diff que Gemini me ha pasado. Arriba a la derecha nos dará un check en gris. Si lo clicamos se pondrá en verde y ese diff, con todo el código que nos ha pasado Gemini, pasara al archivo del editor. Así de fácil.
Otras veces por el contrario nos dará el código para pasarlo en manual. Hay debemos tener mucho cuidado.

No voy a dar el código de los diff. No tendría sentido, ya que lo que para mi valdria, para vosotros igual no. Yo se lo que le he pedido a Lovable. Se lo que me ha dado. Estoy encima de mi proyecto en VSCode y las preguntas y respuesta que yo haga y reciba seguramente no sean exactas y se ajusten a lo que vosotros queréis hacer.
Con Lovable no veremos físicamente los cambios.
Pero estad seguros que los ha realizado.
Barakaldo 9 de mayo de 2026
Etiquetas:
También te podría interesar...
🔥 Lo más leído en el blog
Sobre Jose
Este autor prefiere mantener el misterio y aún no ha escrito su biografía.
Comentarios (0)
Inicia sesión para unirte a la conversación.
No hay comentarios aún. ¡Sé el primero en comentar!