
pentest-ai v1.2.0
مختبِر اختراق بالذكاء الاصطناعي مفتوح المصدر يُثبت كل اكتشاف. أوراكل آلية تعيد تنفيذ كل استغلال؛ والثغرات المؤكَّدة تُصدِر كبسولة إثبات يمكنك إعادة تشغيلها بنفسك.
pentest-ai
لا يرفع علمًا. إنه يُثبت.
الموقع الإلكتروني · التثبيت · لماذا التحقق · المعايير · الحدود · Discord
⚠️ أدوات هجومية، للاختبار المصرح به فقط. بتثبيتك فأنت تقبل AUP والشروط. انظر الاستخدام المسؤول ↓
دقيقتان، بدون مفتاح API، وبدون هدف خاص بك
pip install ptai && ptai demo
ptai demo يفحص تطبيقًا ضعيفًا مرفقًا ويطبع 4 findings, 3 oracle-VERIFIED.
يعيد تشغيل واحدًا مباشرةً من كبسولة إثبات (replay 3/3)، ثم يشغّل نفس المسارات
محصّنةً ويطبع 0 findings.
لاحظ أمرين. النتائج تظهر وتختفي مع الثغرة وليس لأن الأداة صمتت — الشيء الوحيد الذي تغيّر بين التشغيلين هو الإصلاح. وواحدة من الأربع تبقى مرشحة: تجاوز تسجيل الدخول عبر SQLi حقيقي، لكن لا يمكن لأي oracle إعادة إثباته على ذلك المسار، لذا لا يحصل على شارة. تلك الفجوة هي عمل المنتج، وليست خطأً في العرض التوضيحي.
ما يعنيه VERIFIED هنا فعليًا
معظم الماسحات تخبرك أن شيئًا ما قد يكون قابلًا للاستغلال وتترك الفرز لك. يعامل ptai النتيجة كـمرشحة حتى يعيد oracle آلي مسمّى تشغيل الاستغلال ويعيد إنتاجه N من أصل N مرة. عندها فقط تستحق VERIFIED.
ثلاث خصائص تجعل ذلك أكثر من مجرد شعار:
لا يصدر أي LLM حكمًا أبدًا. القاعدة مُنفَّذة في الكود، وليس بالسياسة: أي حكم لا يمكنه تسمية الـ oracle الذي حصل عليه يُرفض. ينسّق LLM التشغيل ويستنتج حول النتائج. لا يقرر أبدًا ما إذا كان الخطأ حقيقيًا.
لكل oracle عنصر تحكم يجب أن يفشل. تجاوز رأس موثوق يجب أن يعيد محتوى مميزًا مع الرأس ورفضًا بدونه. فحص بيانات الاعتماد المسربة يجب أن يُقبل للسر الحقيقي ويُرفض لنسخة مفسدة عمدًا. نقطة نهاية تستجيب بـ 200 لكل شيء لا تكسب شيئًا. هذا ما يمنع "أعاد 200" من أن يُخلط بينه وبين إثبات.
مخرجات الماسحات الخارجية تُحتجز. نتائج nuclei وnikto وzap لا تصبح نتائج بسلطتها الخاصة. تبقى غير مُتحقق منها حتى يعيد أحد oracles الخاصة بـ ptai إثباتها بشكل مستقل.
كل نتيجة VERIFIED تُسلَّم كـكبسولة إثبات محمولة — النتيجة،
وصفة إعادة إثباتها، والإيصال. يمكن لأي شخص ptai replay تشغيلها ضد
الهدف المباشر ومشاهدة الـ oracle يعيد التأكيد، بدون الثقة بـ ptai. الكبسولات
غير موقعة عمدًا: إعادة التشغيل هي آلية الثقة، وليست توقيعًا يجب أن
تأخذه على الإيمان.
أرقام صادقة
| فئات الثغرات مع oracle يعمل | 14 |
| المجسات في المكتبة | 63 |
| المجسات التي يمكنها كسب VERIFIED | 28 |
| أنواع الـ oracle | 23 |
| أغلفة الأدوات | 203 |
| …التي تحلل المخرجات إلى نتائج اليوم | 18 |
| أدوات MCP | 52 |
| وكلاء متخصصون | 18 |
| الاختبارات | 2,729 على Python 3.10 / 3.12 / 3.14 |
على honeypot ضعيف عمدًا، تتحقق 23 نتيجة عبر تلك الفئات الـ 14 بدقة 100% مع صفر نتائج إيجابية خاطئة. على OWASP Juice Shop قياسي، تتحقق 12 في فحص واحد.
اقرأ تلك الأرقام بعناية، لأن الفجوات هي النقطة. توجد 63 مجسًا لكن 28 فقط يمكنها كسب حكم؛ الـ 35 الأخرى تبلغ عن مرشحين صادقين. 203 أغلفة مسجلة لكن 18 فقط تحول مخرجات الأدوات إلى نتائج — الباقي يعمل ويعيد نصًا خامًا. بوابة الـ oracle تشتري الدقة، وليس معدل الالتقاط: إنها تزيل النتائج الإيجابية الخاطئة، ولا تجد المزيد من الأخطاء.
منصة honeypot (tests/honeypot/) وبوابة صفر نتائج إيجابية خاطئة
لتطبيق نظيف (tests/cleanapp/) كلاهما مرفق في هذا
المستودع ويعملان في CI، لذا فهذه قابلة لإعادة الإنتاج وليست لقطات شاشة.
ما لا يفعله
مذكور بوضوح، لأن أداة أمنية تبالغ في نفسها أسوأ من عديمة الفائدة.
- إنه ماسح تطبيقات ويب. جميع المجسات الـ 63 وجميع أنواع الـ oracle الـ 23 تستهدف HTTP. AD والسحابة والجوال واللاسلكي لها وكلاء وأغلفة أدوات، لكن لا مكتبة مجسات ولا oracles خلفها.
- لا يمكنه تصعيد الامتيازات المحلية. ذلك يتطلب تنفيذ كود على مضيف
تملكه بالفعل. يختبر ptai عن بُعد وليس لديه مثل هذه القناة، لذا وكيل
privesc يبلغ
unsupportedبدلًا من صفر مضلل. - ليس ماسح CVE. لا توجد قاعدة بيانات إصدار-إلى-CVE ولا مكتبة استغلال. عمل CVE محدود بعمليات بحث osv.dev على الملفات المسربة.
- الـ Playbooks تخطط، لا تنفذ.
ptai playbook runيحل التبعيات ويطبع الخطة. تشغيله ضد هدف غير موصول بعد. - ليس مستقلًا. وكلاء اختبار الاختراق LLM المستقلون تمامًا ينهون 21–31% من المهام من البداية إلى النهاية؛ الإعدادات بمساعدة بشرية تصل إلى 64%. ptai مبني للنظام الثاني. اضغط Ctrl+C مرتين لتتولى الأمر في منتصف التشغيل.
قائمة العيوب الداخلية الكاملة، بما في ذلك كل ما سبق، تُتتبع علنًا بدلًا من الصمت. إذا كان شيء هنا خاطئًا، افتح مشكلة وسيتم تصحيحه.
التثبيت
المسار 1 — قُده من Claude Code أو Cursor أو Codex (بدون مفتاح API)
اشتراكك الحالي في الذكاء الاصطناعي هو الـ LLM. يوفر ptai الأدوات.
pip install ptai
ptai mcp install # يكتشف تلقائيًا عملاء MCP لديك ويكتب إعداداتهم
أعد تشغيل العميل وستجد 52 أداة هناك. لا حاجة لمفتاح Anthropic على هذا المسار — خادم MCP لا يستضيف أي LLM خاص به بحكم التصميم.
المسار 2 — CLI مستقل
pip install ptai
export ANTHROPIC_API_KEY=sk-... # أو OPENAI_API_KEY
ptai start https://target.example.com
# محلي بالكامل، بدون سحابة:
export PENTEST_AI_LLM_PROVIDER=ollama
# أو حتمي، بدون LLM إطلاقًا:
ptai start https://target.example.com --no-llm
الإنفاق محدود بـ $10 لكل مهمة افتراضيًا (PTAI_PRICE_LIMIT).
أدوات الأمان وREST API وخيارات أخرى
ptai tools install --tier core # أو recommended / full
ptai tools install nmap nuclei # أو بالاسم
ptai serve # HTTP REST + WebSocket للوحات المعلومات
ptai menu # مشغل تفاعلي، بدون LLM
في بداية المهمة يتنبأ المخطط بالأدوات التي ستحتاجها وتُسأل مرة واحدة لتثبيت المفقودة. ارفض وسيستمر الرفض.
المعايير
قابلة لإعادة الإنتاج، في git، مع قطع أثرية خام. لا "معدل اكتشاف 98.7%" لا يمكنك تدقيقه.
| الأداة | النتائج | Critical+High | مجموعات OWASP | معدل FP |
|---|---|---|---|---|
| ptai | 88 | 46 | 5 | 0% |
| ZAP 2.17.0 | 593 | 0 | 1 | 47% |
| Nuclei 3.8.0 | 1 | 0 | 1 | 0% |
| HexStrike v6.0 | 11 | 0 | 1 | – |
n=1، مُقيَّم واحد، لقطة واحدة على OWASP Juice Shop. المنهجية والمخرجات الخام في
benchmarks/؛ الشرح الكامل في docs/benchmarks/juice-shop.md.
القراءة الصادقة: ptai قوي على أهداف الويب SPA مع تغطية مجسات منسقة. HexStrike أوسع (سحابة، ثنائي، CTF) ومن المرجح أن يتفوق على ptai على الأسطح القابلة للزحف التقليدية مثل WordPress. Juice Shop أيضًا أكثر تطبيق ضعيف موثقًا على الإنترنت، لذا كل من الـ LLM ومؤلفي المجسات لديهم بداية مبكرة — وهذا هو بالضبط سبب كون رقم honeypot الخاص أقل، ولماذا يُنشر كلاهما.
أدرجه في CI
- run: pip install ptai
- run: ptai start ${{ vars.STAGING_URL }} --ci --fail-on verified --sarif pentest.sarif
- uses: github/codeql-action/upload-sarif@v3
with: { sarif_file: pentest.sarif }
--fail-on verified يكسر البناء فقط على نتيجة أثبتها oracle فعليًا،
لذا لا يمكن للبوابة أن تُثار بضوضاء الماسح. SARIF يُرفع إلى GitHub Code
Scanning، والنتائج تُنشر كتعليق على PR. قوالب GitLab وJenkins في
docs/ci-cd.md.
كيف يعمل
recon ──▶ auth ──▶ web ──┬──▶ ad
├──▶ cloud ┌──────────────────┐
└──▶ api ──────────▶│ findings DB │
│ scope-guarded │
└────────┬─────────┘
▼
verify (oracles, N/N)
▼
chain ─▶ validate ─▶ detect ─▶ report
md · html · pdf · SARIF · JUnit
18 وكيلًا متخصصًا يشغلون المراحل. مع مفتاح API يستخدم كل واحد LLM للاستنتاج حول النتائج؛ بدونه يعمل كحلقة أدوات حتمية. ترتيب المراحل والكشف متطابقان في كلتا الحالتين — المجسات تجد الأخطاء، والـ LLM ينسق فقط.
لمن هو
فرق AppSec التي تربط فحصًا مصادقًا بكل PR، مع بوابة لا تُثار إلا على نتائج مثبتة. المستشارون الذين يريدون تقريرًا يكتب نفسه و كبسولة يمكن لمهندسي العميل إعادة تشغيلها. صيادو مكافآت الأخطاء الذين يفضلون فرز 12 نتيجة مثبتة على 600 احتمال. مستخدمو Claude Code / Cursor / Codex الذين يريدون أدوات حقيقية خلف مساعدهم دون فاتورة API أخرى.
اعمل معي
الأداة MIT ومجانية للأبد — لن يتغير ذلك.
إذا كنت تريد اختبار اختراق مُسلَّمًا بدلًا من تشغيله بنفسك، أو مساحة عمل مستضافة مع سجل ووصول للفريق، كلاهما في pentestai.xyz. كل نتيجة في مهمة مُسلَّمة تأتي مع كبسولة إثبات يمكن لمهندسيك إعادة تشغيلها بأنفسهم، وهو قطعة أثرية مختلفة جوهريًا عن PDF مليء بتصنيفات الخطورة.
أسئلة: [email protected]
الاستخدام المسؤول
ينفذ ptai عمليات شبكة ومضيف حقيقية ضد الأهداف التي تحددها. أنت وحدك المسؤول عن الحصول على إذن كتابي صريح لكل هدف. اختبار أنظمة لا تملكها قد ينتهك قانون الاحتيال وإساءة استخدام الحاسوب، وقانون إساءة استخدام الحاسوب 1990، والمادة 32 من GDPR، وما يعادلها في أماكن أخرى.
أول تشغيل يطالب بقبول AUP ويحفظه. اضبط
PENTEST_AI_AUP_ACCEPTED=1 في CI. تُرفض المضيفات خارج النطاق عند
وقت استدعاء الأداة. ثلاثة حواجز حماية تُشحن معطلة افتراضيًا وتستحق
التفعيل: intensity=safe يتخطى المجسات التي تغير الحالة، وrespect_rate_limits يحترم
429/Retry-After، وstrict_scope يرفض الطلبات خارج المضيف.
استدعاءات خارج النطاق (OAST) — الخصوصية
الفئات العمياء (SSRF/SQLi/XXE الأعمى، XSS المخزن، SSTI، Log4Shell) تُكتشف عبر
استدعاءات توجّه افتراضيًا إلى oast.fun العامة من ProjectDiscovery.
كل مهمة تولّد زوج مفاتيح RSA-2048 جديدًا محليًا. حمولات التفاعل مشفرة AES-CTR-256 عند التخزين مع المفتاح مغلفًا بـ RSA-OAEP-SHA256 إلى مفتاحك العام، لذا فقط عمليتك المحلية يمكنها فك تشفيرها. لكن البيانات الوصفية مرئية للخادم: أن تفاعلًا حدث، وعنوان IP المصدر للهدف، والطابع الزمني، والبروتوكول.
يحظر PortSwigger استخدام المتعاون العام في قواعد مكافآت الأخطاء الخاصة بهم، والبرامج الكبيرة تتطلب بشكل متزايد بنية استدعاء يتحكم بها المختبر. للمهام المدفوعة، استضف Interactsh بنفسك:
ptai start http://target --oast-server https://oast.example.com --oast-token <T>
ptai start http://target --no-oast # أو عطّله تمامًا
الأسئلة الشائعة
هل أحتاج مفتاح API؟ لا على مسار MCP — اشتراكك في Claude Code / Cursor / Codex هو الـ LLM. فقط CLI المستقل يحتاج واحدًا، وحتى هناك يعمل Ollama محليًا بالكامل.
هل هو مستقل؟ لا، ولا يدّعي ذلك. المجسات تكتشف، والـ LLM ينسق، وأنت تقرر. Ctrl+C مرتين يتولى الأمر في منتصف التشغيل.
آمن ضد الإنتاج؟ فقط مع إذن كتابي والحواجز الثلاثة أعلاه مفعّلة.
هل يتصل بالمنزل؟ لا قياس عن بُعد؛ النتائج تبقى على قرصك. استدعاءات OAST هي
الاستثناء الوحيد — انظر أعلاه، أو شغّل --no-oast.
كيف يختلف هذا عن طلب Claude اختراق شيء ما؟ مكتبة مجسات حتمية منسقة تجد الأخطاء وoracle آلي يثبتها. LLM وحده يعطيك تخمينًا معقولًا دون طريقة لمعرفة ما إذا كان حقيقيًا.
النظام البيئي
| المستودع | ما هو |
|---|---|
| pentest-ai | هذا المستودع. CLI + خادم MCP. |
| pentest-ai-agents | ملفات وكيل Claude Code مستقلة. اختياري. |
المجتمع: Discord · المناقشات · المشكلات
تاريخ النجوم
الترخيص
MIT. افعل ما تشاء به.
إذا وفّرك ptai يوم أحد، امنح المستودع نجمة.