Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pentestagent — إطار عمل وكيل ذكاء اصطناعي لاختبار الأمان في الصندوق الأسود، مع تنسيق متعدد الوكلاء ذاتي التشغيل، وأدوات اختبار اختراق مدمجة، وتكامل MCP لسير عمل مكافآت الثغرات، والفريق الأحمر، واختبار الاختراق. | Kitploit
أدوات/GitHubGitHub/gh05tcrew/pentestagent
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعماسحات الثغرات الأمنيةأطر الاستغلالأمن الويبأمن الشبكاتCTFاختبار الاختراقالتعلم والتعليمالفريق الأحمرأمن الذكاء الاصطناعي
GitHub
2.9k58656منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
gh05tcrew/pentestagent

pentestagent

إطار عمل وكيل ذكاء اصطناعي لاختبار الأمان في الصندوق الأسود، مع تنسيق متعدد الوكلاء ذاتي التشغيل، وأدوات اختبار اختراق مدمجة، وتكامل MCP لسير عمل مكافآت الثغرات، والفريق الأحمر، واختبار الاختراق.

عرض المستودع
شعار PentestAgent

PentestAgent

اختبار الاختراق بالذكاء الاصطناعي

Python License Version Security MCP

https://github.com/user-attachments/assets/a67db2b5-672a-43df-b709-149c8eaee975

المتطلبات

  • Python 3.10+
  • مفتاح API لـ OpenAI أو Anthropic أو أي مزوّد آخر مدعوم من LiteLLM

التثبيت

root@kitploit:~
# Clone
git clone https://github.com/GH05TCREW/pentestagent.git
cd pentestagent

# Setup (creates venv, installs deps)
.\scripts\setup.ps1   # Windows
./scripts/setup.sh    # Linux/macOS

# Or manual
python -m venv venv
.\venv\Scripts\Activate.ps1  # Windows
source venv/bin/activate     # Linux/macOS
pip install -e ".[all]"
playwright install chromium  # Required for browser tool

الإعداد

أنشئ ملف .env في جذر المشروع:

root@kitploit:~
ANTHROPIC_API_KEY=sk-ant-...
PENTESTAGENT_MODEL=claude-sonnet-4-20250514

أو لـ OpenAI:

root@kitploit:~
OPENAI_API_KEY=sk-...
PENTESTAGENT_MODEL=gpt-5

أي نموذج مدعوم من LiteLLM يعمل.

استخدام موزّع (Relay) / قاعدة API مخصصة

وجّه PentestAgent إلى أي نقطة نهاية متوافقة مع OpenAI عبر OPENAI_API_BASE:

root@kitploit:~
OPENAI_API_KEY=your-relay-token
OPENAI_API_BASE=https://relay.example/v1
PENTESTAGENT_MODEL=openai/<model-name-on-your-relay>

بالنسبة لنقاط النهاية المتوافقة مع Anthropic استخدم ANTHROPIC_API_BASE بدلاً من ذلك. راجع .env.example للحصول على ملاحظات المزوّدين الكاملة وخيارات التضمين.

التشغيل

root@kitploit:~
pentestagent                      # Launch TUI
pentestagent -t 192.168.1.1       # Launch with target
pentestagent tui --docker         # Run tools in Docker container

Docker

شغّل الأدوات داخل حاوية Docker للعزل وللحصول على أدوات اختبار اختراق مثبّتة مسبقًا.

الخيار 1: سحب صورة جاهزة (الأسرع)

root@kitploit:~
# Base image with nmap, netcat, curl
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  -e PENTESTAGENT_MODEL=claude-sonnet-4-20250514 \
  ghcr.io/gh05tcrew/pentestagent:latest

# Kali image with metasploit, sqlmap, hydra, etc.
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  ghcr.io/gh05tcrew/pentestagent:kali

الخيار 2: البناء محليًا

root@kitploit:~
# Build
docker compose build

# Run
docker compose run --rm pentestagent

# Or with Kali
docker compose --profile kali build
docker compose --profile kali run --rm pentestagent-kali

