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.