
ماسح أمني لـ API غير متزامن بلغة Rust لـ CORS و CSP و GraphQL و JWT و OpenAPI وفحوصات وضعية API النشطة.
إذا كان هذا المشروع يساعد في عملك، فادعم الصيانة المستمرة والميزات الجديدة.
محفظة التبرع ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
قم بمسح رمز الاستجابة السريعة أو انسخ عنوان المحفظة أعلاه.
ماسح أمان API غير متزامن ومعياري لاختبار خط الأساس للـ API واكتشاف الانحدار.
يجمع بين الاكتشاف والفحوصات المستهدفة (CORS/CSP/GraphQL/OpenAPI/JWT/API Security) باستخدام التزامن التكيفي ومخرجات جاهزة للتكامل المستمر (NDJSON/SARIF).
حالات الاستخدام: الهجوم لفرق الاختراق والاستكشاف والتحقق من صحة الاستغلال، والدفاع لفحص الانحدار في التكامل المستمر، وتقوية API المستمرة، واكتشاف الأخطاء التكوينية المبكرة.
المسح على نطاق واسع؟ انظر وضع الفرز — امسح 5000 هدف في 20 دقيقة باستخدام فحوصات الأمان الأساسية، ثم استخدم وضع الإثراء لإضافة سياق استخبارات التهديدات (المنافذ، CVEs، ASN، عمر النطاق) إلى النتائج.
ApiHunterapihunterapi_scannerapihunter (الافتراضي لـ cargo run)قم بتعيينها في إعدادات مستودع GitHub لتحسين قابلية الاكتشاف:
Async API security scanner for CORS/CSP/GraphQL/JWT/OpenAPI and active API posture checks.https://github.com/Teycir/ApiHunterrust, security, api-security, scanner, graphql, cors, csp, jwt, openapi, sarif, ndjsonflowchart LR A[CLI apihunter] --> B[main.rs] D[Input Sources] --> E[Pre-filter + Discovery] B --> C[HttpClient + Config] E --> F[runner.rs] C --> F
F --> G1[Passive scanners]
F --> G2[Active scanners]
I[template-tool] --> H[CVE templates]
H --> G2
G1 --> J[Findings]
G2 --> J
J --> K[Reporter]
K --> L[Auto Reports]
K --> M[CI/CD Controls]
## لماذا ApiHunter؟
### المزايا الأساسية
- **معمارية تركز على واجهات برمجة التطبيقات أولاً**: مصممة خصيصًا لواجهات REST/GraphQL، وليست مكيفة من ماسحات تطبيقات الويب
- **تقليل النتائج الإيجابية الخاطئة بذكاء**:
- كشف الصفحات أحادية التطبيق (SPA) مع استكشاف إشارات التحذير
- التحقق من الأسرار حسب السياق (الواجهة الأمامية مقابل الخلفية)
- التحقق من محتوى النص الأساسي والتحقق من المُحيل (Referer)
- بصمة الرد لتخطي النتائج المكررة
- **آمنة للإنتاج حسب التصميم**:
- التوافقية التكيفية (AIMD) التي تتراجع عند حدوث أخطاء
- تحديد معدل لكل مضيف مع تأخيرات قابلة للتكوين
- ضوابط الأدب (إعادة المحاولة، المهلات، تجنب جدار الحماية لتطبيقات الويب WAF)
- وضع التشغيل الجاف للفحوصات النشطة
- **التخفي والتهرب**:
- تدوير وكيل المستخدم (User-Agent) في وقت التشغيل من مجموعة منسقة (assets/user_agents.txt)
- تأخيرات عشوائية مع تشويش (jitter)
- فرض تأخير لكل مضيف (يتجنب أنماط الاندفاع)
- منطق إعادة المحاولة مع التراجع الأسي (exponential backoff)
- حقن رؤوس مخصصة للاندماج مع حركة المرور المشروعة
- توقيت تكيفي بناءً على استجابات الخادم
- لا توجد بصمات ماسح ضوئي ثابتة في الوضع الافتراضي
### نظرة متعمقة في تقنيات التخفي
يستخدم ApiHunter العديد من تقنيات التخفي لتجنب الكشف بواسطة جدران حماية تطبيقات الويب (WAF) وأنظمة الحماية من البوتات:
#### 1. تدوير وكيل المستخدم
**ما يفعله:** يقوم بالتدوير العشوائي بين أكثر من 100 سلسلة وكيل مستخدم حقيقية للمتصفحات من ملف (`assets/user_agents.txt`)
**لماذا يعمل:** عادةً ما تستخدم البوتات نفس وكيل المستخدم (مثل `curl/7.68.0`). بالتظاهر بأنك Chrome أو Firefox أو Safari وما إلى ذلك، تندمج مع حركة المرور المشروعة
**تشبيه بسيط:** مثل ارتداء تنكرات مختلفة بدلاً من ارتداء نفس الزي دائمًا
#### 2. التوقيت العشوائي والتشويش
**ما يفعله:** يضيف تأخيرات عشوائية بين الطلبات (يتم التحكم فيها بواسطة `--delay-ms`) مع تشويش (اختلافات عشوائية صغيرة)
**لماذا يعمل:** ترسل البوتات الطلبات على فترات زمنية مثالية (بالضبط 100 مللي ثانية بين كل منها). البشر غير متوقعين. التوقيت العشوائي يجعل حركة المرور تبدو عضوية
**تشبيه بسيط:** المشي بخطوات غير منتظمة بدلاً من السير كالروبوت
#### 3. فرض التأخير لكل مضيف
**ما يفعله:** يتتبع التأخير بشكل منفصل لكل نطاق، وليس بشكل عام
**لماذا يعمل:** يمنع أنماط الاندفاع حيث تصل إلى مضيف واحد 50 مرة بشكل فوري. يرى كل مضيف طلبات مهذبة ومتباعدة
**تشبيه بسيط:** التناوب في محادثات مختلفة بدلاً من الصراخ في شخص واحد مرارًا وتكرارًا
#### 4. التوافقية التكيفية (AIMD)
**ما يفعله:** يبطئ تلقائيًا عند الحصول على أخطاء 429 (تحديد معدل) أو 503 (خادم مشغول)، ويسرع عند النجاح