تعمل الحاوية على تشغيل PentestAgent مع إمكانية الوصول إلى أدوات اختبار الاختراق لنظام Linux. يمكن للوكيل استخدام nmap وmsfconsole وsqlmap وغيرها مباشرةً عبر أداة الطرفية.

يتطلب تثبيت Docker وتشغيله.

الأوضاع

يمتلك PentestAgent ثلاثة أوضاع، يمكن الوصول إليها عبر الأوامر في واجهة TUI:

أوامر TUI

root@kitploit:~
/assist <task>    One single-shot instruction.
/agent <task>     Run autonomous agent on task
/crew <task>      Run multi-agent crew on task
/interact <task>  Chat with the agent in guided mode
/target <host>    Set target
/tools            List available tools
/notes            Show saved notes
/report           Generate report from session
/memory           Show token/memory usage
/prompt           Show system prompt
/conversations    Browse and restore saved conversations
/mcp <list/add>   Visualizes or adds a new MCP server.
/spawn [target] [--scope CIDR] [--model M] [--no-rag] [--no-mcp]
                  Manually spawn a child MCP agent from the TUI.
/despawn <server_name>
                  Terminate and remove a previously spawned child agent.
/clear            Clear chat and history
/quit             Exit (also /exit, /q)
/help             Show help (also /h, /?)

اضغط Esc لإيقاف وكيل قيد التشغيل. وCtrl+Q للخروج.

قوائم اللعب (Playbooks)

يتضمن PentestAgent قوائم لعب هجومية جاهزة لاختبار الأمان من نوع الصندوق الأسود. تحدد قوائم اللعب نهجًا منظمًا لتقييمات أمنية محددة.

تشغيل قائمة لعب:

root@kitploit:~
pentestagent run -t example.com --playbook thp3_web

Playbook Demo

الأدوات

يتضمن PentestAgent أدوات مدمجة ويدعم MCP (بروتوكول سياق النموذج) لقابلية التوسع.

الأدوات المدمجة: terminal, browser, notes, web_search (يتطلب TAVILY_API_KEY), spawn_mcp_agent

التوليد الذاتي للوكيل (spawn_mcp_agent)

spawn_mcp_agent هي أداة مدمجة تسمح للوكيل قيد التشغيل بتوليد نسخة فرعية من نفسه كخادم MCP تابع متصل عبر stdio. تكون العملية الفرعية معزولة تمامًا — ببيئة تشغيل خاصة بها، وعميل LLM، وسجل محادثات، ومخزن ملاحظات — ويتم حقن مجموعة أدواتها الكاملة مرة أخرى في أدوات الوكيل الأصلي المتاحة بعد التوليد.

يتيح ذلك سير عمل هرميًا متعدد الوكلاء دون أي تنسيق خارجي: ينظّم الوكيل نفسه بنفسه عبر تفويض مهام فرعية محدودة النطاق إلى أطفال يولّدهم عند الحاجة.

بعد أن يعيد spawn_mcp_agent النتيجة، تصبح أدوات الطفل (run_task, run_task_async, await_tasks, إلخ) متاحة في الاستدعاء التالي للأداة. يتم تعيين اسم خادم الطفل تلقائيًا (مثل child_agent_1) ويُعاد في النتيجة.

مثال — قيام المنسّق بتفويض استطلاع متوازٍ إلى طفلين:

root@kitploit:~
# Turn 1: spawn two isolated child agents
spawn_mcp_agent  target="10.0.1.0/24"  scope=["10.0.1.0/24"]
spawn_mcp_agent  target="10.0.2.0/24"  scope=["10.0.2.0/24"]

# Turn 2: children's tools are now available — delegate work asynchronously
child_agent_1__run_task_async  task="Full port scan and service enumeration"
child_agent_2__run_task_async  task="Full port scan and service enumeration"

