
AI रेड-टीम प्लेटफ़ॉर्म। स्वायत्त LLM एजेंट Kali कंटेनर के अंदर शुरू से अंत तक पेनेट्रेशन टेस्ट चलाते हैं और रिपोर्ट लिखते हैं। LangGraph प्लान/एक्ट इंजन, LiteLLM के माध्यम से प्रोवाइडर-अज्ञेय मॉडल, PDF/JSON/SARIF आउटपुट। FastAPI + React।
REDCELL एक पेंटेस्ट के माध्यम से LLM एजेंटों की एक टीम चलाता है। एक ऑर्केस्ट्रेटर एंगेजमेंट की योजना बनाता है और उद्देश्यों को एक्ज़ीक्यूटर एजेंटों को सौंपता है, जो Kali कंटेनर के अंदर वास्तविक टूल चलाते हैं और वापस रिपोर्ट करते हैं। आप एक ऑपरेटर कंसोल से रन देखते और नियंत्रित करते हैं: एक चैट जो ऑर्केस्ट्रेटर को चलाती है, एक लाइव एजेंट ग्राफ और गतिविधि फ़ीड, एजेंट द्वारा चलाए जा रहे ब्राउज़र का लाइव दृश्य, एजेंट द्वारा पकड़े गए किसी भी रिवर्स शेल पर एक टर्मिनल, और काम पूरा होने पर सौंपने के लिए एक रिपोर्ट।
मॉडल LiteLLM के माध्यम से प्लग करने योग्य हैं, इसलिए आप इसे OpenAI, Anthropic, Google, GLM, DeepSeek, Kimi, स्थानीय Ollama, या इसके द्वारा समर्थित किसी भी अन्य चीज़ पर इंगित कर सकते हैं। हर रन चलते-चलते चेकपॉइंट होता है, इसलिए क्रैश या रीस्टार्ट वहीं से उठाता है जहाँ छोड़ा था।
run_command बिना समर्पित टूल वाली किसी भी चीज़ को कवर करता है।docker exec के माध्यम से Kali कंटेनर में चलते हैं। प्रति सत्र localhost या सहेजा गया सर्वर चुनें; एक दूरस्थ सर्वर होस्ट नेटवर्किंग के साथ SSH पर वही कंटेनर चलाता है।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| APIAPI एजेंट नहीं चलाता। यह एक रन को कतारबद्ध करता है, वर्कर इसे निष्पादित करता है, और वर्कर आउटपुट को 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। टूलिंग: Python के लिए uv, फ्रंटएंड के लिए 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 के साथ साइन इन करें।
रन डिफ़ॉल्ट रूप से वास्तविक टूल निष्पादित करते हैं। Settings में एक प्रदाता API कुंजी जोड़ें और सुनिश्चित करें कि Docker Kali इमेज (martian56/kali:latest) खींच सकता है। इसके बजाय कैन्ड आउटपुट के विरुद्ध ड्राई-रन के लिए, .env में REDCELL_RUN_MODE=sim सेट करें।
REDCELL को लक्षित करने के लिए जानबूझकर कमजोर ऐप्स, सभी स्थानीय:
docker compose -f docker-compose.targets.yml up -d
# DVWA http://localhost:8081 · Juice Shop http://localhost:3000 · WebGoat http://localhost:8082
प्रकाशित इमेज के साथ Caddy रिवर्स प्रॉक्सी के पीछे एक सर्वर पर REDCELL चलाएं, ताकि वेब ऐप और 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 और वर्कर दोनों पढ़ते हैं। जानने योग्य:
REDCELL_RUN_MODE: live (डिफ़ॉल्ट) या sim।REDCELL_DATABASE_URL, REDCELL_REDIS_URL, REDCELL_S3_*: इन्फ्रास्ट्रक्चर।REDCELL_SECRET_KEY: संग्रहीत क्रेडेंशियल्स को एन्क्रिप्ट करने के लिए Fernet कुंजी। प्रोडक्शन में जाने से पहले एक वास्तविक सेट करें।प्रदाता API कुंजी, निष्पादन इमेज, स्कोप गार्डरेल और रिपोर्ट ब्रांडिंग Settings पृष्ठ में रहते हैं और डेटाबेस में संग्रहीत होते हैं, जहाँ आवश्यक हो एन्क्रिप्टेड।
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 के माध्यम से निजी तौर पर करें, सार्वजनिक मुद्दों के रूप में नहीं।
यह सुरक्षा पेशेवरों, CTF और आपकी अपनी प्रयोगशालाओं के लिए रक्षात्मक और अधिकृत-आक्रामक टूलिंग है। उन सिस्टमों के विरुद्ध इसका उपयोग न करें जिनका परीक्षण करने के लिए आपके पास लिखित अनुमति नहीं है। अनुरक्षक दुरुपयोग के लिए जिम्मेदार नहीं हैं।