وكيل اختبار اختراق بالذكاء الاصطناعي يعمل بشكل مستقل، ينسّق عمليات الاستطلاع والاستغلال وما بعد الاستغلال وإعداد التقارير عبر وكلاء متعددين، مع حالة تفاعل مستمرة.
وكيل اختبار اختراق بالذكاء الاصطناعي في طرفيتك.
بنية متعددة الوكلاء • تتبع حالة المهمة • أكثر من 20 مزود LLM
PentestCode هو وكيل اختبار اختراق مستقل لطرفيتك. وجّهه نحو هدف فيقوم بتشغيل الأدوات، وقراءة المخرجات، وتحديث صورته عن الشبكة، وتحديد ما يجب فعله بعد ذلك — تمامًا كما يفعل المشغّل البشري. إنه تفرّع صلب (hard fork) من OpenCode (MIT)، جُرّد من التركيز على تحرير الأكواد وأُعيد بناؤه للأمن الهجومي.
نسخة تجريبية (Beta) — تصمد في المهام الحقيقية ومسابقات CTF، لكن توقّع بعض الخشونة. افتح تذكرة (issue) عند حدوث خلل؛ فهذا ما يجعلها أفضل.
تعليمة واحدة، وسلسلة هجوم كاملة:
you: "pentest 10.10.10.5, goal is domain admin"
| المرحلة | ما يفعله الوكيل |
|---|---|
| الفحص (Scan) | nmap -sS -p- يكتشف 7 منافذ مفتوحة ويحلّل XML مباشرة إلى حالة المهمة |
| التعرّف (Recognize) | المنفذان 88 + 389 → وحدة تحكم بالنطاق (Domain Controller). يوزّع ثلاثة أدوات تعداد بالتوازي (SMB، LDAP، HTTP) |
| التعداد (Enumerate) | جلسة SMB فارغة → مشاركة قابلة للكتابة. LDAP → قائمة المستخدمين. Gobuster → مجلدات الويب |
| الهجوم (Attack) | AS-REP roast → هاش قابل للكسر → أول بيانات اعتماد صالحة |
| الرشّ (Spray) | رشّ بيانات الاعتماد تلك عبر SMB وWinRM وLDAP وRDP على كل مضيف معروف |
| الاستغلال (Exploit) | موطئ قدم عبر WinRM → وكيل ما بعد الاستغلال يستخرج SAM / LSA / DPAPI |
| النتيجة (Result) | هاش مدير النطاق في اليد — كل خطوة مسجّلة مع سلسلة أدلتها |
إنه منهجي حيث يتكاسل الناس: يرشّ كل بيانات اعتماد ضد كل خدمة على كل مضيف، ولا ينسى التحقق من الأشياء. كل ما يتعلمه يترسّخ في حالة منظّمة يمكنك الاستعلام عنها أثناء التشغيل عبر /status أو /vulns أو /creds.
npm install -g pentestcode-ai
# via curl
curl -fsSL https://raw.githubusercontent.com/s0ld13rr/pentestcode/main/install.sh | bash
ملف تنفيذي واحد مكتفٍ بذاته — لا حاجة لتثبيت Bun أو Node أو أي بيئة تشغيل. Linux وmacOS، بمعماريتي x64 وarm64.
Arch Linux (AUR):
paru -S pentestcode-bin
تثبيت إصدار محدّد:
PENTESTCODE_VERSION=0.1.7 curl -fsSL https://raw.githubusercontent.com/s0ld13rr/pentestcode/main/install.sh | bash
دليل مخصّص:
PENTESTCODE_INSTALL=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/s0ld13rr/pentestcode/main/install.sh | bash
من المصدر:
bun install
bun run build --single --skip-embed-web-ui
# binary at packages/opencode/dist/pentestcode-<os>-<arch>/bin/pentestcode
pentestcode auth login # connect your LLM provider
pentestcode # interactive session
pentestcode --prompt "scan 10.10.10.0/24 and enumerate all services" # one-shot
يعمل مع أكثر من 20 مزودًا عبر ai-sdk — Anthropic وOpenAI وGoogle وAzure وAWS Bedrock وOllama وغيرها.
هناك أمران يفصلان PentestCode عن مجرد تعليمة اختبار اختراق ملصوقة في نافذة محادثة: فريق من الوكلاء وذاكرة مشتركة بينهم.
يتبع التصميم نموذج الاستراتيجي-المنسّق من بحث HPTSA — تحسّن بمقدار 4.3× مقارنة بوكيل واحد:
┌─────────────┐
│ pentest │ strategist / coordinator
│ (lead) │ plans, dispatches, tracks state
└──────┬──────┘
┌───────┬───────┼───────┬───────┐
▼ ▼ ▼ ▼ ▼
┌──────┐┌──────┐┌──────┐┌──────┐┌──────┐
│recon ││scan- ││explo-││iden- ││post- │
│ ││ner ││iter ││tity ││explo │ ... + 7 more
└──────┘└──────┘└──────┘└──────┘└──────┘
الوكيل القائد (pentest) يقسّم المهمة إلى مهام فرعية ويوزّع وكلاء متخصصين بالتوازي — لكل منهم تعليماته النظامية الخاصة وأذونات أدواته ومعرفته المجالية. 13 وكيلًا إجمالًا: recon، scanner، enumerator، exploiter، identity (AD/Kerberos)، infrastructure (SNMP/IPMI/قواعد البيانات)، webapp (OWASP Top 10)، post-exploit، exploit-dev، critic (مدقّق الإيجابيات الكاذبة)، reporter، بالإضافة إلى وكلاء مخفيين لضغط السياق وإدارة الجلسات.
عندما يكتشف الماسح منفذًا، يراه المُعدِّد فورًا — لأن كل وكيل يقرأ من حالة المهمة المنظّمة ويكتب فيها:
تبقى الحالة محفوظة بعد الجلسة: أغلق الطرفية، وعُد غدًا، فيستأنف الوكيل من حيث توقف. وإلى جانبها، يسجّل ملف findings.md القابل للقراءة البشرية كل ثغرة وبيانات اعتماد ومكسب وصول مع الطوابع الزمنية — استخدم tail -f عليه لمشاهدة المهمة تتكشّف.
18 أداة اختبار اختراق مدمجة بالإضافة إلى bash. أدوات التحليل إلزامية: بعد تشغيل nmap يجب على الوكيل تمرير المخرجات عبر nmap_parse بدلًا من grep على XML يدويًا، حتى تصل كل نتيجة إلى حالة المهمة.
| الأداة | ما تفعله |
|---|---|
nmap_parse | تحليل nmap XML → ملء المضيفين/الخدمات تلقائيًا |
nuclei_parse | تحليل Nuclei JSON → إنشاء ثغرات مع الخطورة |
cme_parse | تحليل مخرجات NetExec → تحديث بيانات الاعتماد/الوصول/المضيفين |
gobuster_parse | تحليل مخرجات كسر المجلدات → تصنيف النتائج |
bloodhound_parse | تحليل SharpHound JSON → ملء نموذج AD |
sqlmap_parse | تحليل مخرجات sqlmap → استخراج نقاط الحقن |
xss_detect | تحليل الاستجابات بحثًا عن XSS المنعكس/المخزّن |
jwt_analyze | فك ترميز JWT، والتحقق من alg:none/HMAC الضعيف/الانتهاء |
cred_spray | تخطيط رشّ بيانات الاعتماد عبر كل الخدمات المكتشفة |
scope_check | التحقق من نطاق CIDR/البدائل (wildcard) |
attack_path_suggest | إيجاد المسارات القائم على التكلفة عبر رسم العلاقات البياني |
tunnel_manage | تخطيط أنفاق SSH/chisel/ligolo، وتتبع الجلسات الحية |
phase_control | إدارة المراحل مع بوابات الجودة |
report_gen | توليد تقارير اختبار اختراق بصيغة markdown/JSON |
state_update | تسجيل النتائج (أكثر من 30 نوع تعديل، وضع الدفعات) |
state_query | الاستعلام عن حالة المهمة (أكثر من 20 نوع استعلام) |
19 حزمة معرفية منتقاة، تُحمَّل عند الطلب فلا تستهلك السياق إلا عند الحاجة:
المهارات مجرد markdown عادي. أضف مهاراتك بإسقاط ملف SKILL.md في دليل المهارات — دون أي تغييرات في الكود.
قُد جلسة حية بأوامر الشرطة المائلة: