
منصة الفريق الأحمر بالذكاء الاصطناعي. تشغّل وكلاء LLM المستقلون اختبار اختراق من البداية إلى النهاية داخل حاوية Kali ويكتبون التقرير. محرك تخطيط/تنفيذ LangGraph، نماذج مستقلة عن المزوّد عبر LiteLLM، مخرجات PDF/JSON/SARIF. FastAPI + React.
يشغّل REDCELL فريقًا من وكلاء LLM خلال اختبار اختراق. يخطّط منسّق (orchestrator) للمهمة ويسلّم الأهداف إلى وكلاء منفّذين، يشغّلون أدوات حقيقية داخل حاوية Kali ويرفعون تقاريرهم. تشاهد المهمة وتوجّهها من وحدة تحكم المشغّل: محادثة تقود المنسّق، ورسم بياني حيّ للوكلاء وتدفّق نشاط، وعرض حيّ للمتصفح الذي يقوده الوكيل، وطرفية على أي reverse shell يلتقطه الوكيل، وتقرير لتسليمه عند انتهاء العمل.
النماذج قابلة للتوصيل عبر LiteLLM، فيمكنك توجيهه إلى OpenAI أو Anthropic أو Google أو GLM أو DeepSeek أو Kimi أو Ollama محلي أو أي شيء آخر يدعمه. تُحفظ نقطة استئناف لكل مهمة أثناء سيرها، فتُستأنف من حيث توقفت عند أي انهيار أو إعادة تشغيل.
run_command أي شيء بلا أداة مخصّصة.docker exec. اختر localhost أو خادمًا محفوظًا لكل جلسة؛ يشغّل الخادم البعيد الحاوية نفسها عبر SSH مع host networking.flowchart LR
UI["Operator console<br/>React + Vite"] -->|REST + WebSocket| API["FastAPI"]
API --> PG[(PostgreSQL)]
API --> RS[(Redis<br/>pub/sub + queue)]
API --> S3[(MinIO<br/>files & reports)]
RS --> W["Worker (arq)"]
W --> ENG["Engine<br/>LangGraph + LiteLLM"]
ENG -->|docker exec| KALI["Kali container<br/>local or remote over SSH"]
KALI --> TGT["Targets"]
W -->|events / chat / shell| RS
RS -->|stream| APIلا يشغّل الـ API الوكلاء. يضع المهمة في قائمة انتظار، وينفّذها الـ worker، وينشر الـ worker المخرجات على قنوات Redis التي يمرّرها الـ API إلى المتصفح عبر WebSockets.
Python 3.12، FastAPI، async SQLAlchemy + asyncpg، Alembic، arq، LangGraph، LiteLLM، ReportLab، PostgreSQL، Redis، MinIO، asyncssh. الواجهة الأمامية: React 18، Vite، TypeScript، Tailwind، TanStack Query، xterm. الأدوات: uv لـ Python، وbun للواجهة الأمامية.
# 1. infrastructure (Postgres, Redis, MinIO)
docker compose -f docker-compose.dev.yml up -d
# 2. Python deps, database, and seed data
uv sync --group live
uv run rc db upgrade
uv run rc seed # admin user, provider catalog, buckets
# 3. copy the env template
cp .env.example .env
# 4. run the three processes (separate terminals)
cd apps/api && uv run uvicorn app.main:app --host 127.0.0.1 --port 8080
cd apps/worker && uv run arq worker.settings.WorkerSettings
cd apps/web && bun install && bun run dev
أو ابدأ الثلاثة دفعة واحدة عبر مدير عمليات (مُعرَّفة في
Procfile): pipx install honcho ثم honcho start.
افتح http://localhost:5183 وسجّل الدخول بـ admin / admin.
تنفّذ المهام أدوات حقيقية افتراضيًا. أضف مفتاح API لمزوّد في الإعدادات وتأكد من قدرة Docker على سحب صورة Kali (martian56/kali:latest). لتشغيل تجريبي على مخرجات جاهزة بدلًا من ذلك، اضبط REDCELL_RUN_MODE=sim في .env.
تطبيقات معرّضة للثغرات عن قصد لتوجيه REDCELL إليها، كلها محلية:
docker compose -f docker-compose.targets.yml up -d
# DVWA http://localhost:8081 · Juice Shop http://localhost:3000 · WebGoat http://localhost:8082
شغّل REDCELL على خادم بالصور المنشورة خلف وكيل عكسي Caddy، بحيث يتشارك تطبيق الويب والـ API أصلًا واحدًا (بلا CORS) وتُدار HTTPS عنك. على خادم جديد:
git clone https://github.com/martian56/redcell.git
cd redcell
./deploy.sh
يثبّت السكربت Docker إن كان مفقودًا، ثم يسأل كيف سيُوصَل إلى REDCELL:
https://your-domain.يكتب إجاباتك في .env، ويسحب الصور، ويشغّل الحزمة. اقرأ كلمة مرور المسؤول المولّدة عبر docker compose logs init-secrets، ثم سجّل الدخول باسم admin وغيّرها. لتغيير طريقة الوصول لاحقًا، أعد تشغيل ./deploy.sh واختر خيارًا مختلفًا.
لا يُنشر سوى المنفذين 80 و443؛ تبقى Postgres وRedis وMinIO والـ API وتطبيق الويب على الشبكة الداخلية. تُبَثّ الملفات المخزّنة عبر الـ API، فلا يُكشف تخزين الكائنات أبدًا. راجع docs/DEPLOY.md لتفاصيل كل وضع.
إعدادات الواجهة الخلفية في ملف .env جذري واحد (انظر .env.example)، يقرأه كل من الـ API والـ worker. أهمّها:
REDCELL_RUN_MODE: live (افتراضي) أو sim.REDCELL_DATABASE_URL، REDCELL_REDIS_URL، REDCELL_S3_*: البنية التحتية.REDCELL_SECRET_KEY: مفتاح Fernet لتشفير بيانات الاعتماد المخزّنة. اضبط مفتاحًا حقيقيًا قبل الانتقال إلى الإنتاج.مفاتيح API للمزوّدين، وصورة التنفيذ، وضوابط النطاق، وهوية التقرير موجودة في صفحة الإعدادات وتُخزَّن في قاعدة البيانات، مشفّرة حيث يلزم.
apps/
api/ FastAPI: routers, WebSocket streams, auth
worker/ arq worker: runs engagements and report generation
web/ React operator console
packages/
core/redcell_core/ engine, models, repositories, storage, bus, reporting
api-client/ the single typed client the UI talks to (mock + HTTP)
docker/ Kali execution image, web/api images, Caddy config
docker-compose.yml full stack behind a Caddy reverse proxy (self-host)
docker-compose.dev.yml Postgres + Redis + MinIO
docker-compose.targets.yml local vulnerable targets
deploy.sh interactive self-host deploy
المساهمات مرحّب بها. راجع CONTRIBUTING.md للإعداد والاختبارات والأعراف، ومدونة السلوك. أبلغ عن المشكلات الأمنية بشكل خاص عبر SECURITY.md، لا عبر المشكلات العامة.
هذه أدوات دفاعية وهجومية مصرّح بها لمتخصصي الأمن وCTFs ومختبراتك الخاصة. لا تستخدمها ضد أنظمة لا تملك إذنًا كتابيًا باختبارها. المطوّرون غير مسؤولين عن سوء الاستخدام.