# Turn 3: wait and collect
child_agent_1__await_tasks  task_ids=["<id1>"]  timeout_seconds=600
child_agent_2__await_tasks  task_ids=["<id2>"]  timeout_seconds=600
child_agent_1__get_task_result  task_id="<id1>"
child_agent_2__get_task_result  task_id="<id2>"

التحكم اليدوي في الوكيل الفرعي (/spawn و/despawn)

إلى جانب أداة spawn_mcp_agent التلقائية، تكشف واجهة TUI عن أمرين يتيحان لك توليد الأطفال وإنهاءهم يدويًا، بشكل مستقل عن حلقة الوكيل قيد التشغيل.

/spawn

root@kitploit:~
/spawn [target] [--scope CIDR ...] [--model MODEL] [--no-rag] [--no-mcp]

يولّد وكيل MCP فرعيًا جديدًا عبر stdio ويربطه بالجلسة الحالية. يظهر الطفل كلوحة طرفية قابلة للطي في الشريط الجانبي لواجهة TUI، وتصبح أدواته متاحة للوكيل الأصلي في استدعاء الأداة التالي.

أمثلة:

root@kitploit:~
/spawn 10.0.1.1
/spawn 10.0.1.1 --scope 10.0.1.0/24 --model claude-sonnet-4-20250514
/spawn --target 10.0.1.1 --scope 10.0.1.0/24 --no-rag

/despawn

root@kitploit:~
/despawn <server_name>

ينهي الوكيل الفرعي المعرّف بواسطة server_name (مثل child_agent_1)، ويزيل لوحته الطرفية من واجهة TUI، ويفصل أدواته عن جلسة الوكيل الأصلي. استخدم /mcp list لرؤية أسماء جميع الوكلاء الفرعيين النشطين حاليًا.

مثال:

root@kitploit:~
/despawn child_agent_1

محسّن أدوات RAG في MCP

عندما يعرّض خادم MCP أكثر من 128 أداة، يستبدل PentestAgent تلقائيًا الكتالوج الكامل بأداة واحدة باسم mcp_<server>_rag_optimizer. تستخدم هذه الأداة الوصفية تشابه التضمين (عبر LiteLLM، الافتراضي text-embedding-3-small) لاسترجاع الأدوات الأكثر صلة بالمهمة الحالية وحقنها في دورة الوكيل التالية — مما يحافظ على نافذة السياق ضمن الحدود دون فقدان الوصول إلى مجموعة الأدوات الكاملة.

يكون المحسّن شفافًا بالنسبة للوكيل: فهو يستدعي أداة RAG باستعلامات طبيعية مركزة تصف ما يحتاجه، وتصبح الأدوات المطابقة متاحة في الدورة التالية لاستدعائها مباشرةً.

إرشادات الاستخدام للوكيل:

الوسيطالنوعالافتراضيالوصف
queries

يتم حساب التضمينات مرة واحدة عند بدء التشغيل وتخزينها مؤقتًا، لذا تكون الاستعلامات المتكررة سريعة. يُبنى المحسّن لكل خادم على حدة، لذا يحصل كل خادم MCP ذي كتالوج كبير على فهرس مستقل خاص به.

نصيحة: مرّر استعلامًا واحدًا لكل قدرة مميزة بدلاً من دمج كل شيء في استعلام واحد. ["list open ports on a host", "get process memory usage"] يسترجع نتائج أفضل من ["list ports and memory and CPU"].

تكامل MCP

يدعم PentestAgent بروتوكول MCP (بروتوكول سياق النموذج) في اتجاهين: استهلاك خوادم MCP الخارجية كمصادر للأدوات، وتعريض نفسه كخادم MCP بحيث يمكن للعملاء الخارجيين (Claude Desktop, Cursor، إلخ) قيادة PentestAgent برمجيًا.


استهلاك خوادم MCP الخارجية (وضع العميل)

قم بتهيئة mcp_servers.json لربط PentestAgent بأي خوادم MCP خارجية. مثال على الإعداد:

root@kitploit:~
{
  "mcpServers": {
    "nmap": {
      "command": "npx",
      "args": ["-y", "gc-nmap-mcp"],
      "env": {
        "NMAP_PATH": "/usr/bin/nmap"
      }
    }
  }
}

