Об этом проекте
OAuthLint — это статический анализатор, предназначенный для выявления антипаттернов безопасности в реализациях OAuth 2.0, OIDC, JWT, MCP, сессий и CORS, особенно тех, которые систематически создают ИИ-ассистенты по программированию, такие как GitHub Copilot, Cursor и Claude Code. Он бесплатный, распространяется под лицензией MIT и создан для разработчиков, которым нужно исправлять находки, а не просто получать отчёты.
**Ключевые возможности:**
- **280+ тщательно отобранных правил** для одиннадцати языков: JavaScript/TypeScript, Python, Go, Rust, Java, C#/.NET, PHP, Ruby, Kotlin, Swift (iOS) и Android, а также для IaC/конфигураций (Terraform, GitHub Actions, AWS IAM).
- **Анализ потоков данных (taint-анализ)** для отслеживания недоверенного ввода до опасных мест использования (например, open-redirect, SSRF, утечки учётных данных), что позволяет находить ошибки, которые пропускает построчное сопоставление шаблонов.
- **Низкий уровень ложных срабатываний**, проверенный на реальных библиотеках аутентификации (jose, NextAuth, PyJWT, Authlib, golang/oauth2, oauth2-rs, Spring и др.).
- **Учёт особенностей фреймворков** для 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 и других.
- **Отдельный набор правил для MCP** для официальных SDK MCP на TypeScript и Python, выявляющий сквозную передачу токенов, отсутствие привязки аудитории по RFC 8707, неаутентифицированные транспорты и SSRF в обработчиках инструментов.
- **Каждая находка обучает**: каждое правило ссылается на страницу с исправлением и сопоставлениями CWE и OWASP.
**Варианты использования:**
- **CLI**: однократные сканирования через `npx oauthlint scan ./src` с опциями порогов серьёзности, вывода JSON/SARIF/HTML, автоисправления (с пробным запуском), инкрементальных сканирований (`--diff`, `--staged`) и внедрения базовых показателей.
- **GitHub Action**: на основе Docker, работает в любом CI, поддерживает загрузку SARIF в GitHub Code Scanning и встроенные аннотации в PR.
- **Расширение для VS Code**: доступно в VS Code Marketplace и OpenVSX (для Cursor, Windsurf и др.), обеспечивает встроенную диагностику, счётчики в строке состояния и подавление через Quick Fix.
- **MCP-сервер**: `oauthlint-mcp` позволяет ИИ-инструментам программирования сканировать генерируемый ими OAuth-код в цикле.
- **Прямое использование Semgrep**: запуск полного набора правил командой `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`.
**Философия дизайна:**
OAuthLint честно говорит о своём подходе: он использует Semgrep в качестве движка и не заявляет о техническом преимуществе. Его ценность заключается в тщательно отобранном и проверенном наборе правил, согласованных идентификаторах правил для разных языков и обучающей документации. Он занимает промежуточное положение между универсальными SAST-инструментами и дорогими корпоративными решениями IAM.
**Разработка и участие:**
Репозиторий включает набор правил, CLI, GitHub Action, расширение для VS Code, MCP-сервер и демонстрационные приложения. Добавление правила сводится к размещению YAML-файла с уязвимыми и безопасными примерами. Проект приветствует сообщения о ложных срабатываниях и новые правила.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.