À propos du projet

OAuthLint est un linter d'analyse statique conçu pour détecter les anti-modèles de sécurité dans les implémentations OAuth 2.0, OIDC, JWT, MCP, session et CORS—en particulier ceux systématiquement produits par les assistants de codage IA comme GitHub Copilot, Cursor et Claude Code. Il est gratuit, sous licence MIT, et conçu pour les développeurs qui ont besoin de corriger les problèmes, pas seulement de les signaler. **Fonctionnalités clés :** - **Plus de 280 règles organisées** dans onze langages : JavaScript/TypeScript, Python, Go, Rust, Java, C#/.NET, PHP, Ruby, Kotlin, Swift (iOS) et Android, ainsi que IaC/config (Terraform, GitHub Actions, AWS IAM). - **Analyse de flux de données (taint)** pour tracer les entrées non fiables vers des points sensibles (par exemple, open-redirect, SSRF, fuites d'identifiants), détectant des bugs que la correspondance de motifs sur une seule ligne manquerait. - **Faible taux de faux positifs**, validé contre de véritables bibliothèques d'authentification (jose, NextAuth, PyJWT, Authlib, golang/oauth2, oauth2-rs, Spring, etc.). - **Couverture sensible aux frameworks** pour 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, et plus encore. - **Pack de règles MCP dédié** pour les SDK MCP officiels TypeScript et Python, détectant le passage de jetons, l'absence de liaison d'audience RFC 8707, les transports non authentifiés et le SSRF dans les gestionnaires d'outils. - **Chaque constat enseigne** : chaque règle renvoie à une page de correction avec les correspondances CWE et OWASP. **Options d'utilisation :** - **CLI** : Analyses ponctuelles via `npx oauthlint scan ./src`, avec des options pour les seuils de gravité, la sortie JSON/SARIF/HTML, l'autocorrection (avec essai à sec), les analyses incrémentielles (`--diff`, `--staged`) et l'adoption de référence. - **Action GitHub** : Basée sur Docker, fonctionne dans n'importe quelle CI, prend en charge le téléchargement SARIF vers GitHub Code Scanning et les annotations de PR en ligne. - **Extension VS Code** : Disponible sur VS Code Marketplace et OpenVSX (pour Cursor, Windsurf, etc.), fournissant des diagnostics en ligne, des compteurs dans la barre d'état et des suppressions Quick Fix. - **Serveur MCP** : `oauthlint-mcp` permet aux outils de codage IA d'analyser le code OAuth qu'ils génèrent en boucle. - **Utilisation directe de Semgrep** : Exécutez le pack de règles complet avec `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`. **Philosophie de conception :** OAuthLint est honnête quant à son approche : il utilise Semgrep comme moteur et ne revendique pas d'avantage technique. Sa valeur réside dans le pack de règles organisé et validé, des identifiants de règles cohérents entre les langages et une documentation pédagogique. Il se situe entre les outils SAST génériques et les solutions IAM d'entreprise coûteuses. **Développement et contribution :** Le dépôt comprend le pack de règles, la CLI, l'action GitHub, l'extension VS Code, le serveur MCP et des applications de démonstration. Ajouter une règle est aussi simple que de déposer un fichier YAML avec des fixtures vulnérables/sûres. Le projet accueille favorablement les rapports de faux positifs et les nouvelles contributions de règles.