تعريض PentestAgent كخادم MCP (وضع الخادم)

يمكن لـ PentestAgent العمل كخادم MCP، مما يسمح لأي عميل متوافق مع MCP بإرسال المهام وفحص النتائج والتحكم في الوكيل عن بُعد. يُدعم نوعان من وسائط النقل:

STDIO — للعملاء المحليين (مثل Claude Desktop, Cursor):

root@kitploit:~
pentestagent mcp_server --type stdio
pentestagent mcp_server --type stdio --target 192.168.1.1 --scope 192.168.1.0/24
pentestagent mcp_server --type stdio --model claude-sonnet-4-20250514 --docker

SSE (HTTP) — للعملاء عن بُعد أو عبر الشبكة:

root@kitploit:~
pentestagent mcp_server --type sse
pentestagent mcp_server --type sse --host 0.0.0.0 --port 8080
pentestagent mcp_server --type sse --target 10.0.0.1 --scope 10.0.0.0/24 --docker

يكشف نقل SSE عن نقطة نهاية واحدة /mcp تدعم POST (الطلبات)، وGET (دفق SSE مستمر للدفع المبدئي من الخادم)، وDELETE (إنهاء الجلسة). يتم تتبع الجلسات عبر ترويسة Mcp-Session-Id.

جميع خيارات mcp_server:

مثال: إعداد Claude Desktop (claude_desktop_config.json)
root@kitploit:~
{
  "mcpServers": {
    "pentestagent": {
      "command": "pentestagent",
      "args": ["mcp_server", "--type", "stdio"]
    }
  }
}

مرجع أدوات خادم MCP

عندما يعمل كخادم MCP، يعرّض PentestAgent الأدوات التالية:

حالة الخادم والإعدادات

الأداةالوصف
get_server_statusحالة الخادم اللحظية: الجاهزية، عدد المهام حسب الحالة، الهدف/النطاق الأساسي، حجم مخزن الذاكرة
get_configإعدادات الوكيل الأساسي: الهدف، النطاق، الحد الأقصى للتكرارات، قائمة الأدوات
update_configتحديث الهدف أو النطاق أو الحد الأقصى للتكرارات لجميع المهام اللاحقة

تنفيذ المهام

الأداةالوصف
run_taskإرسال مهمة والانتظار حتى اكتمالها. يُرجع النتيجة الكاملة والأدوات المستخدمة ولقطة من الملاحظات
run_task_asyncإرسال مهمة والعودة فورًا مع task_id. استعلم باستخدام

فحص المهام

الأداةالوصف
list_tasks

التحكم في المهام

الأداةالوصف
cancel_taskإلغاء مهمة قيد التشغيل أو معلقة حسب المعرف

إدارة الأدوات

الأداةالوصف
list_toolsسرد جميع الأدوات المتاحة للوكيل
enable_toolتفعيل أداة مسماة على الوكيل الأساسي
disable_toolتعطيل أداة مسماة على الوكيل الأساسي

سجل المحادثات

الأداةالوصف
get_conversation_historyإرجاع سجل الرسائل لمهمة أو للوكيل الأساسي. يدعم معامل limit
reset_conversationمسح سجل المحادثات لمهمة أو للوكيل الأساسي

الذاكرة

الأداةالوصف
store_memoryحفظ زوج مفتاح-قيمة في مخزن الذاكرة داخل العملية
retrieve_memoryالاسترجاع بمفتاح محدد، أو البحث بجزء نصي، أو سرد جميع المفاتيح
clear_memoryحذف مفتاح محدد أو مسح كل الذاكرة باستخدام scope='all'

المراقبة (Observability)

الأداةالوصف
get_logsإرجاع سجلات التنفيذ الأخيرة، مع إمكانية التصفية حسب المستوى (info / warning / error)
get_metricsمقاييس وقت التشغيل: عدد المهام، معدل النجاح، إجمالي استدعاءات الأدوات، أحجام الذاكرة والسجلات

