عن المشروع
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، بالإضافة إلى البنية التحتية كرمز (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 مخصصة** لـ SDKs الرسمية لـ TypeScript وPython MCP، لاكتشاف تمرير الرموز، وغياب ربط الجمهور RFC 8707، والنقل غير المصادق عليه، وSSRF في معالجات الأدوات.
- **كل اكتشاف يعلم**: كل قاعدة ترتبط بصفحة إصلاح مع تعيينات CWE وOWASP.
**خيارات الاستخدام:**
- **CLI**: عمليات فحص لمرة واحدة عبر `npx oauthlint scan ./src`، مع خيارات لعتبات الخطورة، وإخراج JSON/SARIF/HTML، والإصلاح التلقائي (مع تشغيل تجريبي)، والفحوصات المتزايدة (`--diff`، `--staged`)، واعتماد خط الأساس.
- **إجراء GitHub**: يعتمد على Docker، ويعمل في أي CI، ويدعم تحميل SARIF إلى GitHub Code Scanning والتعليقات المضمنة على طلبات السحب.
- **امتداد VS Code**: متوفر في VS Code Marketplace وOpenVSX (لـ Cursor وWindsurf وغيرها)، ويوفر تشخيصات مضمنة وعدادات في شريط الحالة وتثبيتات سريعة للقمع.
- **خادم MCP**: `oauthlint-mcp` يسمح لأدوات البرمجة بالذكاء الاصطناعي بفحص كود OAuth الذي تولده في الحلقة.
- **الاستخدام المباشر لـ Semgrep**: تشغيل حزمة القواعد الكاملة مع `semgrep --config https://oauthlint.dev/r/oauthlint.yaml ./src`.
**فلسفة التصميم:**
OAuthLint صادق بشأن نهجه: يستخدم Semgrep كمحرك له ولا يدعي وجود ميزة تقنية حصرية. تكمن قيمته في حزمة القواعد المنسقة والمتحقق منها، ومعرفات القواعد المتسقة عبر اللغات، والتوثيق التعليمي. وهو يقع بين أدوات SAST العامة وحلول IAM المؤسسية باهظة الثمن.
**التطوير والمساهمة:**
يتضمن المستودع حزمة القواعد وCLI وإجراء GitHub وامتداد VS Code وخادم MCP وتطبيقات تجريبية. إضافة قاعدة بسيطة مثل إسقاط ملف YAML مع نماذج ضعيفة وآمنة. يرحب المشروع بتقارير النتائج الإيجابية الخاطئة ومساهمات القواعد الجديدة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.