
وكيل اختبار اختراق بالذكاء الاصطناعي يعمل بشكل مستقل، ينسّق عمليات الاستطلاع والاستغلال وما بعد الاستغلال وإعداد التقارير عبر وكلاء متعددين، مع حالة تفاعل مستمرة.
وكيل اختبار اختراق بالذكاء الاصطناعي يعمل في طرفيتك.
بنية متعددة الوكلاء • تتبّع حالة المهمة • أكثر من 20 مزوّدًا لنماذج LLM
PentestCode هو وكيل اختبار اختراق ذاتي يعمل في طرفيتك. وجّهه نحو هدف، وسيشغّل الأدوات، ويقرأ المخرجات، ويحدّث صورة الشبكة لديه، ثم يقرر الخطوة التالية — تمامًا كما يفعل المشغّل البشري. إنه تفرّع صلب (hard fork) من OpenCode (MIT)، جُرِّد من تركيزه على تحرير الأكواد وأُعيد بناؤه للأمن الهجومي.
نسخة تجريبية (Beta) — إنها تصمد في المهام الحقيقية ومسابقات CTF، لكن توقّع بعض العيوب. سجّل مشكلة عندما يتعطل شيء؛ فهذا ما يجعلها أفضل.
تعليمة واحدة تدخل، وسلسلة هجوم كاملة تخرج:
you: "pentest 10.10.10.5, goal is domain admin"
إنه منهجي في المواضع التي يتكاسل فيها البشر: يرشّ كل بيانات اعتماد ضد كل خدمة على كل مضيف، ولا ينسى فحص الأمور. كل ما يتعلمه يقع في حالة منظمة يمكنك الاستعلام عنها أثناء التنفيذ عبر /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.
تثبيت إصدار محدد:
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 بدلًا من البحث في XML يدويًا، ليصل كل اكتشاف إلى حالة المهمة.
19 حزمة معرفية منتقاة، تُحمَّل عند الطلب بحيث لا تستهلك السياق إلا عندما يكون ذلك ملائمًا:
المهارات ملفات markdown عادية. أضف مهاراتك الخاصة بوضع ملف SKILL.md في دليل المهارات — دون أي تغيير في الكود.
تحكّم في جلسة مباشرة بأوامر الشرطة المائلة:
وحدّد مقدار الحرية الممنوحة للوكيل:
تتضافر الأوضاع مع سلوك الإيقاف — auto مع pause always يمنحك تنفيذًا مستقلًا يتوقف عند كل اكتشاف للمراجعة.
مجموعة أدوات واحدة تمتد عبر الأمن الهجومي:
توجد الإعدادات في .pentestcode/pentestcode.jsonc:
{
"provider": {
"anthropic": {
"model": "claude-sonnet-4-20250514"
}
}
}
المزوّدون: Anthropic وOpenAI وGoogle وAzure وAWS Bedrock وOllama وTogether وGroq وFireworks وDeepSeek وMistral، والمزيد عبر ai-sdk.
تقارير الأخطاء من الاستخدام الفعلي هي أثمن ما يمكنك إرساله. شغّل PentestCode على جهاز CTF أو جهاز HTB أو اختبار اختراق مصرح به، وعندما يحدث خطأ ما — تكرارٌ في حلقة، أو تفويت مسار واضح، أو تعثر في مخرجات أداة، أو إهدار للرموز (tokens) — افتح مشكلة (issue) تتضمن:
findings.md و/أو مخرجات الجلسة ذات الصلةطلبات الميزات وطلبات السحب (PRs) مرحّب بها أيضًا. قاعدة الأكواد مكتوبة بلغة TypeScript فوق مكتبة Effect — راجع CLAUDE.md للاطلاع على البنية المعمارية.
MIT — راجع LICENSE.
تفرّع صلب من OpenCode • مبنيّ للأمن الهجومي • يُستضاف ذاتيًا ومفتوح المصدر
| المرحلة | ما يفعله الوكيل |
|---|
| المسح | يكتشف nmap -sS -p- 7 منافذ مفتوحة ويحلّل XML مباشرةً إلى حالة المهمة |
| التعرّف | المنفذان 88 + 389 ← وحدة تحكم النطاق. يطلق ثلاث أدوات تعداد تعمل بالتوازي (SMB، LDAP، HTTP) |
| التعداد | جلسة SMB فارغة ← مشاركة قابلة للكتابة. LDAP ← قائمة مستخدمين. Gobuster ← أدلة ويب |
| الهجوم | تحميص AS-REP ← تجزئة قابلة للكسر ← أول بيانات اعتماد صالحة |
| الرش | رشّ تلك البيانات عبر SMB وWinRM وLDAP وRDP على كل مضيف معروف |
| الاستغلال | موطئ قدم عبر WinRM ← وكيل ما بعد الاستغلال يفرّغ SAM / LSA / DPAPI |
| النتيجة | تجزئة مسؤول النطاق في متناول اليد — كل خطوة موثّقة بسلسلة أدلتها |
| الأداة | ما تفعله |
|---|
nmap_parse | تحليل XML الخاص بـ nmap ← تعبئة المضيفين/الخدمات تلقائيًا |
nuclei_parse | تحليل مخرجات Nuclei بصيغة JSON ← إنشاء ثغرات مع درجات الخطورة |
cme_parse | تحليل مخرجات NetExec ← تحديث بيانات الاعتماد/الوصول/المضيفين |
gobuster_parse | تحليل مخرجات تخمين الأدلة ← تصنيف الاكتشافات |
bloodhound_parse | تحليل مخرجات SharpHound بصيغة JSON ← تعبئة نموذج Active Directory |
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 نوع استعلام) |
| الأمر | ما يفعله |
|---|
/status | لوحة معلومات المهمة — المضيفون والثغرات وبيانات الاعتماد والمرحلة |
/targets | جدول المضيفين والخدمات |
/vulns | الاكتشافات حسب درجة الخطورة |
/creds | بيانات الاعتماد المكتشفة |
/scope | عرض/تعديل نطاق الأهداف |
/phase | إدارة المراحل |
/mode | التبديل بين auto / free / guided |
/pause | الإيقاف عند الاكتشافات (أبدًا / دائمًا / نقطة تفتيش) |
/report | توليد تقرير اختبار اختراق |