
AI 레드팀 플랫폼. 자율 LLM 에이전트가 Kali 컨테이너 내부에서 침투 테스트를 처음부터 끝까지 수행하고 보고서를 작성한다. LangGraph plan/act 엔진, LiteLLM을 통한 프로바이더 비종속 모델, PDF/JSON/SARIF 출력. FastAPI + React.
침투 테스트를 처음부터 끝까지 수행하고 보고서를 작성하는 AI 에이전트.
[!WARNING] REDCELL은 교육, 연구, 그리고 합법적이고 승인된 보안 테스트 용도로만 제공됩니다. 본인이 소유하거나 명시적인 서면 허가를 받은 시스템만, 합의된 범위 내에서만 사용하십시오. 컴퓨터 시스템에 대한 무단 접근 또는 방해는 아제르바이잔(형법 제271조~제273조) 및 대부분의 다른 국가 법률에 따라 범죄입니다. 사용 방식과 법 준수는 전적으로 본인의 책임입니다.
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| API
API는 에이전트를 실행하지 않습니다. 실행을 큐에 넣으면 워커가 이를 실행하고, 워커는 출력을 Redis 채널에 발행하며 API가 이를 WebSocket을 통해 브라우저로 중계합니다.
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 이미지(ghcr.io/martian56/redcell-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
게시된 이미지로 서버에서 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와 워커 모두 읽습니다. 알아둘 만한 항목:
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