مثال على سير عمل المهام غير المتزامنة

بالنسبة لمهام الاستطلاع طويلة الأمد، استخدم النمط غير المتزامن:

root@kitploit:~
# 1. Submit tasks without blocking
run_task_async  task="Enumerate subdomains of example.com"  target="example.com"
run_task_async  task="Run nmap SYN scan on example.com"     target="example.com"

# 2. Block until both finish (up to 5 minutes)
await_tasks  task_ids=["<id1>", "<id2>"]  timeout_seconds=300

# 3. Retrieve full results
get_task_result  task_id="<id1>"
get_task_result  task_id="<id2>"

إدارة أدوات CLI

root@kitploit:~
pentestagent tools list         # List all tools
pentestagent tools info <name>  # Show tool details
pentestagent mcp list           # List MCP servers
pentestagent mcp add <name> <command> [args...]  # Add MCP server
pentestagent mcp test <name>    # Test MCP connection

عناصر التحكم في سجل المحادثات

تعرض كل رسالة مستخدم في واجهة TUI زري إجراءات مضمّنين: rewind و fork.

التراجع (Rewind)

انقر على rewind في أي رسالة مستخدم لاقتطاع المحادثة إلى ما قبل تلك الرسالة تمامًا — سواء في الواجهة أو في ذاكرة الوكيل الداخلية. استخدمها لإعادة محاولة استعلام من الصفر دون حفظ المسار المهمل.

التفرع (Fork)

انقر على >> fork في أي رسالة مستخدم لتفرع المحادثة من تلك النقطة:

  1. يتم حفظ المحادثة الكاملة الحالية في مخزن المحادثات ويظهر معرّف لقطة قصير.
  2. يتم بعد ذلك اقتطاع المحادثة إلى ما قبل الرسالة المحددة تمامًا (كما في rewind).

يتيح لك ذلك تجربة نهج بديل من أي نقطة مع إبقاء السلسلة الأصلية قابلة للاسترجاع عبر /conversations.


سجل المحادثات

يحفظ PentestAgent تلقائيًا كل محادثة حتى تتمكن من مراجعة الجلسات السابقة ومقارنتها واستعادتها.

يتم تشغيل الحفظ التلقائي بعد كل مهمة /assist و/agent و/crew و/interact، وقبل /clear. يُحتفظ بما يصل إلى 20 محادثة؛ وتُحذف الأقدم تلقائيًا.

موقع التخزين: workspaces/<active>/memory/conversations/ عند وجود مساحة عمل نشطة، أو conversations/ في جذر المشروع في الحالات الأخرى. كل محادثة عبارة عن ملف JSON.

التصفح والاستعادة عبر /conversations:

يفتح الأمر /conversations نافذة منقسمة داخل واجهة TUI:

  • اللوحة اليسرى — قائمة المحادثات المحفوظة مع العنوان والتاريخ.
  • اللوحة اليمنى — معاينة البيانات الوصفية بالإضافة إلى أول 5 رسائل (رسائل المستخدم باللون الأزرق، وردود الوكيل باللون الأخضر، واستدعاءات الأدوات باللون الأصفر، ونتائج الأدوات باللون الرمادي). يعرض عداد عدد الرسائل الإضافية الموجودة.
صورة

حدد محادثة واضغط Restore لإعادة تحميلها في الجلسة الحالية، أو Close لإغلاق النافذة.

المعرفة

  • RAG: ضع المنهجيات أو CVEs أو قوائم الكلمات في pentestagent/knowledge/sources/ للحقن التلقائي في السياق.
  • الملاحظات: يحفظ الوكلاء النتائج في loot/notes.json مع فئات (credential, vulnerability, finding, artifact). تستمر الملاحظات عبر الجلسات ويتم حقنها في سياق الوكيل.
  • الرسم البياني الظل (Shadow Graph): في وضع Crew، يبني المنسّق رسمًا بيانيًا للمعرفة من الملاحظات لاستخلاص رؤى استراتيجية (مثل "لدينا بيانات اعتماد للمضيف X").

