🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónLinter de contratos y reglas de seguridad
5 tareas · 38 min · Principiante
Un contrato OpenAPI describe qué ofrece una API: rutas, parámetros, respuestas y credenciales. Un linter lo lee sin tocar ninguna API y lo contrasta con un conjunto de reglas del equipo. En Mayoristas Boquerón lees el contrato de pedidos, el conjunto de reglas del repositorio y la salida del linter, y aprendes lo que un resultado limpio demuestra y lo que no. Todo es lectura de archivos ficticios.
Objetivo de la sala
Un contrato OpenAPI describe qué ofrece una API: rutas, parámetros, respuestas y credenciales. Un linter lo lee sin tocar ninguna API y lo contrasta con un conjunto de reglas del equipo. En Mayoristas Boquerón lees el contrato de pedidos, el conjunto de reglas del repositorio y la salida del linter, y aprendes lo que un resultado limpio demuestra y lo que no. Todo es lectura de archivos ficticios.Un linter de contratos analiza el archivo del contrato como texto estructurado: no envía una sola petición. Aplica reglas escritas por el equipo (por ejemplo «toda operación declara su seguridad» o «todo parámetro numérico tiene un máximo») y avisa de lo que no las cumple. Es barato, rápido y se corre en cada cambio.
Su límite es que solo ve el contrato. Si el servidor real hace algo distinto de lo escrito, el linter no se entera. Un resultado limpio dice «el contrato cumple las reglas»; no dice «la API cumple el contrato».
Responde para continuar
¿Qué demuestra una salida limpia del linter sobre el contrato de una API?
Ver pista de ayuda
Piensa en qué archivo analiza el linter y en qué no puede ver.
El conjunto de reglas vive en el repositorio (aquí, .spectral.yaml). Cada regla tiene una severidad: error (rompe el trabajo de CI), warn (avisa), info o off (apagada, no se evalúa). Apagar una regla es una decisión de gobierno que debe tener dueño y motivo; si nadie la recuerda, un control desaparece sin que nadie lo decida.
Abre el conjunto de reglas del repositorio y busca cuál está apagada.
Responde para continuar
Escribe el nombre de la regla que está apagada (severidad off).
Ver pista de ayuda
Con la terminal, `cat .spectral.yaml` y mira la severidad de cada regla.
Solo los resultados con severidad error rompen el trabajo; los warning se acumulan. Un equipo que no distingue unos de otros acaba ignorando ambos. Leer una salida es contar por severidad, no por volumen.
Lee la salida del linter sobre el contrato de pedidos y cuenta las líneas que son errores.
Responde para continuar
¿Cuántos resultados con severidad error hay en la salida del linter?
Ver pista de ayuda
Abre `salida/lint-pedidos.txt` y cuenta solo las líneas marcadas `error`.
Una regla puede estar bien escrita y aun así dejar pasar lo que no debe. La regla de seguridad del equipo comprueba que cada operación tenga la clave security; no examina lo que dice. En OpenAPI, una operación con security: [] declara una lista vacía: significa «esta operación no exige ninguna credencial» y sustituye a cualquier requisito global.
Cruza el contrato con el conjunto de reglas: busca la operación que se declara sin credencial, con una descripción que sugiere datos que no deberían ser públicos, y que el linter no marca.
Responde para continuar
Escribe el operationId de la operación que se declara sin credencial y que el linter no marca.
Ver pista de ayuda
Busca `security: []` en `contratos/pedidos.yaml` y comprueba si esa operación aparece en la salida del linter.
La regla no falla: hace exactamente lo que su descripción dice. El problema es lo que se le pidió. Mejorarla significa pedirle más: distinguir una lista vacía de una lista con credenciales y exigir que las operaciones públicas estén en una lista de excepciones con dueño.
Responde para continuar
¿Cómo se corrige la regla de seguridad que deja pasar una operación sin credencial?
Ver pista de ayuda
La regla dejó pasar algo por lo que comprueba, no por un error de la herramienta.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.