No podés defender sistemas que no entendés cómo funcionan.
Plataforma educativa abierta y en español para aprender Linux, redes, backend, arquitectura, cloud, producción, DevSecOps, agentes de IA y ciberseguridad entendiendo los sistemas de verdad.
Creado por VT Security, el espacio de Valentín Torassa Colombero.
Escribo notas largas en vtsecurity.com.ar: Linux, Git y seguridad, con las figuras y los comandos que uso de verdad.
Un sitio estático, rápido y liviano construido con Astro. No hay backend, ni base de datos, ni login, ni analytics. Todo el contenido es Markdown/MDX versionado en este repo.
El material está pensado en español rioplatense (voseo) para Argentina y LatAm, con un tono directo y técnico.
- Estudiantes y juniors entrando a ciberseguridad o IT, sin timelines de fantasía.
- Programadores y backend devs que quieren entender por qué algo falla en producción y no solo en localhost.
- Gente de infra, DevOps y cloud que quiere dejar de tratar la nube como magia.
- Curiosos del bajo nivel que prefieren entender el mecanismo antes que coleccionar herramientas.
| Ruta | Foco |
|---|---|
| Linux Real | Filesystem, usuarios, permisos, procesos, systemd, logs, red desde el SO. |
| Redes e Internet | TCP/IP, DNS, HTTP/HTTPS, TLS, puertos, routing, NAT, firewalls. |
| Backend y Arquitectura | APIs, authn vs authz, JWT, sesiones, IDOR, colas, observabilidad, tradeoffs. |
| Cloud y Producción | AWS, IAM, S3, VPC, CloudTrail, CloudWatch, incidentes, blast radius. |
| Ciberseguridad Práctica | Seguridad web, OWASP API, threat modeling, hardening, detección. |
| DevSecOps y Agentes | CI/CD security, GitHub Actions, secret scanning, Docker, permisos de agentes. |
Dos labs se apoyan en otros repos públicos. Siguen viviendo en su repo; acá quedan enlazados:
- Linux-Study-Notes-VT: notas sobre el funcionamiento interno de Linux, tomadas estudiando para la LFCA, en inglés (CC BY 4.0). El lab Del comando al kernel adapta y traduce su sección "01 · big picture".
- PhantomLog: rastreador de
clics en Flask para simulaciones de phishing autorizadas (Apache-2.0). El lab
Medir una simulación de phishing sin vigilar a nadie
corre una versión de PhantomLog en su entorno con Podman, en
entornos/ciberseguridad/medir-simulacion-phishing/.
Necesitás Node.js 22+ y npm.
git clone <url-del-repo> open-security-labs
cd open-security-labs
npm install
npm run devAbrí http://localhost:4321.
| Script | Qué hace |
|---|---|
npm run dev |
Servidor de desarrollo con hot reload. |
npm run build |
Build estático de producción en dist/. |
npm run preview |
Sirve el build de producción localmente. |
npm run check |
Chequeo de tipos y de contenido con astro check. |
npm run format |
Formatea el código con Prettier. |
npm run lint |
Verifica formato + chequeo de Astro. |
npm run lab:check |
Corre las comprobaciones locales de los labs (solo 127.0.0.1 y archivos temporales) y valida la convención de entornos. Con un id (-- linux-real/permisos-en-octal) corre lab-check en el entorno abierto. |
npm run lab:env |
Construye, abre y prueba los entornos con Podman de los labs (list, build, run, smoke). |
El sitio es estático y se publica en Vercel (integración de Git del proyecto
open-security-labs, sin workflow de deploy propio). El dist/ también sirve tal
cual en cualquier hosting estático.
La URL canónica es https://securitylabs.valentorassa.com. En Settings → Domains
del proyecto de Vercel, los dominios opensecuritylab.com.ar,
opensecuritylab.online y opensecuritylab.store (con y sin www),
labs.valentorassa.com y vt-security-labs.vercel.app redirigen con 308
al dominio canónico. Vercel conserva ruta y parámetros. Esa configuración vive
en el proyecto, no en vercel.json; verificála al migrar o recrear el deploy.
entornos/<ruta>/<slug>/ # entorno con Podman de un lab (opcional)
src/
├─ content/labs/<ruta>/<slug>.mdx # cada lab es un archivo MDX
├─ data/paths.ts # las rutas de aprendizaje (datos)
├─ components/ # Callout, TerminalBlock, LabCard, etc.
├─ layouts/BaseLayout.astro
├─ pages/ # rutas del sitio
└─ content.config.ts # schema (frontmatter) de los labs
Un lab vive en src/content/labs/<ruta>/<slug>.mdx y se valida contra el
schema de src/content.config.ts. El cuerpo del lab usa componentes como
<Callout> y <TerminalBlock>; la evidencia, el reto y los labs siguientes se
generan automáticamente desde el frontmatter.
Si el lab se practica mejor en un contenedor, su entorno vive en
entornos/<ruta>/<slug>/: un Containerfile, un lab-check que revisa la
evidencia y un README. La convención está en
entornos/README.md.
-
Creá
src/content/labs/<ruta>/<slug>.mdx. -
Completá el frontmatter (mirá cualquier lab existente como plantilla):
--- title: "Título del lab" description: "Una línea que explica qué se aprende." path: "linux-real" # debe coincidir con un slug de paths.ts order: 1 # orden dentro de la ruta (menor primero) level: "beginner" # beginner | intermediate | advanced estimatedMinutes: 30 prerequisites: ["Una terminal en Linux o WSL"] objectives: ["Qué vas a poder hacer al terminar"] evidence: ["El artefacto que deja el lab"] commands: ["id", "ls -l"] challenge: "El enunciado del reto final." nextLabs: ["redes-internet/una-request-no-es-magia"] tags: ["linux"] ---
Opcional:
resourcessuma material para ver o leer. Un video de VT Security va contype: "video",title,url(https://www.youtube.com/watch?v=<id>) y unanotede una línea, y solo si trata el mismo tema o herramienta del lab. -
Escribí la lección. Importá los componentes que necesites arriba del MDX.
-
Verificá con
npm run checky mirá el resultado connpm run dev. -
Abrí un Pull Request. Mirá
CONTRIBUTING.md.
Este es un repositorio público y educativo. Antes de subir cualquier cosa:
- No incluyas secretos reales, tokens, claves, IPs privadas, datos de clientes o empleadores, ni account IDs/ARNs reales de cloud.
- Usá ejemplos de juguete, datos sintéticos y credenciales falsas.
- El contenido ofensivo se enmarca de forma defensiva y reproducible en labs locales. Nada que apunte a sistemas reales de terceros.
Detalles en SECURITY.md y AGENTS.md.
Apache-2.0. Pensado para reuso educativo amplio: podés enseñar con este material, adaptarlo y compartirlo, manteniendo la atribución.
VT Security · Creado en Argentina 🇦🇷 · La evidencia se construye haciendo.