Saltar al contenido
Open Security

Contribuir

Sumá un lab, corregí un error, mejorá el material

Esto es open source y se construye en público. Si encontrás algo que está mal o querés enseñar un tema, tu aporte es bienvenido.

Reglas básicas

  • Español con voseo, tono directo y técnico.
  • Cada lab termina con evidencia: comandos, writeup, diagrama o screenshot.
  • Todo es defensivo, educativo, reproducible y seguro. Preferí labs locales, ejemplos de juguete y credenciales falsas.
  • Nada de secretos reales, tokens, IPs privadas, datos de clientes o empleadores, ni account IDs de cloud reales.

Cómo agregar un lab

Un lab es un archivo .mdx dentro de la carpeta de su ruta. Por ejemplo, un lab de Linux va en src/content/labs/linux-real/.

  1. Cloná el repo y corré npm install.
  2. Creá src/content/labs/<ruta>/<slug>.mdx con el frontmatter de abajo.
  3. Escribí la lección usando los componentes (Callout, TerminalBlock…).
  4. Verificá con npm run check y mirá el resultado con npm run dev.
  5. Abrí un Pull Request.

Frontmatter de un lab

---
title: "Título del lab"
description: "Una línea que explica qué se aprende."
path: "linux-real"            # slug de la ruta
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"
contributor: "TuUsuarioDeGitHub"  # opcional; default: el mantenedor
---

El campo contributor es tu handle de GitHub. Aparece con tu nombre y tu avatar en la card del lab y en los agradecimientos de abajo. Agregate a src/data/contributors.ts con tu handle, nombre y rol; el avatar se toma de github.com/<handle>.png.

Componentes disponibles

Importalos al principio del .mdx y usalos en el cuerpo:

  • <Callout type="concepto" /> — concepto clave.
  • <Callout type="comando" /> — explicación de un comando.
  • <Callout type="error" /> — error común.
  • <TerminalBlock> — bloque de terminal estilizado.
  • <Mermaid code={`...`} /> — diagrama (flowchart, sequence…).
  • <Quiz questions={[...]} /> — mini-juego de opción múltiple.
  • <PermissionsGame /> — juego de permisos rwx → octal.

La evidencia, el reto y los labs siguientes se generan desde el frontmatter; no hace falta agregarlos a mano en el cuerpo.

Agradecimientos

Gente que construyó esto

Open Security Labs existe gracias a quienes escriben labs, corrigen errores y mejoran el material. 1 persona y 11 commits hasta hoy. Gracias 🙌

Para detalles completos mirá CONTRIBUTING.md, AGENTS.md y SECURITY.md en el repositorio.