
منصة اختبار أمن الويب مفتوحة المصدر: وكيل و ماسح و مُشوِّش في واجهة سطر أوامر واحدة. من Pennacle Security.
واجهة سطر أوامر واحدة قابلة للبرمجة النصية لاختبار أمن الويب: ماسح ضوئي، ووكيل، وأداة تشويش، واختبار التفويض، وتحليل WAF، وكشف اختطاف الروابط، والاستطلاع.
مجاني حيث تكون البدائل المكافئة مدفوعة - من Pennacle Security.
نستخدم Burp وZAP كل يوم. كما ظللنا نرغب في ثلاثة أشياء ليستا كذلك: ماسح ضوئي يمكننا البرمجة النصية مقابله في CI، ونتائج تخبرنا بمدى يقينها، وقاعدة شيفرة صغيرة بما يكفي لقراءتها في جلسة واحدة. Summit هو ذلك الأداة - الإصدار v0.5، برخصة MIT، باعتماد واحد (requests)، مبني في العلن.
التوثيق الكامل: pennacle-security.github.io/summit
قدرات تقع عادةً خلف أدوات مدفوعة، بالإضافة إلى نواة الفحص:
| القدرة | Summit | الطريق المعتاد |
|---|---|---|
| اختبار التحكم في الوصول المكسور (BOLA/IDOR) | summit authorize | إضافة بنمط Autorize / سير عمل مدفوع |
| اكتشاف المعاملات المخفية | summit mine | إضافة بنمط Param Miner |
| الفحص المدفوع بـ OpenAPI | summit scan --openapi | إضافات |
| بصمة WAF + استكشاف التجاوز | مدمج | جزئي / إضافات |
| كشف اختطاف الروابط المكسورة | مدمج | إضافة مدفوعة |
| SQLi، XSS، إعادة التوجيه، اجتياز المسار، الاستيلاء، ترويسة المضيف، CORS | مدمج | ماسحات أساسية (مجانية) |
| سلسلة الاستطلاع: subfinder -> httpx -> nmap | summit recon | ربط يدوي |
| تحديد المعدل، إعادة المحاولات، مجموعة أدوات JWT/الترميز | مدمج | إضافات / مدفوع |
| جاهز لـ CI، نتائج مصنّفة بدرجة الثقة | هذا هو الهدف كله | أتمتة مدفوعة |
كل نتيجة تحمل تصنيف ثقة: confirmed (حقيقة مُلاحَظة) أو potential (استدلالي). هذا التمييز يسري عبر الأداة بأكملها.
git clone https://github.com/pennacle-security/summit.git
cd summit
pip install -e .
Python 3.10+. ثم شاهده يعمل ضد هدف محلي مصمم ليكون قابلاً للاستغلال:
python examples/vuln_app.py # terminal 1 - the target (127.0.0.1 only)
summit scan http://127.0.0.1:8765 # terminal 2 - the scan
تمريرة أكثر شمولاً على مهمة حقيقية تبدو هكذا:
summit recon target.com --json recon.json # subdomains -> hosts -> ports
summit scan https://target.com --depth 2 --rate 10 # crawl + all checks
summit scan --openapi api-spec.json # API: scan what the spec admits to
summit authorize https://target.com/admin?user=1 \
--role 'admin=Cookie: session=abc' \
--role 'user=Cookie: session=xyz' # BOLA/IDOR testing
كل ادعاء في هذه الصفحة يُعاد إنتاجه بواسطة examples/evidence.py - فهو يشغّل الهدف التجريبي مباشرةً، ويقيس كل ميزة، ويطبع PASS/FAIL مع الأرقام الحقيقية. تنفّذه CI عند كل دفعة؛ وأي ادعاء يتوقف عن الصمود يُفشل البناء.
python examples/evidence.py)[PASS] full scan: 16 seeded check families detected, zero false positives
53 findings in 22.9s (344 requests), missing=none, control link flagged=no, 19 finding(s) carry confidence=confirmed
[PASS] resource takeover fingerprint detected on the target's own 404
Possible AWS S3 resource takeover | AWS S3: 'nosuchbucket'
[PASS] host header injection: marker domain echoed back by the app
Host: summit-host-probe.example -> reflected (reset-link poisoning surface)
[PASS] CORS reflects an arbitrary origin with credentials allowed
ACAO: https://summit-cors-probe.example; ACAC: true
[PASS] WAF bypass: naive filter blocks, tampered payload lands decoded
raw payload -> HTTP 403 (blocked); URL-encoded once -> HTTP 200, payload reflected decoded: True
[PASS] CAPTCHA challenge detected (reported, not solved)
/login -> reCAPTCHA via marker 'recaptcha/api.js'
[PASS] rate limiting: --rate 5 paces 12 requests to ~2.2s; unlimited runs free
12 requests at rate 5 -> 2.20s (theoretical floor: 2.2s); 12 requests unlimited -> 0.02s
[PASS] concurrency on a latency-bearing target: 8 workers vs serial
40 requests x 25ms latency: serial 1.33s -> parallel 0.18s (7.3x speedup)
[PASS] smart prioritizer ranks known-injectable parameters first
probing starts with: [('query', 'search?query=laptop'), ('id', 'user?id=1'), ('url', 'example.com')]
[PASS] toolkit decodes JWT header/payload and states the signature is unverified
signature NOT verified - decoding only
[PASS] update check compares versions numerically (0.3 < 0.10)
is_outdated('0.3.0', '0.10.0') -> True; is_outdated('1.0.0', '0.9.9') -> False
[PASS] broken access control: admin panel served identically to a low-privilege role
verdict=broken; finding=Broken access control (BOLA/IDOR candidate)
[PASS] hidden parameter mining finds the undocumented debug parameter, zero noise
1 finding(s): ['debug'] (all confirmed reflections)
[PASS] openapi-driven scan: spec alone leads the engine to seeded SQLi and XSS
2 spec target(s) scanned -> 10 findings, sqli-error=yes, xss-reflection=yes
[PASS] OS command injection: marker executed and echoed by the server
semicolon: exec marker x2, control marker x1 | CWE-78
[PASS] server-side template injection: {{7*7}} came back as 49
Jinja2/Twig: {{7*7}} -> 49 | CWE-1336
[PASS] CRLF injection: X-Summit-CRLF header materialized in the response
X-Summit-CRLF: injected | CWE-113
[PASS] sensitive file exposure: /.env confirmed by content signature
content signature: 'APP_KEY=' | CWE-538
[PASS] CVE detection: Apache/2.4.49 banner maps to known CVEs
detect_cves('Apache/2.4.49') -> ['CVE-2021-41773', 'CVE-2021-42013']
evidence summary: 19/19 claims verified
صورة مرئية لعملية فحص حقيقية ضد الهدف التجريبي: