このプロジェクトについて
OAuthLintは、OAuth 2.0、OIDC、JWT、MCP、セッション、CORSの実装におけるセキュリティアンチパターン(特にGitHub Copilot、Cursor、Claude CodeなどのAIコーディングアシスタントが体系的に生成するもの)を検出するために設計された静的解析リンターです。無料でMITライセンスであり、問題を報告するだけでなく修正する必要がある開発者向けに構築されています。
**主な機能:**
- **11言語にわたる280以上の厳選されたルール**: JavaScript/TypeScript、Python、Go、Rust、Java、C#/.NET、PHP、Ruby、Kotlin、Swift(iOS)、Android、さらにIaC/設定(Terraform、GitHub Actions、AWS IAM)。
- **データフロー(汚染)解析**: 信頼できない入力を危険なシンク(例:オープンリダイレクト、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ルールパック**: 公式TypeScriptおよびPython MCP SDK向けで、トークンの受け渡し、RFC 8707オーディエンスバインディングの欠落、認証されていないトランスポート、ツールハンドラーSSRFを検出します。
- **すべての発見が学びを提供**: 各ルールは、CWEおよびOWASPマッピングを含む修正ページにリンクしています。
**使用オプション:**
- **CLI**: `npx oauthlint scan ./src`によるワンショットスキャン。重大度しきい値、JSON/SARIF/HTML出力、自動修正(ドライラン付き)、増分スキャン(`--diff`、`--staged`)、ベースライン採用のオプションを提供。
- **GitHub Action**: Dockerベースで、任意のCIで実行可能。GitHub Code ScanningへのSARIFアップロードとインラインPR注釈をサポート。
- **VS Code拡張機能**: VS Code MarketplaceおよびOpenVSX(Cursor、Windsurfなど向け)で利用可能。インラインダイアグノスティック、ステータスバーカウント、クイックフィックス抑制を提供。
- **MCPサーバー**: `oauthlint-mcp`により、AIコーディングツールが生成したOAuthコードをループ内でスキャンできます。
- **Semgrep直接使用**: `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`で完全なルールパックを実行。
**設計思想:**
OAuthLintはそのアプローチについて正直です。エンジンとしてSemgrepを使用し、技術的な堀を主張しません。その価値は、厳選され検証されたルールパック、言語間で一貫したルールID、教育的なドキュメントにあります。汎用SASTツールと高価なエンタープライズIAMソリューションの中間に位置します。
**開発と貢献:**
リポジトリには、ルールパック、CLI、GitHub Action、VS Code拡張機能、MCPサーバー、デモアプリが含まれています。ルールの追加は、脆弱/安全なフィクスチャを含むYAMLファイルを置くだけです。このプロジェクトは、誤検知の報告と新しいルールの貢献を歓迎します。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.