
منصة اختبار اختراق مدفوعة بالذكاء الاصطناعي مع أوضاع الصندوق الأسود والأبيض والرمادي، والمضيف/السحابة، والفريق الأحمر لنماذج اللغة الكبيرة (LLM)؛ تتحقق من النتائج عبر التصويت متعدد النماذج وإيصالات الأدوات.
منصة مستقلة متعددة النماذج لاختبار الاختراق — بلغة Rust، عبر CLI فقط.
من إعداد Joas A Santos & فريق القادة لفرق الاختراق الأحمر
⭐ إذا كان هذا المشروع مفيدًا، قم بنجم المستودع — فهذا يساعد كثيرًا.
📖 هل أنت جديد هنا؟ اقرأ الدليل التعليمي الكامل ودليل المستخدم ← — حيث يتم شرح كل وضع وعلامة وإعداد ومثال.
🆕 الجديد في v3.6.5 — اختبار الفريق الأحمر لنماذج LLM: كسر الحصانة وحقن البرومبت عبر سيناريوهات متعددة: +12 وكيلًا للذكاء الاصطناعي (→ 30، 429 إجمالًا) يقومون باختبار اختراق عدائي لنظام ذكاء اصطناعي حي بالطريقة التي تعمل بها أدوات hackagent.dev — تقنيات كسر الحصانة (AdvPrefix, PAIR, TAP, Crescendo, many-shot, persona/DAN, encoding/obfuscation, refusal-suppression) وسيناريوهات حقن البرومبت (مباشرة، غير مباشرة عبر RAG/الويب/البريد/مخرجات الأدوات، اختطاف الهدف, إساءة استخدام الأدوات/استدعاءات الدوال، استخراج برومبت النظام). كل وكيل يشغّل حلقة مهاجم→حكم LLM — يلتقط رفض الأساس، ويطبق التقنية عبر المتغيرات، ويحكم ما إذا كان الحاجز تم تجاوزه فعلًا — مع إثبات ذلك بإيصال غير ضار ومنقّح.
neurosploit aitest <ai-url>. أيضًا: تسجيل حساب اختبار ذاتي الخدمة — يحلل نماذج التطبيق وينشئ حسابًا غير ضار (curl أو Playwright) للوصول إلى السطح المُصادَق عليه، مع حاجز صارم ضد الفيض (حسابان كحد أقصى)، وخزنة بيانات اعتماد لكل تشغيل (vault.json, تُخفي الأسرار في التقرير)، وقسم تنظيف "احذف هذه الحسابات"، ونتائج موسومة مصادَق عليه / غير مصادَق عليه، وبريد إلكتروني مؤقت اختياري (/tempmail, مجاني عبر mail.tm). مدقّق إنسان داخل الحلقة: النتائج غير المؤكدة أصبحت الآن موسومةneeds-review، وليست محذوفة (يتم إسقاط الضوضاء غير المدعومة فقط) بحيث يتخذ الإنسان القرار النهائي. تقارير بصيغة Markdown + JSON بالإضافة إلى PDF/HTML. وكلاء أكثر دقة على تطبيقات SPA/REST الحديثة (منهجية لصيد واجهات API من فئة Juice-Shop) بالإضافة إلى تشكيل مكافآت RL أكثر قوة. نماذج جديدة: Claude Opus 5, Claude Sonnet 5, Kimi K3 (Moonshot → 15 موفرًا). التاريخ الكامل في RELEASE.md.
NeuroSploit يحوّل عنوان URL أو مستودعًا مصدريًا أو تطبيقًا قيد التشغيل أو مضيفًا/IP إلى مهمة أمنية مستقلة. حيث يدفع هيكل Rust (tokio) بمجموعة من نماذج LLM — عبر مفتاح API أو اشتراك محلي (Claude Code / Codex / Gemini / Grok) — لاستطلاع الهدف، ويختار بذكاء فقط الوكلاء الذين يطابقون السطح المكتشف، ويشغّلهم بالتوازي، ويربط النتائج للتأثير بشكل أعمق، ويتحقق من كل ادعاء عن طريق تصويت متعدد النماذج + إثبات من أدوات الاستدلال قبل إعداد التقرير. ويأتي مع 430 وكيلًا بتنسيق markdown وواجهة Mission Control TUI.
| الوضع | الأمر | الوظيفة |
|---|---|---|
| الصندوق الأسود | neurosploit run <url> | استطلاع ← اختيار ← استغلال ← تصويت ← تقرير |
| الصندوق الأبيض | neurosploit whitebox <repo> | مراجعة المصدر/SAST (أدلة file:line) |
| الصندوق الرمادي | neurosploit greybox <repo> --url <app> | مراجعة الكود + استغلال مباشر معًا |
| المضيف/البنية التحتية | neurosploit host <ip> --creds creds.yaml | اختبار Linux / Windows / AD والسحابة (AWS/GCP/Azure) |
| الفريق الأحمر للذكاء الاصطناعي / LLM | neurosploit aitest <ai-url> | كسر الحصانة وحقن البرومبت + OWASP LLM Top 10 / MCP ضد وكيل ذكاء اصطناعي حي |
| مهارات الذكاء الاصطناعي / n8n | neurosploit skills <file|folder> | تدقيق الصندوق الأبيض لتعريفات المهارات/الإضافات وسير عمل n8n |
| التحكم بالمهمة | neurosploit tui <url> | لوحات TUI حيّة ومحرر أثناء التشغيل |
| تفاعلي | neurosploit | جلسة REPL دائمة (تُستأنف حسب المشروع) |
may_assert
هي قاعدة رياضية مضادة للهلوسة (لا تدّعِ قابلية الاستغلال
بينما الاعتقاد مُشتَّت).file:line في الكود المصدري المراجَع — اقتباس الكود هو الإيصال) لمراجعة
SAST للصندوق الأبيض وتدقيق المهارات، وأحدهما للصندوق الرمادي؛ بينما تُخفَّض الادعاءات غير المدعومة.aws/gcloud/az). تتصل عبر creds.yaml: مفاتيح AWS، أو JSON لحساب خدمة Google،
أو خدمة رئيسية لـ Azure — انظر
بيانات اعتماد السحابة..git/.env، تصحيح الأخطاء/actuator، بيانات الاعتماد الافتراضية، لوحات التحكم،
CORS)، وصياد CVE (أداة nuclei ذكية وموجّهة)، ومطوّر PoC (يكتب
نصوصًا قابلة للتكرار إلى مجلد pocs/ في التشغيل)، واختبار حد المعدل — كل ذلك
تحت حاجز صارم لسلامة البيانات/PII (لا إجراءات تدميرية أو مغيّرة للحالة؛
تُثبت PII بعينة مموّهة، ولا تُلقى مطلقًا)./proxy <url> (أو /burp) يوجّه حركة الوكلاء
عبر وكيل الاعتراض المحلي لديك بحيث يمكنك فحص الحركة وإعادة تشغيلها في Burp.summary, pause, …).<cwd>/.neurosploit/ يحتفظ بجلسة العمل وسجل التشغيل
وسجل الأوامر؛ وتُستأنف جلسة REPL عند إعادة الفتح. لا حاجة إلى قاعدة بيانات.هذه نسخة خفيفة مقتصرة على Rust (
neurosploit-rs/+agents_md/). أما محرك Python الأقدم وواجهات الويب فتوجد في الفرع الأقدمv3.4.0.
Linux / macOS (x64 & arm64):```bash curl -fsSL https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/setup.sh | bash
**Windows** (PowerShell، x64 و arm64):```powershell
irm https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/install.ps1 | iex
| OS | x64 | arm64 |
|---|---|---|
| Linux (Kali موصى به) | ✅ | ✅ |
| macOS | ✅ | ✅ (Apple Silicon) |
| Windows | ✅ | ✅ |
Rust نقي + stdlib، لذا يُبنى أصليًا في كل مكان يعمل فيه سلسلة أدوات Rust المستقرة.
المثبّت يكتشف نظام التشغيل/البنية تلقائيًا ويُثبّت Rust إذا كان مفقودًا. على Windows الأصلي
استخدم install.ps1؛ تحت WSL2 / Git Bash يعمل سطر setup.sh الفردي أيضًا.
المثبّت يُثبّت Rust تلقائيًا عند الحاجة، ويستنسخ المستودع إلى ~/.neurosploit،
ويبني الملف التنفيذي للإصدار النهائي، ويربط neurosploit داخل ~/.local/bin. أعد تشغيله
في أي وقت للتحديث. يمكنك ضبطه عبر متغيرات البيئة: NEUROSPLOIT_REF (فرع/وسم)،
NEUROSPLOIT_DIR، PREFIX.
هل تفضّل البناء يدويًا؟```bash git clone https://github.com/JoasASantos/NeuroSploit && cd NeuroSploit/neurosploit-rs cargo build --release # → target/release/neurosploit
## ⚡ بدء سريع (60 ثانية)```bash
# easiest path — just run it; the interactive session asks everything:
neurosploit
# or one-liner (subscription login, no API key needed):
neurosploit run http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 -v
# white-box — review a source repository (SAST agents, file:line evidence):
git clone https://github.com/digininja/DVWA /tmp/DVWA
neurosploit whitebox /tmp/DVWA --subscription --model anthropic:claude-opus-4-8 -v
# grey-box — review the code AND exploit the running app together:
neurosploit greybox /tmp/DVWA --url http://localhost:8080/ --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
# host / infra — Linux / Windows / Active Directory (SSH/Win creds in creds.yaml):
neurosploit host 10.0.0.10 --creds creds.yaml --subscription --model anthropic:claude-opus-4-8 -v
# 🛰 Mission Control TUI — live panels (header/feed/findings/targets) + a composer
# you can type in WHILE the run streams (summary · pause · errors · notes):
neurosploit tui http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 --mcp
الدليل الكامل خطوة بخطوة لكل وضع (أسود/أبيض/رمادي/مضيف) موجود في TUTORIAL.md.
ليس لديك حساب؟ استخدم مفتاح API بدلاً من ذلك — انظر المصادقة.
اربط NeuroSploit في دورة حياة تطوير البرمجيات (SDLC). بدّل من REPL (/integrations) أو من CLI
(neurosploit integrations enable github|gitlab|jira). الرموز المميّزة لا تُخزَّن أبدًا
— فقط اسم متغير البيئة يُحفظ؛ القيمة تُقرأ من بيئتك.```bash
export GITHUB_TOKEN=ghp_... # PAT with repo scope (private repos)
neurosploit integrations enable github
neurosploit pr digininja/DVWA 42 --subscription --model anthropic:claude-opus-4-8 --comment
neurosploit watch myorg/private-app --branch main --subscription --model anthropic:claude-opus-4-8
export GITLAB_TOKEN=glpat-... ; neurosploit integrations enable gitlab neurosploit whitebox https://gitlab.com/myorg/private-svc --subscription --model anthropic:claude-opus-4-8
export JIRA_EMAIL=[email protected] JIRA_API_TOKEN=... # set base/project once: /integrations setup jira neurosploit whitebox https://github.com/myorg/app --jira --subscription --model anthropic:claude-opus-4-8
| التكامل | ماذا تحصل عليه | متغيرات البيئة |
|-------------|--------------|----------|
| **GitHub** | استنساخ خاص · مراجعة `pr` + تعليق · مراقبة الفرع عبر `watch` | `GITHUB_TOKEN` |
| **GitLab** | استنساخ خاص لاختبار الصندوق الأبيض/الرمادي | `GITLAB_TOKEN` |
| **Jira** | بطاقة واحدة لكل اكتشاف (`--jira`) | `JIRA_EMAIL`, `JIRA_API_TOKEN` |
📖 إعداد خطوة بخطوة لكل أداة: **[TUTORIAL-INTEGRATION.md](https://github.com/joasasantos/neurosploit/blob/HEAD/TUTORIAL-INTEGRATION.md)**.
---
## ☁️ بيانات اعتماد السحابة (AWS/GCP/Azure)
أضف كتلة سحابية إلى `creds.yaml` وسيقوم المنسّق بتصدير متغيرات البيئة الصحيحة حتى
يتمكن وكلاء AWS/GCP/Azure من تشغيل `aws` / `gcloud` / `az`. تبقى الأسرار في
ملفك/مدير الأسرار؛ يقوم الوكلاء **بتعداد للقراءة فقط أولاً، ولا إجراءات تخريبية أبدًا**.```yaml
# --- AWS: static keys (or a named profile) ---
aws:
access_key_id: AKIA...
secret_access_key: ...
# session_token: ... # if using temporary creds
region: us-east-1
# profile: my-sso-profile # alternative to keys
# --- GCP: service-account JSON (path recommended; inline single-line also works) ---
gcp:
service_account_json: /path/to/sa.json
project: my-project-id
# --- Azure: service principal (recommended for automation) ---
azure:
tenant_id: ...
client_id: ...
client_secret: ...
subscription_id: ...
احفظ كل أجهزة RF/IR في محيطك. ابحث في الإنترنت عن البائعين الذين يستخدمون نفس ترددات الإشارة.
اكتشاف الأجهزة في محيطك باستخدام الأداة:
اكتب الأمر
./pif -h
# OR (for more verbosity)
./pif -hh
امسح جميع الترددات في محيطك وسجّل الإشارات المرسلة:
./pif -f 300M -t 1000 -g 100 -d 0
احفظ هذا التردد للاستخدام لاحقًا:
./pif -s output
أرسل ترددًا إلى جهاز الاستقبال المقترن:
./pif -p output
sudo apt update
sudo apt install gcc make raspberrypi-kernel-headers
cd $HOME
git clone https://github.com/omerbenamram/pif.git
cd pif
./configure
sudo make install
``````bash
neurosploit host my-cloud-account --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 -v
وكلاء يغطون تصعيد صلاحيات IAM، وكشف التخزين (S3/GCS/Blob)، والتعرض الحاسوبي والشبكي، والأسرار (Secrets Manager / Secret Manager / Key Vault)، وإساءة استخدام حساب الخدمة/SP، وتعداد الهويات (Entra ID). المصادقة وفق أفضل الممارسات: مفاتيح وصول AWS أو ملف تعريف؛ GCP ملف JSON لحساب خدمة (GOOGLE_APPLICATION_CREDENTIALS)؛ Azure مدير خدمة (az login --service-principal).
امنح NeuroSploit دورين أو أكثر بأسماء محددة في creds.yaml وسيقوم بالمصادقة ككل دور واختبار الوصول بين الأدوار (وصول دور بصلاحيات منخفضة إلى كائن مستخدم آخر أو وظيفة إدارية يُعد نتيجة):```yaml
admin:
jwt: eyJ... # per role: jwt | header (raw) | cookie | apikey | login+username+password
user:
apikey: abc123 # → X-Api-Key: abc123
victim:
cookie: "session=deadbeef"
The input chunk is empty — no content was provided to translate.```bash
neurosploit run https://app.example --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 -v
يتم إثبات كل نتيجة من خلال زوج الطلبات المصرَّح به مقابل غير المصرَّح به، ضمن حاجز أمان البيانات (قراءة فقط، مع إخفاء PII).
يتم وسم كل طلب بمعرّف User-Agent (الافتراضي
NeuroSploit/<ver> …، ويمكن تغييره باستخدام /ua أو NEUROSPLOIT_UA) إضافةً إلى
ترويسة X-NeuroSploit-Scan، وكل نتيجة مختومة بعبارة "تم تحديدها
والتحقق منها بواسطة NeuroSploit" — بحيث ينتقل المصدر عبر حركة المرور،
ونص النتيجة، وfindings.json، وتذييل التقرير.
cd neurosploit-rs cargo build --release # → target/release/neurosploit
يتطلب سلسلة أدوات Rust (`rustup`). **موصى به: التشغيل على Kali Linux** (أو
صورة Kali Docker) حتى تكون الأدوات الهجومية التي يستخدمها الوكلاء موجودة مسبقًا:```bash
docker run -it --rm kalilinux/kali-rolling
apt update && apt install -y curl nmap ffuf nodejs npm
# rustscan (faster port scan): cargo install rustscan (or grab a release from GitHub)
الوكلاء يتراجعون بأمان: إذا لم يكن rustscan مثبتًا يستخدمون nmap؛ إذا لم يكن أي منهما، يفحصون باستخدام curl. إذا كان متصفح Playwright MCP متاحًا يستخدمونه للصفحات المعتمدة بكثافة على JavaScript، وإلا يعودون إلى curl.
شغّل بدون وسائط للحصول على معالج تفاعلي:```bash ./target/release/neurosploit
أو قم بتشغيله مباشرة:```bash
# Black-box — subscription (no API key), Opus, browser via Playwright if present, verbose
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
# Black-box — API keys, multi-model voting panel (1st finds, others adjudicate)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --vote-n 3
# White-box — clone a vulnerable app and review its source
git clone https://github.com/digininja/DVWA /tmp/DVWA
./target/release/neurosploit whitebox /tmp/DVWA \
--subscription --model anthropic:claude-opus-4-8 -v
# Offline pipeline self-test (no keys/login needed)
./target/release/neurosploit run http://testphp.vulnweb.com/ --offline
# Utilities
./target/release/neurosploit agents # library counts
./target/release/neurosploit models # providers & models
./target/release/neurosploit --help # full help with examples
run / whitebox)| الخيار | المعنى |
|---|---|
--model provider:model | قابل للتكرار. الأول = أساسي؛ والباقي يتحول تلقائيًا ويشكل هيئة التصويت. |
--subscription | استخدم تسجيل دخول CLI المحلي (Claude/Codex/Gemini/Grok) بدلاً من مفتاح API. |
--mcp | فعّل Playwright MCP (يتم توفيره تلقائيًا عبر npx؛ الأنظمة الخلفية بدون MCP تستخدم الأدوات المضمنة). |
--vote-n N | كم عدد النماذج التي يجب أن تتفق على أن النتيجة حقيقية (الافتراضي 3 / 2 لوضع whitebox). |
--max-agents N | الحد الأقصى لتشغيل الوكلاء (0 = كل من يطابق الاستطلاع). |
-v, --verbose | سجّل كل وكيل عند إطلاقه، واستطلاعه، وتصويته. |
يمكنك تشغيل NeuroSploit بطريقتين. وهما مستقلتان: اختر لكل تشغيل.
صدّر المفتاح (المفاتيح) للمزودين في لوحة النماذج الخاصة بك، ثم شغّل بدون --subscription. أي مزود متوافق مع OpenAI يعمل.```bash
export ANTHROPIC_API_KEY=sk-ant-... # anthropic:claude-* export OPENAI_API_KEY=sk-... # openai:gpt-* export GEMINI_API_KEY=AIza... # gemini:gemini-* export XAI_API_KEY=xai-... # xai:grok-* export NVIDIA_NIM_API_KEY=nvapi-... # nvidia_nim:* export DEEPSEEK_API_KEY=... # deepseek:* export MISTRAL_API_KEY=... # mistral:* export DASHSCOPE_API_KEY=... # qwen:* (Alibaba DashScope) export GROQ_API_KEY=... # groq:* export TOGETHER_API_KEY=... # together:* export MOONSHOT_API_KEY=... # moonshot:* (Kimi K3/K2) export OPENROUTER_API_KEY=... # openrouter:*
./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --vote-n 3 -v
./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --model gemini:gemini-2.5-pro
أو ضع المفاتيح في ملف `.env` وقم بتضمينه (`cp .env.example .env`; عدّل; `set -a; . ./.env; set +a`).
**الموفر → متغير البيئة → نقطة النهاية** (جميعها متوافقة مع OpenAI):
| `--model` بادئة | متغير البيئة | عنوان URL الأساسي |
|------------------|---------|----------|
| `anthropic:` | `ANTHROPIC_API_KEY` | api.anthropic.com |
| `openai:` | `OPENAI_API_KEY` | api.openai.com |
| `gemini:` | `GEMINI_API_KEY` | generativelanguage.googleapis.com |
| `xai:` | `XAI_API_KEY` | api.x.ai |
| `nvidia_nim:` | `NVIDIA_NIM_API_KEY` | integrate.api.nvidia.com |
| `deepseek:` | `DEEPSEEK_API_KEY` | api.deepseek.com |
| `mistral:` | `MISTRAL_API_KEY` | api.mistral.ai |
| `qwen:` | `DASHSCOPE_API_KEY` | dashscope-intl.aliyuncs.com |
| `groq:` | `GROQ_API_KEY` | api.groq.com |
| `together:` | `TOGETHER_API_KEY` | api.together.xyz |
| `moonshot:` | `MOONSHOT_API_KEY` | api.moonshot.ai |
| `openrouter:` | `OPENROUTER_API_KEY` | openrouter.ai |
| `ollama:` | _(لا يوجد)_ | localhost:11434 |
شغّل `./target/release/neurosploit models` للحصول على القائمة الكاملة للموفرين/النماذج.
#### 2) عبر الاشتراك (بدون مفتاح API)
الخيار `--subscription` يستخدم تسجيل دخول agentic-CLI المحلي بدلاً من مفتاح API — قم بتثبيت أحد برامج CLI التالية وتسجيل الدخول إليه أولاً:
| بادئة `--model` | الواجهة المستخدمة | تسجيل الدخول |
|------------------|----------|-------|
| `anthropic:` | `claude` (Claude Code) | `claude` ثم `/login` |
| `openai:` | `codex` | `codex` login |
| `gemini:` | `gemini` | `gemini` login |
| `xai:` | `grok` | `grok` login |```bash
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
target ─▶ recon (curl/nmap/…) ─▶ INTELLIGENT agent selection (recon-aware) ─▶ parallel exploitation ─▶ cross-model validation vote ─▶ severity/score ─▶ report (HTML + Typst PDF) ─▶ RL reward update
كل عملية تشغيل تنشئ مجلدًا مستقلًا بذاته `runs/ns-<ts>-<target>/`:
| الملف | المحتويات |
|------|----------|
| `status.json` | `running` → `complete` مع ملخص |
| `recon.json` / `recon.md` | سطح الهجوم المُعيَّن |
| `exploitation.md` | السجل النصي الخام لكل وكيل |
| `findings.json` / `findings.md` | النتائج المُتحقَّق منها (قابلة لإعادة الاستخدام بواسطة أدوات/أنظمة ذكاء اصطناعي أخرى) |
| `report.html`, `report.typ`, `report.pdf` | التقرير النهائي (PDF عبر محرك Typst) |
مخزن مكافآت تعلُّم التعزيز (`data/rl_state_rs.json`) يوجّه اختيار الوكلاء في عمليات التشغيل المستقبلية.
## مكتبة الوكلاء — `agents_md/` (303)
| الفئة | العدد | الغرض |
|----------|-------|---------|
| `vulns/` | 196 | استغلال فئة محددة من الثغرات الأمنية |
| `recon/` | 12 | جمع المعلومات / سطح الهجوم |
| `code/` | 78 | مراجعة الكود المصدري بأسلوب الصندوق الأبيض (SAST) |
| `meta/` | 17 | المنسّق، المدقّق، المُقيّمون، مُعدّ التقارير، RL |
كل وكيل عبارة عن دليل تشغيلي markdown مستقل بذاته (منهجية `## User Prompt` + قواعد صارمة لمكافحة النتائج الإيجابية الكاذبة في `## System Prompt`). ضَع ملف `.md` جديدًا في المجلد المطابق وسيلتقطه الهيكل البرمجي (harness).
---
## السلامة
للاستخدام في الاختبارات **المصرَّح بها** فقط. يتم توجيه الوكلاء للبقاء ضمن النطاق المحدد، وعدم تنفيذ أي إجراءات تخريبية أو DoS أبدًا، والمطالبة بإثبات الاستغلال. أنت مسؤول عن الحصول على إذن لأي هدف.
## الإسهامون
**Joas A Santos** و **Red Team Leaders**.
## الرخصة
MIT.