هيكل المشروع

root@kitploit:~
pentestagent/
  agents/         # Agent implementations
  config/         # Settings and constants
  interface/      # TUI and CLI
  knowledge/      # RAG system and shadow graph
  llm/            # LiteLLM wrapper
  mcp/            # MCP client and server configs
  playbooks/      # Attack playbooks
  runtime/        # Execution environment
  tools/          # Built-in tools

التطوير

root@kitploit:~
pip install -e ".[dev]"
pytest                       # Run tests
pytest --cov=pentestagent    # With coverage
black pentestagent           # Format
ruff check pentestagent      # Lint

الجانب القانوني

استخدم الأداة فقط ضد الأنظمة التي لديك إذن صريح لاختبارها. الوصول غير المصرح به غير قانوني.

الترخيص

MIT

تنزيل الأداة
الوضعالأمرالوصف
Assist/assist <task>تعليمة واحدة لمرة واحدة، مع تنفيذ الأدوات
Agent/agent <task>تنفيذ مستقل لمهمة واحدة
Crew/crew <task>وضع متعدد الوكلاء. يقوم المنسّق (Orchestrator) بتوليد عمال متخصصين
Interact/interact <task>وضع تفاعلي. تحدث مع الوكيل، وسيساعدك ويوجّهك أثناء عملية اختبار الاختراق
الوسيطالنوعالافتراضيالوصف
targetstring—هدف الاختراق الذي سيتم تمريره إلى الطفل
scopestring[]—الأهداف/النطاقات CIDR المسموح بها للطفل
modelstringمتغير بيئيمعرّف النموذج، يتجاوز PENTESTAGENT_MODEL على الطفل
no_ragbooleanfalseتخطي تهيئة محرك RAG على الطفل
no_mcpbooleantrueتخطي اتصالات خوادم MCP الخارجية على الطفل (موصى به)
الوسيطالوصف
targetهدف الاختراق الذي سيتم تمريره إلى الطفل (موضعي أو --target)
--scope CIDRنطاق CIDR واحد أو أكثر ضمن النطاق المسموح (قابل للتكرار)
--model MODELتجاوز النموذج للوكيل الفرعي
--no-ragتخطي تهيئة محرك RAG على الطفل
--no-mcpتخطي اتصالات خوادم MCP الخارجية على الطفل
string[]
(مطلوب)
استعلام مركّز واحد لكل قدرة مطلوبة. كلما كان أكثر تحديدًا = دقة أعلى
top_kinteger20الأدوات التي سيتم استرجاعها لكل استعلام (الحد الأقصى 128). يتم دمج النتائج وإزالة التكرارات
الخيارالافتراضيالوصف
--type(مطلوب)وسيلة النقل: stdio أو sse
--host0.0.0.0مضيف ربط SSE
--port8080منفذ ربط SSE
--targetلا شيءهدف الاختراق الأساسي (IP / اسم المضيف)
--scope[]الأهداف/النطاقات CIDR المسموح بها (مفصولة بمسافات)
--modelمتغير بيئيمعرّف النموذج، يتجاوز PENTESTAGENT_MODEL
--dockerfalseاستخدام DockerRuntime بدلاً من LocalRuntime
--no-ragfalseتخطي تهيئة محرك RAG
--no-mcpfalseتخطي اتصالات خوادم MCP الخارجية
get_task_status
سرد جميع المهام مع الحالة والهدف والملخص. قابل للتصفية حسب الحالة
get_task_statusاستعلام عن الحالة الحالية ومعاينة نتيجة مهمة
get_task_resultنتيجة المهمة الكاملة: المخرجات النهائية، خطوات التفكير، جميع استدعاءات الأدوات ونتائجها، لقطة من الملاحظات
await_tasksالانتظار حتى تنتهي جميع معرفات المهام غير المتزامنة (يستعلم كل 500 مللي ثانية، مع مهلة قابلة للتهيئة)