Sobre o projeto
OAuthLint é um linter de análise estática projetado para detectar anti-padrões de segurança em implementações de OAuth 2.0, OIDC, JWT, MCP, sessão e CORS—especialmente aqueles produzidos sistematicamente por assistentes de codificação de IA como GitHub Copilot, Cursor e Claude Code. É gratuito, licenciado sob MIT e construído para desenvolvedores que precisam corrigir descobertas, não apenas relatá-las.
**Principais Recursos:**
- **Mais de 280 regras curadas** em onze linguagens: JavaScript/TypeScript, Python, Go, Rust, Java, C#/.NET, PHP, Ruby, Kotlin, Swift (iOS) e Android, além de IaC/configuração (Terraform, GitHub Actions, AWS IAM).
- **Análise de fluxo de dados (taint)** para rastrear entrada não confiável até sinks perigosos (ex.: open-redirect, SSRF, vazamento de credenciais), capturando bugs que a correspondência de padrões de linha única não detectaria.
- **Baixa taxa de falsos positivos**, validada contra bibliotecas de autenticação reais (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 e mais.
- **Pacote de regras MCP dedicado** para os SDKs oficiais de MCP em TypeScript e Python, capturando pass-through de tokens, falta de vinculação de audiência RFC 8707, transportes não autenticados e SSRF em manipuladores de ferramentas.
- **Cada descoberta ensina**: cada regra vincula a uma página de correção com mapeamentos CWE e OWASP.
**Opções de Uso:**
- **CLI**: Varreduras únicas via `npx oauthlint scan ./src`, com opções para limites de severidade, saída JSON/SARIF/HTML, correção automática (com dry-run), varreduras incrementais (`--diff`, `--staged`) e adoção de linha de base.
- **GitHub Action**: Baseado em Docker, roda em qualquer CI, suporta upload SARIF para GitHub Code Scanning e anotações inline em PRs.
- **Extensão VS Code**: Disponível no VS Code Marketplace e OpenVSX (para Cursor, Windsurf, etc.), fornecendo diagnósticos inline, contagens na barra de status e supressões via Quick Fix.
- **Servidor MCP**: `oauthlint-mcp` permite que ferramentas de codificação de IA verifiquem o código OAuth que geram em loop.
- **Uso direto com Semgrep**: Execute o pacote completo de regras com `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`.
**Filosofia de Design:**
OAuthLint é honesto sobre sua abordagem: usa Semgrep como motor e não reivindica um fosso técnico. Seu valor está no pacote de regras curado e validado, IDs de regras consistentes entre linguagens e documentação educacional. Ele se posiciona entre ferramentas SAST genéricas e soluções empresariais caras de IAM.
**Desenvolvimento e Contribuição:**
O repositório inclui o pacote de regras, CLI, GitHub Action, extensão VS Code, servidor MCP e aplicativos de demonstração. Adicionar uma regra é tão simples quanto colocar um arquivo YAML com fixtures vulneráveis/seguros. O projeto aceita relatos de falsos positivos e contribuições de novas regras.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.