Sobre el proyecto
OAuthLint es un linter de análisis estático diseñado para detectar anti-patrones de seguridad en implementaciones de OAuth 2.0, OIDC, JWT, MCP, sesiones y CORS, especialmente aquellos producidos sistemáticamente por asistentes de codificación con IA como GitHub Copilot, Cursor y Claude Code. Es gratuito, con licencia MIT, y está construido para desarrolladores que necesitan corregir hallazgos, no solo reportarlos.
**Características clave:**
- **Más de 280 reglas curadas** en once lenguajes: JavaScript/TypeScript, Python, Go, Rust, Java, C#/.NET, PHP, Ruby, Kotlin, Swift (iOS) y Android, además de IaC/configuración (Terraform, GitHub Actions, AWS IAM).
- **Análisis de flujo de datos (taint)** para rastrear entradas no confiables hasta sumideros peligrosos (por ejemplo, open-redirect, SSRF, fugas de credenciales), detectando errores que el emparejamiento de patrones de una sola línea pasaría por alto.
- **Baja tasa de falsos positivos**, validada contra bibliotecas de autenticación reales (jose, NextAuth, PyJWT, Authlib, golang/oauth2, oauth2-rs, Spring, etc.).
- **Cobertura consciente de frameworks** para ASP.NET Core, Gin/Echo/Fiber, Hono + better-auth, FastAPI, Django/Flask, Ktor, Spring Security, Laravel/Socialite, Rails/Devise/OmniAuth/Doorkeeper, NextAuth/Passport, Express/Fastify/NestJS y más.
- **Paquete de reglas MCP dedicado** para los SDK oficiales de MCP en TypeScript y Python, detectando paso de tokens, falta de vinculación de audiencia RFC 8707, transportes no autenticados y SSRF en manejadores de herramientas.
- **Cada hallazgo enseña**: cada regla enlaza a una página de corrección con mapeos CWE y OWASP.
**Opciones de uso:**
- **CLI**: Escaneos de una sola ejecución mediante `npx oauthlint scan ./src`, con opciones para umbrales de severidad, salida JSON/SARIF/HTML, autocorrección (con simulación), escaneos incrementales (`--diff`, `--staged`) y adopción de línea base.
- **Acción de GitHub**: Basada en Docker, se ejecuta en cualquier CI, admite carga SARIF a GitHub Code Scanning y anotaciones en línea en PR.
- **Extensión de VS Code**: Disponible en VS Code Marketplace y OpenVSX (para Cursor, Windsurf, etc.), proporciona diagnósticos en línea, conteos en la barra de estado y supresiones de Quick Fix.
- **Servidor MCP**: `oauthlint-mcp` permite que herramientas de codificación con IA escaneen el código OAuth que generan en bucle.
- **Uso directo de Semgrep**: Ejecute el paquete completo de reglas con `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`.
**Filosofía de diseño:**
OAuthLint es honesto sobre su enfoque: utiliza Semgrep como motor y no reclama una ventaja técnica. Su valor radica en el paquete de reglas curado y validado, IDs de reglas consistentes entre lenguajes y documentación educativa. Se sitúa entre herramientas SAST genéricas y soluciones empresariales de IAM costosas.
**Desarrollo y contribución:**
El repositorio incluye el paquete de reglas, CLI, acción de GitHub, extensión de VS Code, servidor MCP y aplicaciones de demostración. Agregar una regla es tan simple como colocar un archivo YAML con fixtures vulnerables/seguros. El proyecto agradece informes de falsos positivos y contribuciones de nuevas reglas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.