
AI 기반 에이전틱 레드팀 프레임워크로, 인간의 개입 없이 정찰부터 익스플로잇, 사후 익스플로잇까지 공격적 보안 운영을 자동화합니다.
세상이 알기 전에 숨겨진 것을 드러내세요
정찰(reconnaissance), 공격(exploitation), 사후 공격(post-exploitation)을 단일 파이프라인으로 연결하는 자율 AI 프레임워크로, 나아가 모든 발견 사항을 분류하고 코드 수정을 구현한 뒤 저장소에 풀 리퀘스트를 엽니다. 첫 패킷부터 병합된 패치까지, 모든 중요한 단계마다 인간의 감독이 수반됩니다.
법적 고지: 이 도구는 승인된 보안 테스트, 교육 목적, 연구 용도로만 사용해야 합니다. 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템을 스캔, 프로빙 또는 공격하는 데 이 시스템을 절대 사용하지 마십시오. 무단 접근은 불법이며 법에 따라 처벌받을 수 있습니다. 이 도구를 사용함으로써 귀하는 자신의 행동에 대한 전적인 책임을 수락합니다. 전체 면책 조항 읽기
세 개의 AI 에이전트가 병렬로 테스트를 수행합니다: 하나는 Hydra로 자격 증명 정책을 검증하고, 하나는 권한 상승을 통한 CVE 악용 경로를 확인하며, 하나는 프런트엔드 전반의 XSS 취약점을 매핑합니다.
RedAmon은 여러 정찰 도구를 병렬로 실행하며, 각 도구는 실시간으로 결과를 공유 지식 그래프에 공급합니다. 도구는 기동하고, 실시간 발견 사항에 따라 범위를 조정하며, 수동 개입 없이 서로 조율합니다. 서브도메인, 포트, 엔드포인트, 파라미터 등 전체 공격 표면이 몇 시간이 아닌 몇 분 만에 구체화됩니다.
업계 표준 스캐너를 서로 연결하여 각 도구의 출력이 다음 도구로 전달된 후, 단일 Neo4j 지식 그래프로 병합됩니다. 발견 사항은 중복 제거되고 관계는 명시적으로 표현되며, 에이전트는 자연어로 질의할 수 있는 구조화되고 완전히 연결된 공격 표면을 상속받습니다.
Reconnaissance ➜ Exploitation ➜ Post-Exploitation ➜ AI Triage ➜ CodeFix Agent ➜ GitHub PR
RedAmon은 취약점을 찾는 데서 멈추지 않고 직접 수정합니다. 파이프라인은 대상의 전체 공격 표면을 매핑하는 6단계 정찰 엔진으로 시작하여, CVE 악용 가능성을 검증하고 자격 증명 정책을 테스트하며 측면 이동 경로를 매핑하는 자율 AI 에이전트에게 제어권을 넘깁니다. 모든 발견 사항은 Neo4j 지식 그래프에 기록됩니다. 공격 단계가 완료되면 CypherFix가 이어받습니다. AI 분류 에이전트가 수백 개의 발견 사항을 상호 연관시키고, 중복을 제거하며, 악용 가능성 순으로 순위를 매깁니다. 그런 다음 CodeFix 에이전트가 저장소를 복제하고, 11개의 코드 인식 도구로 코드베이스를 탐색하며, 표적 수정을 구현하고, 검토와 병합을 위해 GitHub 풀 리퀘스트를 엽니다.
커뮤니티 기여를 받을 예정 기능이 포함된 공개 프로젝트 보드 를 운영하고 있습니다. 작업을 골라 PR을 제출하세요!
기여하고 싶으신가요? 시작하는 방법은 CONTRIBUTING.md를 참조하세요.
--gvm 사용 시 8GB)로 설정합니다. 경로가 기본 File Sharing 목록 안에 포함되도록 ~/ 아래에 클론하세요./mnt/c/가 아닌 WSL2 파일시스템(~/) 내부에서 실행하세요.이것으로 끝입니다. 호스트에 Node.js, Python 또는 보안 도구가 필요하지 않습니다.
| 리소스 | OpenVAS 없음 | OpenVAS 포함(전체 스택) |
|---|---|---|
| CPU | 2코어 | 4코어 |
| RAM | 4GB | 8GB(16GB 권장) |
OpenVAS 없이 실행하면 7개의 컨테이너가 실행됩니다: webapp, postgres, neo4j, agent, kali-sandbox, recon-orchestrator, docker-broker(docker-broker는 필터링 Docker 소켓 프록시로, 정찰 오케스트레이터가 생성한 스캔 컨테이너가 이 프록시를 통과하므로 알려진 도구 이미지만 실행할 수 있습니다). OpenVAS 포함 시 런타임 컨테이너 4개(gvmd, ospd-openvas, gvm-postgres, gvm-redis)와 취약점 피드용 일회성 데이터 초기화 컨테이너 약 8개(~170K+ NVT)가 추가됩니다. 첫 실행 시 GVM 피드 동기화에 약 30분이 소요됩니다. 동적 정찰 및 스캔 컨테이너는 운영 중 필요에 따라 생성되며 추가 리소스가 필요합니다.
실제 배포를 위한 디스크 용량. 위 수치는 스택을 빌드하고 실행하는 데 필요한 최소 수치입니다(고정 플랫폼 설치 공간: OpenVAS 없이 약 70GB, 포함 시 약 95GB - 공유 Kali 베이스 레이어의 중복을 제거한 실제 온디스크 이미지 크기 기준). 실제 엔지니어링 작업을 수행하는 상시 서버의 경우 운영 데이터용 여유 공간 약 100GB를 추가하세요. Neo4j 공격 그래프, 스캔 아티팩트/출력물, Postgres, 컨테이너 로그는 사용할수록 계속 커집니다. 즉 OpenVAS 없이 200GB, OpenVAS 포함 시 250GB가 필요하며, 각각 운영용 여유 공간이 100GB 이상 남습니다. 전체 내역은 배포 가이드를 참조하세요.
git clone https://github.com/samugit83/redamon.git cd redamon
./redamon.sh install
./redamon.sh install --gvm
스크립트는 모든 이미지를 빌드하고 서비스를 시작합니다.
### 2. 관리자 계정 만들기
설치가 끝날 때(그리고 관리자가 없을 경우 `./redamon.sh up` 또는 `./redamon.sh update`를 실행할 때마다) 터미널에서 입력을 요청받게 됩니다:```
[WARN] No admin user found. Let's create one.
Admin name: Your Name
Admin email: [email protected]
Admin password: ********
Confirm password: ********
Admin, 본인 이름, 원하는 무엇이든).http://localhost:3000/login에서 로그인하는 데 사용됩니다.생성 후 **http://localhost:3000**을 열고 방금 설정한 이메일과 비밀번호로 로그인하세요.
프롬프트가 표시되지 않았나요? 처음 부팅이 무거운 경우(특히
--gvm또는 작은 VM) 웹앱이 시작되는 데 시간이 걸릴 수 있으므로 자동 프롬프트가 건너뛰어질 수 있습니다. 관리자는 언제든지 다음 명령으로 생성할 수 있습니다:./redamon.sh create-admin이 명령은 웹앱을 기다린 후 동일한 세부 정보를 입력하라는 메시지를 표시합니다. 다시 실행해도 안전합니다. 기존 관리자의 이메일을 재사용하면 해당 비밀번호가 재설정되고, 새 이메일을 사용하면 관리자가 추가됩니다.
관리자가 할 수 있는 작업:
admin 또는 standard 역할을 할당.표준 사용자는 (관리자가 설정한 비밀번호가 있는 경우) 로그인, 자신의 비밀번호 변경, 자신의 범위 내에서 앱 사용만 할 수 있습니다. 사용자 전환, 사용자 생성 또는 사용자 관리 접근은 할 수 없습니다.
관리자 비밀번호를 잊어버린 경우 터미널에서 재설정하세요:```bash ./redamon.sh reset-password # reset an EXISTING user's password ./redamon.sh create-admin # create the first admin, or reset an admin by re-entering its email
Use `create-admin` when no admin exists yet (it upserts on email); `reset-password` only updates a user that already exists.
### 3. 설정
**http://localhost:3000/settings**를 열고(헤더의 톱니바퀴 아이콘) 모든 것을 구성하세요. `.env` 파일은 필요 없습니다.
- **LLM Providers** -- OpenAI, Anthropic, OpenRouter, AWS Bedrock 또는 모든 OpenAI 호환 엔드포인트(Ollama, vLLM, Groq 등)에 대한 API 키를 추가합니다. 각 공급자는 저장 전에 테스트할 수 있습니다. 프로젝트 설정의 모델 선택기는 구성된 공급자로부터 사용 가능한 모델을 **동적으로 가져옵니다**.
- **API Keys** -- Tavily, Shodan, SerpAPI, NVD, Vulners, URLScan 및 위협 인텔리전스 키(Censys, FOFA, OTX, Netlas, VirusTotal, ZoomEye, CriminalIP)를 추가하여 확장된 에이전트 기능(웹 검색, OSINT, CVE 조회, 패시브 위협 인텔리전스)을 활성화할 수 있습니다. **Uncover 다중 엔진 검색** 키(Quake, Hunter, PublicWWW, HunterHow, Google, Onyphe, Driftnet)는 13개 검색 엔진에 걸쳐 대상 탐색을 확장하며, 공유 키(Shodan, Censys, FOFA 등)는 자동으로 재사용됩니다. **키 순환**을 지원하므로 도구별로 여러 키를 구성하고 라운드로빈 방식으로 자동 순환하여 비율 제한을 피할 수 있습니다.
- **Tunneling** -- 리버스 셸 터널링을 위해 ngrok 또는 chisel을 구성합니다. 변경 사항은 컨테이너를 재시작하지 않고 즉시 적용됩니다.
모든 설정은 데이터베이스에 사용자별로 저장됩니다. 자세한 설정 지침은 **[AI Model Providers](https://github.com/samugit83/redamon/wiki/AI-Model-Providers)** 위키 페이지를 참조하세요.
### 4. 웹앱 열기
**http://localhost:3000**으로 이동하여 프로젝트를 생성하고, 대상을 구성한 다음 스캔을 시작하세요.
> 모든 기능에 대한 자세한 안내는 **[Wiki](https://github.com/samugit83/redamon/wiki)**를 확인하세요.
>
> 문제가 있나요? **[Troubleshooting](https://github.com/samugit83/redamon/blob/HEAD/readmes/TROUBLESHOOTING.md)** 가이드 또는 **[Wiki Troubleshooting](https://github.com/samugit83/redamon/wiki/Troubleshooting)** 페이지를 참조하세요.
### 관리 명령어
모든 수명주기 관리는 단일 스크립트로 처리됩니다.
| 명령어 | 설명 |
|---------|-------------|
| `./redamon.sh install` | 빌드 + 경량 시작(GVM 없음, Knowledge Base 없음, Tavily 전용 웹 검색) |
| `./redamon.sh install --kbase` | 빌드 + 로컬 Knowledge Base 포함 시작(약 4.4GB 더 무거움) |
| `./redamon.sh install --gvm` | 빌드 + GVM/OpenVAS 포함 시작 |
> 플래그는 조합할 수 있습니다: `./redamon.sh install --gvm --kbase`
| 명령어 | 설명 |
|---------|-------------|
| **`./redamon.sh update`** | **최신 버전을 가져오고 변경된 서비스만 스마트 재빌드합니다(설치 시 선택한 GVM/KB 설정 유지)** |
| `./redamon.sh up` | 서비스 시작(설치 시 GVM 및 KB 모드 자동 감지) |
| `./redamon.sh up dev` | 핫 리로드가 포함된 개발 모드로 시작(설치 시 GVM 및 KB 모드 자동 감지) |
| `./redamon.sh down` | 서비스 중지(데이터 유지) |
| `./redamon.sh status` | 실행 중인 서비스, 버전, GVM 모드, KB 상태 표시 |
| `./redamon.sh clean` | 컨테이너 + 이미지 제거, 데이터 유지 |
| `./redamon.sh create-admin` | 관리자 로그인 생성(또는 재설정) -- 설치 시 프롬프트가 나타나지 않았다면 사용 |
| `./redamon.sh reset-password` | 터미널에서 기존 사용자의 비밀번호 재설정 |
| `./redamon.sh purge` | 모든 데이터를 포함한 모든 항목 제거 |
### 새 버전으로 업데이트
그냥 실행하세요:```bash
./redamon.sh update
The script pulls the latest code from GitHub, detects which Dockerfiles and source files changed, rebuilds only the affected images, and restarts the updated services. Your databases, scan results, and reports are preserved -- volumes are never deleted.
새 릴리스에 백그라운드 서비스가 추가될 때의 일회성 참고 사항.
update는 새로 받은 스크립트를 다시 실행하므로 새 빌드/시작 규칙이 자동으로 적용됩니다. 단, 이는 업데이트 이전 버전의 스크립트에만 해당됩니다. 자기 복구 기능이 도입되기 전 버전에서 업데이트하는 경우(즉, 해당 기능이 포함된 버전으로의 첫 업데이트),update직후에./redamon.sh up을 한 번 실행하여 새로 추가된 핵심 서비스를 시작하세요:./redamon.sh update && ./redamon.sh up
up은 멱등적입니다. 즉, 누락된 것만 시작하고 실행 중인 컨테이너는 건드리지 않습니다. 이 일회성 단계를 거치면 이후에는 일반./redamon.sh update만으로 모든 것이 처리됩니다.
웹앱도 자동으로 업데이트를 확인하고 새 버전이 있으면 UI에 알림을 표시합니다.
위의 빠른 시작은 localhost에서 RedAmon을 로컬로 실행합니다. Linux 서버(EC2, DigitalOcean, Hetzner 또는 베어메탈)에서 공유 가능하고 인터넷에서 접근할 수 있는 인스턴스를 실행하려면 deploy/single-host/의 단일 호스트 배포를 사용하세요. 이 방식은 노트북에서 SSH를 통해 redamon.sh를 구동하며, RedAmon이 기본적으로 생략하는 인터넷 노출 보안 계층(nginx + TLS(Let's Encrypt), 호스트 방화벽, SSH 강화, fail2ban)으로 스택을 감쌉니다. 단일 공용 HTTPS 오리진을 통해 로그인 페이지만 접근 가능하고 나머지는 모두 루프백에 바인딩된 상태로 유지됩니다.```bash
cd deploy/single-host
cp .env.example .env # set HOST_IP, DOMAIN, SSH_KEY_PATH, OPERATOR_ALLOW_CIDRS,
# LETSENCRYPT_EMAIL, ADMIN_* ...
./deploy.sh init # first build takes 30-60 min, then log in at https:///
전체 안내: [위키: 서버에 배포하기](https://github.com/samugit83/redamon/wiki/Deploying-to-a-Server). 전체 참조: [deploy/single-host/README.md](https://github.com/samugit83/redamon/blob/HEAD/deploy/single-host/README.md).
### 개발 모드
기여자와 **Next.js fast refresh**를 사용한 활발한 개발을 위해:```bash
./redamon.sh up dev # auto-detects GVM mode from install
도구 이미지는 아직 존재하지 않을 경우 첫 실행 시 자동으로 빌드됩니다. dev override는 프로덕션 webapp 이미지를 소스 코드가 볼륨 마운트된 dev 컨테이너로 교체합니다. 파일을 저장할 때마다 브라우저에서 즉시 핫 리로드가 트리거됩니다.
단일 서비스 재빌드:```bash docker compose build # Rebuild one image docker compose up -d --no-deps # Restart only that service
**공통 개발 명령어:**```bash
docker compose ps # Check service status
docker compose logs -f <service> # Follow logs for a service
docker compose down # Stop all (preserves volumes)
docker compose --profile tools down --rmi local # Remove built images
docker compose --profile tools down --rmi local --volumes --remove-orphans # Full cleanup
디스크 공간 확보:```bash
docker system df # Show Docker disk usage (add -v for per-image breakdown)
docker image prune -f # Remove dangling images (auto-run by ./redamon.sh update)
docker builder prune -f # Clear build cache (NOT auto-cleaned, can grow to many GB over time)
docker container prune -f # Remove stopped containers
> 전체 개발 참조 자료(핫 리로드 규칙, 일반 명령, 중요 규칙 및 AI 지원 코딩 지침)는 **[개발자 가이드](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.DEV.md)**를 참조하세요.
---
### 지식 베이스 (RAG 강화 웹 검색)
에이전트의 `web_search` 도구에는 로컬 **지식 베이스**가 포함되어 있습니다. 이는 Tavily 웹 검색으로 폴백하기 전에 선별된 보안 데이터셋(GTFOBins, LOLBAS, OWASP WSTG, NVD CVE, ExploitDB, Nuclei 템플릿 및 에이전트 스킬 문서)을 검색하는 RAG 파이프라인입니다. KB가 높은 신뢰도의 일치 항목을 반환하면 Tavily는 완전히 건너뛰어 더 빠르고 오프라인에서도 사용 가능한 결과를 얻을 수 있습니다.
**작동 방식:** KB가 활성화되면 `install` / `up` / `update`는 경량 KB 인덱스(CPU에서 약 1,200개 청크, 10-15분)를 빌드합니다. 쿼리 시점에 에이전트는 하이브리드 검색 파이프라인(FAISS 벡터 검색 + Neo4j 전체 텍스트 검색)을 실행하고, 크로스 인코더로 재순위화한 다음 신뢰도 임계값을 확인합니다. 점수가 충분히 높으면 결과는 로컬 KB에서 제공됩니다. 그렇지 않으면 Tavily로 폴백하거나 두 결과를 병합합니다.
**기본 동작:** KB는 **옵트인** 방식입니다. `./redamon.sh install`은 경량 설치(Tavily 전용 웹 검색, 약 4.4GB 더 가벼움)를 생성합니다. 로컬 KB를 활성화하려면 `--kbase`를 전달하세요:```bash
./redamon.sh install --kbase
--kbase로 처음 설치하면 RedAmon이 사용자의 하드웨어(GPU / CPU / API)를 감지하고 빠른 시작 프로필을 제공합니다. 선택 항목은 유지되므로 이후 update / up 명령은 플래그를 다시 전달하지 않고도 이를 따릅니다.
API 임베딩으로 수집 속도 높이기: 기본적으로 임베딩은 CPU/GPU에서 로컬로 실행됩니다. CPU 전용 머신에서는 대규모 데이터셋(ExploitDB, NVD)을 처리하는 데 몇 시간이 걸릴 수 있습니다. 템플릿에서 .env 파일을 생성하여 임베딩을 외부 API로 오프로드할 수 있습니다:```bash
cp .env.example .env
그런 다음 `.env`에서 임베딩 API를 구성합니다:
| 변수 | 기본값 | 설명 |
|----------|---------|-------------|
| `KB_EMBEDDING_USE_API` | `false` | 로컬 모델 대신 API 기반 임베딩을 사용하려면 `true`로 설정하세요 |
| `KB_EMBEDDING_API_BASE_URL` | *(비어 있음 = OpenAI)* | 모든 OpenAI 호환 엔드포인트 (Ollama, vLLM, LiteLLM, Together AI, Azure) |
| `KB_EMBEDDING_API_KEY` | *(비어 있음)* | 임베딩 공급자의 API 키 |
| `KB_EMBEDDING_API_MODEL` | `text-embedding-3-small` | 모델 이름 (공급자별) |
| `NVD_API_KEY` | *(비어 있음)* | CVE 수집을 10배 더 빠르게 해주는 무료 NVD API 키 |
Ollama 사용 예시 (무료, 로컬, API 키 비용 없음):```bash
KB_EMBEDDING_USE_API=true
KB_EMBEDDING_API_BASE_URL=http://host.docker.internal:11434/v1
KB_EMBEDDING_API_KEY=ollama
KB_EMBEDDING_API_MODEL=nomic-embed-text
중요: 수집(ingestion)과 쿼리(query)는 동일한 모델을 사용해야 합니다. 모델을 전환하면 인덱스를 다시 빌드하세요:
make -C knowledge_base kb-rebuild-lite MODE=docker
KB 관리:```bash ./redamon.sh kb build lite # Build with lite profile (~30-60s with API) ./redamon.sh kb build standard # Add NVD CVEs ./redamon.sh kb update nvd # Incremental NVD refresh ./redamon.sh kb stats # Show index statistics ./redamon.sh kb rebuild lite # Wipe and rebuild from scratch
> 전체 기술 문서(쿼리 파이프라인, 데이터 소스, 수집 프로파일, 점수 산정, 보안 모델)는 **[Knowledge Base Technical Reference](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.KBASE.md)** 또는 **[Wiki: Knowledge Base & Web Search](https://github.com/samugit83/redamon/wiki/Knowledge-Base-Web-Search)** 문서를 참조하세요.
---
## 목차
- [전체 Wiki 문서](https://github.com/samugit83/redamon/wiki)
- [개요](#overview)
- [기업 환경을 위한 보안 내재 설계](#built-for-enterprise-secure-by-design)
- [보안 및 위협 모델](#security--threat-model)
- [주요 기능](#feature-highlights)
- [시스템 아키텍처](#system-architecture)
- [구성 요소](#components)
- [문서](#documentation)
- [문제 해결](#troubleshooting)
- [RedAmon HackLab](#redamon-hacklab)
- [커뮤니티 쇼케이스](#community-showcase)
- [법적 고지](#legal)
---
## 개요
RedAmon은 자동화된 정찰, AI 기반 익스플로잇, 그래프 기반 인텔리전스를 하나의 종단 간(end-to-end) 공격적 보안 파이프라인으로 연결하는 모듈형 컨테이너 기반 침투 테스트 프레임워크입니다. 모든 구성 요소는 Docker 내부에서 실행되며(호스트에 도구를 설치하지 않음) 잘 정의된 API를 통해 통신하므로 각 계층이 독립적으로 발전할 수 있습니다.
플랫폼은 여섯 가지 핵심 축을 기반으로 구축되었습니다:
| 핵심 축 | 기능 |
|--------|-------------|
| **정찰 파이프라인** | 대상의 전체 공격 표면을 매핑하는 **병렬화된 fan-out / fan-in** 스캐닝 파이프라인으로, 도메인 **또는 IP 주소 / CIDR 범위**에서 시작하여 서브도메인 탐지(동시 실행 도구 5개)부터 포트 스캐닝, Nmap 서비스 탐지 및 NSE 취약점 스크립트, HTTP 프로빙, 리소스 열거, 취약점 탐지까지 수행합니다. 독립 모듈은 `ThreadPoolExecutor`를 통해 동시에 실행되고, 그래프 DB 업데이트는 백그라운드 스레드에서 이루어지며, 결과는 풍부하고 쿼리 가능한 그래프로 저장됩니다. 여기에 독립 실행형 GVM 네트워크 스캐닝, GitHub 시크릿 헌팅, TruffleHog 딥 시크릿 스캐닝 모듈이 함께 제공됩니다. |
| **AI 에이전트 오케스트레이터** | 그래프에 대해 추론하고 MCP를 통해 보안 도구를 선택하며 정보 수집(Informational) / 익스플로잇(Exploitation) / 사후 익스플로잇(Post-Exploitation) 단계를 전환하는 LangGraph 기반 자율 에이전트로, 채팅을 통해 실시간으로 제어할 수 있습니다. |
| **공격 표면 그래프** | 17가지 노드 유형과 20개 이상의 관계 유형을 가진 Neo4j 지식 그래프로, 모든 발견 사항에 대한 단일 진실 공급원(single source of truth) 역할을 하며 AI 에이전트가 모든 결정 전에 쿼리하는 기본 데이터 소스입니다. |
| **EvoGraph** | 공격 수명 주기 전반에 걸쳐 모든 단계, 발견 사항, 결정, 실패를 추적하는 Neo4j의 영구적이고 진화적인 공격 체인 그래프로, 정찰 그래프를 연결하고 세션 간 인텔리전스 축적을 가능하게 합니다. |
| **CypherFix** | 자동화된 취약점 수정 파이프라인: AI 분류(triage) 에이전트가 그래프의 발견 사항을 연관시키고 우선순위를 지정하면, CodeFix 에이전트가 대상 저장소를 클론하고 11가지 코드 도구를 사용한 ReAct 루프로 수정을 구현한 뒤 GitHub 풀 리퀘스트를 생성합니다. |
| **프로젝트 설정 엔진** | Naabu 스레드 수부터 Nuclei 심각도 필터, 에이전트 승인 게이트까지 모든 도구의 동작을 제어하는 프로젝트별 매개변수 500여 개(웹앱 UI를 통해 노출). |
---
## 기업 환경을 위한 보안 내재 설계
RedAmon은 단순히 연구자의 랩톱이 아니라 실제 보안 조직에 바로 투입되도록 설계되었습니다.
- **보안 내재 설계, STRIDE 위협 모델링 적용.** 전체 플랫폼은 STRIDE 하에서 종단 간 평가되며 독립적으로 검증된 단계로 강화됩니다: 코드 수준 권한 분리, 호스트 소켓 앞의 필터링 Docker 브로커, fail-closed 인증, SSRF 이그레스(egress) 가드, 시크릿 리뎍션(redaction), 추가 전용(append-only) 감사 추적, 그리고 정부, 군사, 정부간 기관 대상을 차단하는 비활성화 불가능한 가드레일을 포함합니다. [Security Posture](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.SECURITY_POSTURE.md) 및 [Threat Model](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.TM.SYSTEM_OVERVIEW.md) 문서를 참조하세요.
- **완전 격리 및 컨테이너화.** 모든 도구, 스캐너, 에이전트는 호스트 수준 실행 없이 자체 컨테이너에서 실행됩니다. 스캔 작업은 자체 파일시스템과 네트워크 네임스페이스를 가진 임시(ephemeral) 형제 컨테이너로 생성되었다가 완료되면 제거되어 호스트를 깨끗하게 유지하고 모든 익스플로잇의 피해 범위(blast radius)를 차단합니다.
- **거버넌스 및 멀티테넌시 지원.** 관리자 및 표준 역할을 갖춘 다중 사용자 / 다중 프로젝트 테넌시, 모든 노드에 대한 DB 수준의 `user_id + project_id` 스코프, Rules-of-Engagement(RoE) 적용, 인간 개입(human-in-the-loop) 승인 게이트, 그리고 500여 개의 프로젝트별 설정을 통해 엔터프라이즈 관제 업무에 필요한 통제력을 팀에 제공합니다.
**단일 명령으로 서버에 배포.** 로컬 `localhost`를 넘어, RedAmon은 강화된 [single-host deploy](https://github.com/samugit83/redamon/blob/HEAD/deploy/single-host/)를 제공합니다. 이는 공유 가능하고 인터넷에서 접근 가능한 인스턴스를 구축하고 nginx + TLS(Let's Encrypt), 호스트 방화벽, SSH 강화, fail2ban으로 스택을 보호하여 단일 공개 HTTPS 오리진(origin)을 노출합니다:```bash
cd deploy/single-host
cp .env.example .env # set DOMAIN, HOST_IP, SSH_KEY_PATH, ADMIN_* ...
./deploy.sh init # builds the full stack and brings it up over SSH
전체 워크스루: Wiki: 서버 배포.
RedAmon은 공격형 소프트웨어이므로, 다른 시스템을 테스트할 때 적용하는 기준을 스스로에게도 적용합니다. 보안 내재 설계(secure by design) 로 설계되었으며 STRIDE 방법론(Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege)에 따라 엔드투엔드로 평가되었고, 발견된 문제는 순차적으로 독립 검증된 단위(wave)로 해결되었습니다.
이는 마케팅 주장이 아닙니다. 게시된 증거 기반 분석에 근거하며 직접 읽을 수 있습니다:
구현된 기능의 핵심 사항:
--privileged 거부, host-root 바인딩, 위험한 capabilities 차단).취약점을 발견하셨나요? 비공개 공개 절차는 Security Policy를 참조하세요.
Kali Linux 컨테이너에서 실행되는 완전 자동화된 엔드투엔드 외부 공격 표면 매퍼(external attack-surface mapper) 입니다. 하나의 입력(루트 도메인, 서브도메인 목록, 또는 IP/CIDR 범위)을 주면 파이프라인은 대상의 완전하고 구조화된 그림을 반환합니다: 모든 서브도메인, 모든 활성 호스트, 모든 오픈 포트, 기술 스택을 포함한 모든 HTTP 서비스, 크롤링된 모든 엔드포인트와 발견된 파라미터, 대상이 취약할 가능성이 있는 모든 CVE. 여기에 더해 GraphQL API, 서브도메인 탈취, 리버스 프록시 뒤의 숨은 가상 호스트, 웹 캐시 포이즈닝 및 디셉션 전용 스캐너와, 헤더 / favicon / 타이틀 / 경로 / 파라미터 이름 시그니처를 사용해 AI 런타임 / 벡터 DB / LLM 프론트엔드 / 프록시 / MCP 서버 / 채팅 / 완성(completion) / 임베딩 / RAG 엔드포인트와 프롬프트 인젝션 가능 파라미터를 태깅하는 Adversarial AI Surface 계층, 그리고 전용 AI Surface Recon 모듈(무해한 chat-shape 프로브, MCP 핸드셰이크 + 툴 포이즈닝 스캔, 벡터 DB 읽기 — LLM 호출 없음)로 이들을 능동적으로 확인합니다.
모든 것은 fan-out / fan-in 아키텍처로 실행됩니다: 각 단계는 작업이 허용하는 만큼 많은 도구를 병렬로 실행한 후, 다음 단계가 시작되기 전에 수렴합니다. 40개 이상의 업계 도구가 하나의 조정된 워크플로우로 통합되고, 와일드카드 DNS 포이즈닝은 puredns로 자동 필터링되며, 스텔스 모드(stealth mode) 는 능동 프로빙이 금지된 환경에서 전체 파이프라인을 수동 소스만 사용해 실행합니다. 발견 항목은 백그라운드 스레드에서 Neo4j 지식 그래프로 스트리밍되어 스캔이 데이터베이스 쓰기로 블로킹되지 않으며, 원본 JSON은 다운로드용으로 보존됩니다. 도구별 상세 분석은 아래 매트릭스에 있습니다.
*Amass는 구성 시 능동 모드로 실행할 수 있습니다. Knockpy는 능동 DNS 프로빙을 수행합니다.
전체 스캔을 다시 실행하지 않고 파이프라인의 단일 도구를 독립적으로 실행할 수 있습니다. 프로젝트당 최대 12개의 부분 정찰을 병렬로 실행할 수 있으며, 각각은 독립적인 로그, 중지 컨트롤, 상태 배지를 가지며 Graph 도구 모음과 프로젝트 설정 헤더에 모두 표시됩니다. 각 도구 섹션에는 플레이 버튼이 있어 모달을 열어 기존 그래프 데이터를 검토하고, 커스텀 대상(서브도메인, IP, 포트 또는 URL)을 추가하고, 도구를 격리 실행할 수 있습니다. 결과는 MERGE 연산을 사용해 Neo4j 그래프에 다시 병합됩니다 — 중복은 재생성되지 않고 업데이트됩니다. 도구는 모든 프로젝트 설정(타임아웃, 워드리스트, API 키, 프록시)이 자동 적용된 상태로 실행됩니다. 모든 파이프라인 도구가 부분 정찰을 지원합니다.
정찰 파이프라인 내부에서 정적 조회가 역사적으로 빗나가기 쉬웠던 지점에 연결된 선택적 LLM 보강 결정 지점입니다 — Nuclei는 탐지된 기술 스택에 맞춰 태그 목록을 정리하고, WAF 분류기는 헤더가 제거된 Cloudflare/AWS WAF/Imperva를 감지하며, FFuf, Nuclei 오탐 필터링, 서브도메인 탈취 판별 등 여러 곳에서 사용됩니다. 각 훅은 정적 경로 이후의 캐스케이드 폴백(cascade fallback) 이며 결정론적 안전 폴백을 갖추고 있어, LLM 장애가 스캔을 중단시킬 수 없습니다. Target 탭의 마스터 토글 하나로 모두 제어됩니다.
정찰 파이프라인이 AI 표면을 찾아내는 곳에서, AI Gauntlet은 이를 공격합니다. 발견된 LLM 엔드포인트를 선택하고(또는 커스텀 URL 입력), 도구를 선택하고, Rules of Engagement(교전 규칙)를 확인한 후 실행합니다: 단기 컨테이너가 네 가지 업계 레드팀 도구로 대상을 실행합니다 — garak(광범위 단일 샷 스캐너, 프로브 패밀리 40개), PyRIT(제한된 멀티턴 탈옥), Giskard(LLM 지원 안전성 스캔), promptfoo(데이터세트 레드팀 평가) — 공격별 공격 성공률(Attack Success Rate) 을 측정하고, 확인된 약점을 OWASP-LLM / MITRE-ATLAS 매핑 Vulnerability 발견 항목으로 증거 트랜스크립트와 함께 그래프에 기록합니다.
이는 결정론적(시드, 고정 바운드, 고정 도구 버전)이며 외부 이그레스 제로(zero external egress) 로 실행됩니다: 모든 심판(judge)/평가(grader)/임베딩 호출은 로컬 Ollama 모델로 강제되므로 어떤 페이로드나 트랜스크립트도 머신을 벗어나지 않습니다. 기본 비활성화 및 RoE 게이트 적용, 단계별 실시간 진행 상황이 표시되며, 발견 항목은 Red Zone의 AI Gauntlet Vulnerabilities 테이블과 펜테스트 보고서에 표시됩니다.
GVM/OpenVAS는 170,000개 이상의 NVT로 심층 네트워크 수준 취약점 평가를 수행하며, 프로토콜 계층에서 오설정, 구버전 소프트웨어, 기본 자격 증명, 알려진 CVE를 프로빙합니다. Nuclei의 웹 계층 발견 항목을 보완합니다. 빠른 호스트 검색(~2분)부터 철저한 심층 스캔(~8시간)까지 7가지 사전 구성된 스캔 프로필을 제공합니다. 발견 항목은 정찰 그래프와 함께 Neo4j의 Vulnerability 노드로 저장됩니다.
ReAct 패턴을 구현한 LangGraph 기반 자율 에이전트입니다. 정보 수집(Informational) (인텔리전스 수집, 그래프 쿼리, Shodan, Google dorking), 공격(Exploitation) (Metasploit, Hydra 자격 증명 테스트, 사회공학 시뮬레이션), 사후 공격(Post-Exploitation) (열거, 횡적 이동)의 세 단계로 진행됩니다. 에이전트는 Kali 샌드박스 내부에서 MCP 서버를 통해 14가지 보안 도구를 실행하고, Wave Runner를 통한 병렬 도구 실행을 지원하며, 안내, 중지/재개, 승인 워크플로우가 포함된 실시간 채팅 상호작용을 제공합니다. Deep Think 모드는 행동 전 구조화된 전략 분석을 가능하게 합니다.
|:-----:|-------|-------------|:------:|:----------:|
| 인텔리전스 | query_graph | Neo4j 그래프 쿼리 -- 정찰 데이터의 주요 진실 공급원 | 전체 | -- |
| | web_search | Tavily를 통한 인터넷 검색 -- CVE 세부 정보, 익스플로잇 PoC, 보안 권고 | 전체 | -- |
| | cve_intel | ProjectDiscovery vulnx -- NVD + CISA KEV + EPSS + HackerOne + GitHub PoC + Nuclei 템플릿 가용성을 통합하는 구조화된 CVE 인텔리전스. Lucene 필터링 가능한 69개 필드. 선택적 PDCP 키(사용자별, 익명 모드 = 분당 10회 요청) | 전체 | network_recon :8000 |
| | tradecraft_lookup | 사용자가 선별한 신뢰할 수 있는 보안 지식 URL 카탈로그(HackTricks, PayloadsAllTheThings, CVE PoC 저장소, 벤더 블로그) -- 자동 감지되는 6가지 리소스 유형, 사이트맵 기반 섹션 선택, sqlite+디스크 캐시 | 익스플로잇, 후속 | -- |
| | shodan | Shodan OSINT -- 호스트 세부 정보, 역방향 DNS, 장치 검색 | 정보, 익스플로잇 | -- |
| | google_dork | SerpAPI를 통한 Google dorking -- 노출된 파일, 관리자 패널, 디렉터리 목록 | 정보 | -- |
| 정찰 및 OSINT | execute_subfinder | OSINT를 통한 수동적 하위 도메인 열거(CT 로그, DNS 데이터셋). 대상에 대한 트래픽 없음 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_gau | Wayback Machine, Common Crawl, AlienVault OTX, URLScan에서 수동적 URL 발견. 대상에 대한 트래픽 없음 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_amass | OWASP Amass 하위 도메인 열거 및 네트워크 매핑(수동 + 능동, ASN 인텔) | 정보, 익스플로잇 | network_recon :8000 |
| 스캐닝 | execute_naabu | 빠른 포트 스캐닝 및 검증 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_nmap | 심층 서비스 탐지(-sV), OS 핑거프린팅, NSE 스크립트 | 전체 | nmap :8004 |
| | execute_nuclei | 9,000개 이상의 템플릿 + 사용자 지정 업로드로 CVE 검증 및 익스플로잇 | 정보, 익스플로잇 | nuclei :8002 |
| | execute_httpx | HTTP 프로빙 및 핑거프린팅 -- 상태 코드, 제목, 서버 헤더, 기술 탐지 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_wpscan | WordPress 취약점 스캐너 -- 취약한 플러그인, 테마, 사용자, 잘못된 구성 탐지 | 정보, 익스플로잇 | network_recon :8000 |
| 웹 및 HTTP | execute_curl | HTTP 요청 -- 연결 가능성, 헤더, 상태 코드, 배너 | 전체 | network_recon :8000 |
| | execute_katana | JS 파싱 및 알려진 파일 열거를 통한 웹 크롤링 및 엔드포인트 발견 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_jsluice | 숨겨진 API 엔드포인트, URL 경로 및 시크릿을 찾기 위한 JavaScript 정적 분석 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_arjun | 약 25,000개의 일반적인 파라미터 이름을 브루트포싱하여 HTTP 파라미터 발견 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_ffuf | 숨겨진 디렉터리, 파일, 가상 호스트 및 파라미터를 위한 웹 퍼징 | 정보, 익스플로잇 | network_recon :8000 |
| | execute_playwright | 헤드리스 Chromium 브라우저 자동화 -- SPA용 JS 렌더링 콘텐츠 추출 및 대화형 스크립팅, 폼 테스트, XSS 검증 | 전체 | playwright :8005 |
| 익스플로잇 | metasploit_console | 지속형 msfconsole -- 익스플로잇 실행, 세션 관리, 후속 공격 | 익스플로잇, 후속 | metasploit :8003 |
| | | 전체 Metasploit 초기화 -- 모든 세션 종료, 모듈 상태 초기화 | 익스플로잇, 후속 | metasploit :8003 |
| | | THC Hydra 브루트포스 -- 50개 이상의 프로토콜(SSH, FTP, RDP, SMB, HTTP, MySQL 등) | 익스플로잇, 후속 | network_recon :8000 |
| | | 전체 Kali Linux 셸 -- nikto, whatweb, testssl, commix, sstimap, tplmap, ysoserial, phpggc, dnsrecon, dnsx, subzy, enum4linux-ng, netexec, kerbrute, bloodhound-python, bhgraph, certipy-ad, bloodyAD, jwt_tool, graphql-cop, graphqlmap, gitleaks, semgrep, hashcat, john, cewl, paramspider, Node.js + npm, Python 라이브러리(websockets, zeep, python3-saml, boto3, msal, azure-identity, google-auth, google-cloud-storage), /opt/tools/{linux,windows}/에 사전 준비된 후속 공격 툴킷(linpeas, LinEnum, pspy64, deepce, winPEAS, PowerUp, PrivescCheck), 70개 이상의 CLI 도구 | 전체 | network_recon :8000 |
| | | 코드 파일 작성 및 실행(Python, bash, Ruby, Perl, C, C++) -- 셸 이스케이프 없음 | 익스플로잇, 후속 | network_recon :8000 |
| | | 캡처된 HTTP 코퍼스에 대한 Burp 스타일 히스토리 -- 요약만 제공, UI와 동일한 필터(host, method, status, tool, source, URL / 본문 부분 문자열, reflected, only5xx) | 전체 | -- (in-process) |
| | | 캡처된 단일 트랜잭션의 전체 요청 또는 응답(헤더 + 본문) | 전체 | -- (in-process) |
| | | 관찰된 고유 엔드포인트(호스트 + 경로 + 메서드)와 적중 횟수 및 상태 코드 | 전체 | -- (in-process) |
| | | 샘플 값과 주입 가능성 휴리스틱(sequential-id / uuid / jwt / base64)을 포함한 고유 요청 파라미터 | 전체 | -- (in-process) |
| | | 캡처된 응답 본문 전체에서 대소문자 구분 없는 부분 문자열 검색, 첫 번째 일치 항목 주변 스니펫 포함 | 전체 | -- (in-process) |
| | | 불리언 블라인드 SQLi / IDOR / 인증 우회 탐지를 위한 두 응답의 구조적 diff(상태, 길이, 헤더 집합, 본문 통합 diff) | 전체 | -- (in-process) |
| | | 캡처된 요청을 재현 가능한 명령으로 렌더링(읽기 전용, 아무것도 전송하지 않음) | 전체 | -- (in-process) |
| | | 허용 목록(allowlist)에 등록된 열 / 집계에 대한 제한적 분석 쿼리 빌더(JSON 사양 전용, 원시 SQL 없음) | 전체 | -- (in-process) |
| | | -- 필드가 변경된 캡처 요청 재전송(method / path / query / params / headers / cookie / body); host, scheme, port는 원본에 고정. IDOR / BOLA / 권한 상승을 위한 인증 컨텍스트 교체. 트랜잭션으로 다시 캡처됨 | 익스플로잇, 후속 | network_recon :8000 |
| | | -- Burp Intruder 스타일: 쿼리 파라미터에 페이로드 세트(최대 50개)를 반복 적용하여 캡처된 요청 하나를 재생하고 페이로드별 상태 / 길이 요약 반환 | 익스플로잇, 후속 | network_recon :8000 |
| | | 줄 번호가 포함된 워크스페이스 파일 읽기, 바이너리 자동 감지, 용 스냅샷 저장 | 전체 | -- (in-process) |
| | | 여러 파일의 일괄 읽기, (기본값 200KB)로 제한 | 전체 | -- (in-process) |
| | | 메타데이터만 -- 크기, mtime, 모드, 유형, 선택적 SHA-256 | 전체 | -- (in-process) |
| | | 원자적 생성/덮어쓰기/추가, 상위 디렉터리 자동 생성 | 전체 | -- (in-process) |
| | | 고유성 검사가 포함된 정확한 문자열 교체, 실행 취소 항목 기록 | 전체 | -- (in-process) |
| | | 한 번의 호출로 여러 개의 순차 편집을 수행하는 전체-또는-전무(all-or-nothing) 트랜잭션 | 전체 | -- (in-process) |
| | | 마지막 / 롤백, 파일별 실행 취소 스택 최대 20개 | 전체 | -- (in-process) |
| | | 파일 또는 디렉터리 삭제(디렉터리에는 재귀 플래그 필요) | 전체 | -- (in-process) |
| | | 경로 이동 또는 이름 변경, 대상 상위 디렉터리 자동 생성 | 전체 | -- (in-process) |
| | | 파일 또는 디렉터리 트리 복사, 호스트 사용자가 편집할 수 있도록 권한 정규화 | 전체 | -- (in-process) |
| | | 디렉터리 생성, 멱등적 | 전체 | -- (in-process) |
| | | 권한 비트 변경(8진법 또는 기호식 ) | 전체 | -- (in-process) |
| | | 심볼릭 링크 생성, 워크스페이스를 벗어나는 엔드포인트 거부 | 전체 | -- (in-process) |
| | | 워크스페이스 전체에서 정규식 기반 Ripgrep, 30초 타임아웃, 최대 1000개 매치, 실행 중인 작업 로그에도 동작 | 전체 | -- (in-process) |
| | | 최신순으로 정렬된 Glob 패턴 검색, 최대 500개 결과 | 전체 | -- (in-process) |
| | | 메타데이터 검색(이름 + mtime + 크기 + 유형 필터), 30초 탐색 타임아웃, 최대 5000개 결과 상한 | 전체 | -- (in-process) |
| | | 유형 / 크기 / mtime이 포함된 단일 디렉터리 목록, 최대 200개 항목 | 전체 | -- (in-process) |
| | | 깊이 제한 ASCII 트리, , , 건너뜀 | 전체 | -- (in-process) |
| | | Tree-sitter AST 개요(함수 / 클래스 / 메서드 이름 + 줄 범위), 15개 언어(py, js, ts, tsx, jsx, java, go, rs, rb, php, c, cpp, cs, kt, swift, scala) | 전체 | -- (in-process) |
| | | 심볼릭 링크를 따라가지 않고 원시 대상으로 확인 | 전체 | -- (in-process) |
| | | 파일의 SHA-256 또는 MD5 해시, 64KB 청크로 스트리밍 | 전체 | -- (in-process) |
| | | 두 파일 간 또는 파일과 마지막 스냅샷 간 통합 diff(fireteam의 동시 쓰기 감지) | 전체 | -- (in-process) |
| | | tar / zip / gz 아카이브의 안전한 추출, zip-slip 및 tar-slip 경로 거부 | 전체 | -- (in-process) |
| | | 운영자 원클릭 다운로드를 위해 워크스페이스 경로를 tar.gz 또는 zip으로 번들링 | 전체 | -- (in-process) |
| | | 도구 호출을 asyncio 백그라운드 작업으로 분리, 출력을 실시간으로 에 tee, spawn 시 단계 / RoE 검사 | 전체 | -- (in-process) |
| | | 비차단 상태 조회 -- 현재 상태, 로그 크기, 마지막 40줄 출력, 을 통해 에이전트 재시작 이후에도 유지 | 전체 | -- (in-process) |
| | | 작업 완료까지 최대 N초 동안 대기, 와 동일한 형태 반환 | 전체 | -- (in-process) |
| | | 실행 중인 작업 취소, 상태가 로 전환, 종료된 작업에는 영향 없음(no-op) | 전체 | -- (in-process) |
| | | 프로젝트의 백그라운드 작업 목록, / 로 필터링하거나 생략 시 전체 표시 | 전체 | -- (in-process) |
모든 MCP 도구는 Kali Linux 샌드박스 컨테이너 내에서 실행됩니다. Workspace FS 및 Background Jobs 도구는 에이전트 컨테이너 내부에서 인프로세스(in-process)로 실행되며 /workspace/<projectId>/의 프로젝트별 워크스페이스에서만 독점적으로 작동합니다. 경로 검증은 모든 경로 탐색 트릭(프로젝트 ID 주입, 심볼릭 링크 탈출, zip-slip, tar-slip)을 거부합니다. 전체 참조는 **Agent Workspace 위키 페이지**를 참조하세요. 위험으로 표시된 도구는 실행 전 수동 확인이 필요합니다. 스텔스 모드는 능동 도구를 수동 전용 또는 단일 대상 작업으로 제한합니다. 참고: WPScan은 WPScan Public Source License(MIT 아님)에 따라 라이선스가 부여됩니다. 침투 테스트 평가 및 개인 사용은 무료입니다. 상업적 사용에는 wpscan.com의 별도 라이선스가 필요할 수 있습니다.
위의 5개 내장 MCP 서버 외에도 코드를 편집하거나, 컨테이너를 다시 빌드하거나, 마이그레이션을 실행하지 않고도 모든 Model-Context-Protocol 서버를 도구 플러그인으로 에이전트에 연결할 수 있습니다(Shodan, GitHub, Censys, Hugging Face, mitmproxy, 자체 내부 MCP 등). Global Settings → MCP Tool Plugins를 여세요.
두 가지 방법이 있습니다: 39개의 미리 채워진 Quick-Add 프리셋(OSINT, 위협 인텔, 클라우드, 웹 애플리케이션 스캐너, 리포팅, 리버스 엔지니어링; 모든 카드에 카테고리 태그 지정) 중 하나를 선택하거나, Add MCP를 클릭하여 수동으로 구성합니다. 세 가지 전송 방식이 지원됩니다: stdio, sse, streamable_http. 주황색 Discover and add new tools 버튼은 초안에 대해 실시간 list_tools()를 실행하고 30초 이내에 결과를 반환하며, 발견된 각 도구를 이름, 설명, JSON-Schema 기반 args_format(유형, 열거형, 기본값, 최소/최대, 속성별 설명)과 함께 자동으로 가져옵니다. 저장 → 도구가 약 1초 내에 모든 프로젝트의 Tool Matrix와 에이전트 시스템 프롬프트에 자동으로 나타납니다. 에이전트 재시작도, prisma db push도 필요 없습니다.
전체 운영자 매뉴얼(모든 양식 필드, 39개 프리셋 전체, 인증 흐름, 실시간 발견 워크플로, 검증 규칙, 문제 해결, 저장 / 보안 모델): MCP Tool Plugins 위키 페이지.
데모 시청: RedAmon Agent Workspace: AI Runs 4 Parallel Pentests and Writes Its Own Report (YouTube)
모든 프로젝트에는 에이전트, kali-샌드박스, 그리고 여러분(Red Zone의 FileSystem Drawer를 통해)이 동시에 볼 수 있는 영구적인 /workspace/<projectId>/ 디렉터리가 생성됩니다. 네 개의 전용 폴더가 자동 생성되며 이름 변경/삭제로부터 보호됩니다: 에이전트의 임시 작업 및 보고서 초안용 notes/, 자동 오프로드된 대용량 출력용 tool-outputs/, 백그라운드 작업 로그용 jobs/, 에이전트가 읽을 파일을 넣어두는 uploads/. 에이전트는 매 추론 단계마다 WORKSPACE_LAYOUT_BLOCK을 통해 레이아웃을 전달받으며, uploads/에 파일을 넣으면 해당 블록이 CHECK THESE NOW 지시 아래 파일을 표시하여 에이전트가 하던 일을 계속하기 전에 먼저 읽도록 합니다.
에이전트는 24개의 파일시스템 도구(fs_read, fs_write, fs_edit, fs_multi_edit, fs_undo_edit, fs_grep, fs_glob, fs_find, fs_diff, fs_symbols, fs_archive, fs_extract 등)와 5개의 백그라운드 작업 도구(job_spawn, job_status, job_wait, , )를 사용할 수 있습니다. 또는 같은 장기 스캔은 asyncio 작업으로 분리되어 출력을 로 스트리밍하므로, 에이전트가 다음 추론 단계를 차단하지 않고 실행 중에 으로 적중 항목을 검색할 수 있습니다. 20KB를 초과하는 출력은 자동으로 로 오프로드되고 LLM은 파일 경로와 함께 앞/뒤 스텁(head/tail stub)만 받으므로, 5MB짜리 Playwright DOM 덤프가 컨텍스트 창을 넘치게 만들지 않습니다. Drawer는 이동 경로(breadcrumb) 탐색, 드래그 앤 드롭 업로드, 인라인 미리보기, SHA-256 속성, 폴더별 tar.gz 다운로드, 그리고 실시간 상태 배지와 취소 기능이 있는 Jobs 탭을 통해 이 모든 것을 표시합니다.
경로 검증은 모든 경로 탐색 트릭(프로젝트 ID 주입, 심볼릭 링크 탈출, zip-slip, tar-slip, 정규화를 통한 보호 폴더 우회)을 거부하며 서버 측에서 강제됩니다. 작업은 디스크 메타데이터를 통해 에이전트 재시작 이후에도 유지됩니다: 부팅 시 고아 상태의 실행 중 작업은 interrupted로 전환되므로 UI에 영원히 회전하는 행이 표시되지 않습니다.
전체 운영자 매뉴얼(모든 Drawer 기능, 29개 워크스페이스 도구 전체, 자동 오프로드 정책 맵, 네 개의 보호 폴더,
fs_diff vs_last_read를 통한 fireteam 조정 패턴, 경로 검증 안전 모델): Agent Workspace 위키 페이지.
에이전트의 가장 강력한 실행 모드입니다. 목표가 독립적인 조사 각도(인증 표면, 경로 맵, 헤더 정책; 또는 병렬로 분류(triage)할 5개의 후보 CVE)로 분해되면, 루트 에이전트는 동일한 백엔드 내에서 동시에 작업하는 N개의 전문가 하위 에이전트로 분기하며, 각각은 집중된 임무를 가진 자체 다단계 ReAct 루프를 실행합니다. 이것은 RedAmon의 Scatter-Gather ReAct (SG-ReAct) 아키텍처 패턴 구현입니다: 언제 분기할지 결정하는 루트 에이전트, 병렬로 작업하는 제한된 전문가 fireteam, 그리고 발견 결과를 단일 통합 세계관으로 병합하는 fan-in 단계.
루트 에이전트에 적용되는 모든 안전 보장은 모든 구성원에게도 적용됩니다: 하드 가드레일, 소프트 가드레일, 단계 게이팅, 교전 규칙(Rules of Engagement), 위험 도구 확인(구성원별로 병렬 처리됨; N명의 구성원이 직렬화 없이 각자의 패널에서 동시에 승인을 기다릴 수 있습니다). 재귀는 금지되며(구성원이 직접 fireteam을 배치할 수 없음) 모든 웨이브에는 구성원 수 상한, 구성원별 반복 예산, 실제 경과 시간(wall-clock) 타임아웃이 있습니다. 그 결과 실제 경과 시간(wall-clock) 기준 병렬 처리가 조정 혼란 없이 가능하며, 종료가 예측 가능하고, 모든 행동을 생성한 전문가에게 귀속시킬 수 있는 감사 추적이 제공됩니다.
위키: Fireteam (Parallel Specialists) | 기술 문서: README.AGENTIC_SYSTEM.md
5개 제공업체와 400개 이상의 모델을 지원합니다: OpenAI (GPT-5.2, GPT-5, GPT-4.1), Anthropic (Claude Opus 4.6, Sonnet 4.5), OpenRouter (300개 이상 모델), AWS Bedrock, 그리고 모든 OpenAI 호환 엔드포인트(Ollama, vLLM, LM Studio, Groq 등). 모델은 동적으로 가져오며 하드코딩된 목록이 없습니다.
OpenAI 호환 제공업체 설정에는 reasoning effort 컨트롤이 포함됩니다. 활성화하면 reasoning_effort를 low, medium, high 또는 max로 전송합니다. 비활성화하면 아무것도 전송하지 않고 모델의 기본값을 사용합니다. 사고 기능이 있는 모델에서만 활성화하세요: 사고 기능이 없는 모델은 레벨을 거부하며, 에이전트는 이를 투명하게 제거하고 재시도합니다. 사용 가능한 effort 레벨은 모델에 따라 다릅니다. 정식 OpenAI 제공업체와 무관한 OpenAI 호환 엔드포인트는 기존 동작을 유지합니다.
17개의 노드 유형과 20개 이상의 관계 유형을 가진 Neo4j 지식 그래프로, 대상의 공격 표면에 대한 단일 진실 공급원입니다. 에이전트는 자연어 → Cypher 변환을 통해 모든 결정 전에 이를 조회합니다.
AI 에이전트가 수행하는 모든 것(도구 실행, 발견, 실패, 전략적 결정)을 추적하는 영구적이고 진화적인 그래프입니다. 구조화된 체인 컨텍스트가 평면적 실행 추적을 대체하여 에이전트 효율성을 25% 이상 향상시킵니다. 세션 간 메모리를 통해 에이전트는 절대 제로에서 시작하지 않습니다.
동일한 프로젝트에 대해 여러 동시 에이전트 세션을 실행합니다. 각 세션은 EvoGraph에 자체 AttackChain을 생성합니다. 새 세션은 이전 모든 세션의 발견 결과와 실패 교훈을 자동으로 로드하여 중복 작업을 방지합니다.
RedAmon의 내장형, 계약(engagement) 범위에 국한된 프록시 히스토리: 자격 증명이 필요 없는 중간자(MITM) 프록시(mitmproxy 기반)가 모든 공격 도구와 대상 사이에 위치하여 각 HTTP 트랜잭션의 전체 요청/응답을 기록하고, 이를 생성한 주체가 누구인지 태그로 표시하며(서명된 HMAC 컨텍스트 태그를 통한 project / user / run / tool), 신뢰할 수 있는 INSERT 전용 수집 워커를 통해 Postgres에 저장합니다. Burp Suite의 HTTP 히스토리와 같다고 생각하면 됩니다. 단, 토글 하나로 켜지고, 모든 요청을 그 출처에 귀속시키며, 운영자 와 AI 에이전트가 모두 조회할 수 있습니다.
캡처는 기본적으로 꺼져 있으며 두 수준에서 게이팅됩니다(프록시를 실행하는 전역 마스터 스위치 + 프로젝트별 라우팅 토글). 8개의 정찰 도구와 8개의 에이전트 HTTP 도구(execute_curl, execute_httpx, execute_playwright, execute_nuclei, execute_katana, execute_ffuf, execute_arjun, execute_wpscan)가 라우팅되므로 파이프라인과 에이전트 자체의 크롤/퍼즈/스캔 트래픽이 모두 캡처, 검색, 재생 가능합니다. 프록시는 어떠한 시크릿도 보유하지 않으며, DNS 리바인딩 IP 핀이 있는 SSRF 이그레스 가드가 내부 인프라로의 피보팅을 차단하고, 민감한 헤더는 마스킹되며, 모든 응답에서 수동 신호(반사된 파라미터, 누락된 보안 헤더, 쿠키 플래그 문제)가 자동으로 계산됩니다. 상단 내비게이션의 TrafficMind 보기는 코퍼스를 페이지네이션 및 필터링 가능한 Burp 스타일 테이블로 노출하며, 요청/응답 상세 Drawer, CSV/JSON 내보내기, 참조 카운트 기반 본문 정리를 제공합니다.에이전트는 열 개의 proxy_* 도구를 통해 코퍼스를 처리합니다: 캡처된 요청을 재전송하거나 Intruder 스타일로 퍼징하는 두 개의 능동 도구(proxy_replay, proxy_fuzz)와 함께 여덟 개의 읽기 전용 분석 도구(proxy_search, , , , , , , )가 있습니다. 열 개 모두 엄격히 테넌트 범위로 제한되며, 능동 도구는 원본 호스트에 고정되고, 위험 플래그가 지정되며, 단계 게이트와 스텔스 제한이 적용됩니다.
활성 세션의 통합 보기: meterpreter, 리버스/바인드 셸, 리스너. 일반 영어를 셸 명령으로 변환하는 Command Whisperer가 포함된 내장 터미널.
xterm.js를 통해 그래프 페이지에서 직접 Kali 샌드박스 컨테이너에 대한 완전한 대화형 PTY 셸 액세스. 브라우저를 벗어나지 않고 사전 설치된 모든 펜테스트 도구(Metasploit, Nmap, Nuclei, Hydra, sqlmap)에 액세스할 수 있습니다. 다크 터미널 테마, 연결 상태 표시기, 지수 백오프가 적용된 자동 재연결, 전체 화면 모드, 브라우저 측 keepalive를 제공합니다.
두 에이전트 파이프라인: Triage Agent는 9개의 하드코딩된 Cypher 쿼리를 실행한 다음 LLM을 사용하여 결과를 상호 연관시키고 중복을 제거하며 우선순위를 지정합니다. CodeFix Agent는 대상 저장소를 복제하고, 11개의 도구로 코드베이스를 탐색하며, 수정 사항을 구현하고 GitHub PR을 열어 Claude Code의 에이전틱 디자인을 구현합니다. 복제된 저장소는 신뢰할 수 없으므로 해당 빌드/테스트 명령은 격리된 비밀번호 없는 샌드박스 컨테이너에서 실행되며(에이전트 내부가 아님), GitHub 토큰은 그 안으로 절대 들어가지 않습니다.
LLM 기반 Intent Router는 사용자 요청을 에이전트 스킬로 분류합니다: CVE(MSF), SQL Injection, XSS, SSRF, RCE, Path Traversal / LFI / RFI, Credential Testing, Social Engineering, Availability Testing 또는 Markdown 파일로 업로드된 사용자 정의 스킬. 바로 사용할 수 있는 **커뮤니티 스킬**이 API 테스트, XSS, SQLi, XXE, BFLA, SSTI, IDOR / BOLA, 안전하지 않은 역직렬화, 대량 할당, 서브도메인 탈취, 안전하지 않은 파일 업로드를 위해 제공됩니다 — .md 파일을 다운로드한 다음 Global Settings > Agent Skills를 통해 업로드하면 사용자에 대해 활성화됩니다. PR을 열어 직접 기여할 수도 있습니다.
에이전트 채팅에서 /skill 명령을 통한 온디맨드 참조 주입. Chat Skills는 전술적 참조 문서입니다 — 도구 플레이북, 취약점 가이드, 프레임워크별 노트 — 필요할 때 정확히 에이전트의 컨텍스트에 주입할 수 있습니다. /skill ssrf를 입력하여 SSRF 전문 지식을 로드하거나, 스킬 선택 버튼을 클릭하여 탐색 가능한 목록을 확인하세요. RedAmon에는 46개의 참조 스킬이 포함되어 있으며 취약점(JWT, OAuth/OIDC, CSRF, 레이스 컨디션, 비즈니스 로직, 프로토타입 오염, ReDoS, 2FA 우회, LDAP/XPath 인젝션, 웹 캐시 포이즈닝, CORS, 호스트 헤더 인젝션, 클릭재킹, CRLF 등), 도구(sqlmap, nuclei, ffuf, nmap, httpx, naabu, katana, subfinder, semgrep), 프로토콜(GraphQL, WebSocket, SOAP/WS-Security, SAML), 기술(Firebase, Supabase), 프레임워크(Next.js, FastAPI, NestJS), Active Directory(킬 체인, Kerberoasting/ASREPRoast, AD-CS ESC1-15, BloodHound path-to-DA), 클라우드(AWS, Azure, GCP), 포스트 익스플로잇(Docker escape, Linux / Windows privesc)을 다룹니다. 분류 및 단계 인식 워크플로를 구동하는 Agent Skills와 달리, Chat Skills는 변경하거나 제거할 때까지 유지되는 보조 컨텍스트입니다.
40개 이상의 정규식 패턴과 Shannon 엔트로피 분석을 사용하여 GitHub 저장소, gist 및 커밋 기록에서 노출된 비밀을 스캔합니다.
700개 이상의 디텍터를 사용하여 GitHub 저장소에서 유출된 자격 증명을 스캔하고, 발견된 비밀이 여전히 활성 상태인지 자동으로 검증합니다. TruffleHog 엔진(trufflesecurity/trufflehog)을 기반으로 하며 전체 커밋 기록에서 API 키, 비밀번호, 토큰, 인증서 등을 감지합니다. 결과는 Neo4j 그래프에 TrufflehogScan → TrufflehogRepository → TrufflehogFinding 노드로 저장됩니다. GitHub Hunt와 TruffleHog는 모두 그래프 도구 모음의 "Other Scans" 모달에서 액세스할 수 있습니다.
스캔 모듈부터 에이전트 승인 게이트까지 모든 도구의 동작을 제어하는 16개 탭의 500개 이상의 구성 가능한 매개변수. 웹앱 UI를 통해 관리됩니다.
RoE 문서(PDF, TXT, MD, DOCX)를 업로드하여 프로젝트 설정을 자동 구성하고 참여 제약 조건을 적용합니다. 정찰 파이프라인(제외 호스트, 속도 제한, 시간 창)과 AI 에이전트(프롬프트 인젝션, 심각도 단계 상한, 도구 제한) 계층 모두에서 적용됩니다.
4개 섹션에 걸친 30개 이상의 대화형 차트: 공격 체인 및 익스플로잇, 공격 표면, 취약점 및 CVE 인텔리전스, 그래프 개요. 모든 데이터는 Neo4j와 PostgreSQL에서 실시간으로 가져옵니다.
승인되지 않은 도메인을 대상으로 삼는 것을 방지하는 LLM 기반 가드레일: 정부 사이트, 주요 기술 기업, 금융 기관, 소셜 미디어 플랫폼을 차단합니다. 프로젝트 생성과 에이전트 초기화 모두에서 작동합니다. 정부, 군사, 교육 및 국제 기구 도메인(.gov, .mil, .edu, .int)은 비활성화할 수 없는 결정론적 하드 가드레일에 의해 영구적으로 차단됩니다.
위험한 작업에 대한 도구별 인간 개입 게이트. 활성화하면 에이전트는 고영향 도구(Nmap, Nuclei, Metasploit, Hydra, Kali 셸, 코드 실행)를 실행하기 전에 일시 중지하고 채팅 타임라인에 인라인 Allow / Deny 프롬프트를 표시합니다. 단일 도구 및 병렬 웨이브(플랜) 확인 모드를 모두 지원합니다. 사용자는 실행이 진행되기 전에 도구 인수를 승인, 거부 또는 수정할 수 있습니다. Project Settings의 Require Tool Confirmation 토글을 통해 비활성화할 수 있습니다.
11개 섹션으로 구성된 전문적이고 고객에게 바로 제공 가능한 HTML 보고서. AI 모델이 구성되면 6개 섹션에 경영진 요약, 위험 분석, 우선순위가 지정된 수정 트리아지를 포함한 LLM 생성 내러티브가 제공됩니다. 예제 보고서 보기.
웹 인터페이스를 통한 전체 프로젝트 백업 및 복원: 설정, 대화, 그래프 데이터, 정찰/GVM/GitHub 헌트 결과를 휴대용 ZIP 아카이브로 제공합니다.
flowchart TB subgraph User["👤 User Layer"] Browser[Web Browser] CLI[Terminal/CLI] end
subgraph Frontend["🖥️ Frontend Layer"]
Webapp[Next.js Webapp<br/>:3000]
end
subgraph Backend["⚙️ Backend Layer"]
Agent[AI Agent Orchestrator<br/>FastAPI + LangGraph<br/>:8090]
ReconOrch[Recon Orchestrator<br/>FastAPI + Docker SDK<br/>:8010]
end
subgraph Tools["🔧 MCP Tools Layer"]
NetworkRecon[Network Recon Server<br/>Curl + Naabu<br/>:8000]
Nuclei[Nuclei Server<br/>:8002]
Metasploit[Metasploit Server<br/>:8003]
Nmap[Nmap Server<br/>:8004]
end
subgraph Scanning["🔍 Scanning Layer"]
Recon[Recon Pipeline<br/>Docker Container]
GVM[GVM/OpenVAS Scanner<br/>Network Vuln Assessment]
GHHunt[GitHub Secret Hunter<br/>Credential Scanning]
TruffleHog[TruffleHog Scanner<br/>700+ Secret Detectors]
end
subgraph Data["💾 Data Layer"]
Neo4j[(Neo4j Graph DB<br/>:7474/:7687)]
Postgres[(PostgreSQL<br/>Project Settings<br/>:5432)]
end
subgraph LLMProviders["🧠 LLM Providers"]
OpenAI[OpenAI]
Anthropic[Anthropic]
LocalLLM[Local Models<br/>Ollama · vLLM · LM Studio]
OpenRouter[OpenRouter<br/>300+ Models]
Bedrock[AWS Bedrock]
end
subgraph External["🌐 External APIs"]
GitHubAPI[GitHub API<br/>Repos & Code Search]
end
subgraph Targets["🎯 Target Layer"]
Target[Target Systems]
GuineaPigs[Guinea Pigs<br/>Test VMs]
end
Browser --> Webapp
CLI --> Recon
Webapp <-->|WebSocket| Agent
Webapp -->|REST + SSE| ReconOrch
Webapp --> Neo4j
Webapp --> Postgres
ReconOrch -->|Docker SDK| Recon
ReconOrch -->|Docker SDK| GVM
ReconOrch -->|Docker SDK| GHHunt
ReconOrch -->|Docker SDK| TruffleHog
Recon -->|Fetch Settings| Webapp
GHHunt -->|GitHub API| GitHubAPI
TruffleHog -->|GitHub API| GitHubAPI
TruffleHog --> Neo4j
Agent -->|API| OpenAI
Agent -->|API| Anthropic
Agent -->|API| LocalLLM
Agent -->|API| OpenRouter
Agent -->|API| Bedrock
Agent --> Neo4j
Agent -->|MCP Protocol| NetworkRecon
Agent -->|MCP Protocol| Nuclei
Agent -->|MCP Protocol| Metasploit
Agent -->|MCP Protocol| Nmap
Recon --> Neo4j
GVM -->|Reads Recon Output| Recon
GVM --> Neo4j
GVM --> Target
GVM --> GuineaPigs
NetworkRecon --> Target
Nuclei --> Target
Metasploit --> Target
Nmap --> Target
NetworkRecon --> GuineaPigs
Nuclei --> GuineaPigs
Metasploit --> GuineaPigs
Nmap --> GuineaPigs
> **전체 아키텍처 다이어그램** (데이터 흐름, Docker 컨테이너, 정찰 파이프라인, 에이전트 워크플로우, MCP 통합): **[ARCHITECTURE.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/ARCHITECTURE.md)**
>
> **기술 스택** (프론트엔드, 백엔드, AI, 데이터베이스, 보안 도구에 걸친 70개 이상의 기술): **[TECH_STACK.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/TECH_STACK.md)**
---
## 구성 요소
| 구성 요소 | 설명 | 문서 |
|-----------|-------------|---------------|
| **정찰 파이프라인** | 병렬화된 fan-out/fan-in OSINT 및 취약점 스캐닝 파이프라인 | [README.RECON.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.RECON.md) |
| **정찰 오케스트레이터** | Docker SDK를 통한 컨테이너 수명주기 관리 | [README.RECON_ORCHESTRATOR.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.RECON_ORCHESTRATOR.md) |
| **Docker 소켓 브로커** | Docker 소켓용 필터링 리버스 프록시: 생성된 스캔 컨테이너는 이를 통해 데몬에 접근하므로 알려진 도구 이미지만 생성 가능(허용 목록 적용, 호스트 마운트 / 권한 상승 / 임의 이미지 불가) | n/a |
| **그래프 데이터베이스** | 멀티테넌트를 지원하는 Neo4j 공격 표면 매핑 | [README.GRAPH_DB.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.GRAPH_DB.md) · [GRAPH.SCHEMA.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/GRAPH.SCHEMA.md) |
| **MCP 도구 서버** | Model Context Protocol을 통한 보안 도구 (Kali 샌드박스) | [README.MCP.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.MCP.md) |
| **AI 에이전트 오케스트레이터** | ReAct 패턴을 적용한 LangGraph 기반 자율 에이전트 | [README.AGENTIC_SYSTEM.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.AGENTIC_SYSTEM.md) |
| **CypherFix 에이전트** | 자동 트리아지 + 코드 수정 + GitHub PR | [README.CYPHERFIX_AGENTS.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.CYPHERFIX_AGENTS.md) |
| **웹 애플리케이션** | 시각화 및 AI 상호작용을 위한 Next.js 대시보드 | [README.WEBAPP.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.WEBAPP.md) |
| **GVM 스캐너** | Greenbone/OpenVAS 네트워크 취약점 스캐너 (170K+ NVT) | [README.GVM.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.GVM.md) |
| **TruffleHog 스캐너** | 700개 이상의 탐지기와 자격 증명 검증을 갖춘 심층 비밀 스캐너 | n/a |
| **PostgreSQL 데이터베이스** | 프로젝트 설정, 사용자 계정, 구성 데이터 | [README.POSTGRES.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.POSTGRES.md) |
| **테스트 환경** | 안전한 테스트를 위한 의도적으로 취약하게 설계된 Docker 컨테이너 | [README.GPIGS.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.GPIGS.md) |
---
## 문서
| 자료 | 링크 |
|----------|------|
| **전체 위키** (사용자 가이드) | **[github.com/samugit83/redamon/wiki](https://github.com/samugit83/redamon/wiki)** |
| 서버 배포 (단일 호스트) | **[Wiki: 서버에 배포하기](https://github.com/samugit83/redamon/wiki/Deploying-to-a-Server)** · [deploy/single-host/README.md](https://github.com/samugit83/redamon/blob/HEAD/deploy/single-host/README.md) |
| **보안 태세** (심층 방어 카탈로그) | **[readmes/README.SECURITY_POSTURE.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.SECURITY_POSTURE.md)** |
| 위협 모델 (STRIDE) | [readmes/README.TM.SYSTEM_OVERVIEW.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.TM.SYSTEM_OVERVIEW.md) |
| 보안 정책 | [SECURITY.md](https://github.com/samugit83/redamon/blob/HEAD/SECURITY.md) |
| AI 기반 개발 | **[Wiki: AI로 완벽한 PR 만들기](https://github.com/samugit83/redamon/wiki/AI-Assisted-Development)** |
| 개발자 가이드 | [readmes/README.DEV.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/README.DEV.md) |
| 아키텍처 다이어그램 | [readmes/ARCHITECTURE.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/ARCHITECTURE.md) |
| 기술 스택 | [readmes/TECH_STACK.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/TECH_STACK.md) |
| 문제 해결 | [readmes/TROUBLESHOOTING.md](https://github.com/samugit83/redamon/blob/HEAD/readmes/TROUBLESHOOTING.md) |
| 변경 로그 | [CHANGELOG.md](https://github.com/samugit83/redamon/blob/HEAD/CHANGELOG.md) |
| 전체 고지 사항 | [DISCLAIMER.md](https://github.com/samugit83/redamon/blob/HEAD/DISCLAIMER.md) |
| 타사 라이선스 | [THIRD-PARTY-LICENSES.md](https://github.com/samugit83/redamon/blob/HEAD/THIRD-PARTY-LICENSES.md) |
| 라이선스 | [LICENSE](https://github.com/samugit83/redamon/blob/HEAD/LICENSE) |
---
## 문제 해결
RedAmon은 완전히 Docker화되어 있으며 Docker Compose v2+가 설치된 모든 OS에서 실행됩니다. OS별(Linux, Windows, macOS) 해결 방법은 **[문제 해결 가이드](https://github.com/samugit83/redamon/blob/HEAD/readmes/TROUBLESHOOTING.md)** 또는 **[Wiki](https://github.com/samugit83/redamon/wiki/Troubleshooting)** 페이지를 참조하세요.
---
## RedAmon HackLab
<table>
<tr>
<td width="280" align="center">
<a href="https://github.com/samugit83/redamon/wiki/RedAmon-HackLab">
<img src="https://raw.githubusercontent.com/samugit83/redamon/HEAD/assets/hacklab.png" alt="RedAmon HackLab" width="260"/>
</a>
</td>
<td>
<h3>RedAmon이 실제 펜테스터처럼 사고하는 모습을 보고 싶으신가요?</h3>
<p>실시간 라이브 공격 세션을 살펴보세요 -- 모든 단계, 모든 피벗, 모든 익스플로잇 -- 실제 대상에서 15가지 취약점 카테고리에 걸쳐 진행됩니다. 에이전트가 다중 서비스 서버를 처음부터 자율적으로 침투하여 장악하는 모습을 담은 전체 세션 로그, 해독된 단계별 해설, 동영상 녹화를 확인하세요.</p>
<a href="https://github.com/samugit83/redamon/wiki/RedAmon-HackLab"><b>HackLab 살펴보기 →</b></a>
|
<a href="https://github.com/samugit83/redamon/wiki/RedAmon-HackLab#community-sessions"><b>자신의 세션 제출하기 →</b></a>
<br/><sub>자신의 대상에서 놀라운 에이전트 세션을 경험하셨나요? 세션 로그 + YouTube 동영상과 함께 커뮤니티에 공유하세요.</sub>
</td>
</tr>
</table>
---
## 커뮤니티 쇼케이스
현장에서 RedAmon을 사용하는 보안 전문가들의 동영상, 분석 글, 실전 경험을 소개합니다. 소개받고 싶으신가요? CONTRIBUTING.md의 [콘텐츠 크리에이터](https://github.com/samugit83/redamon/blob/HEAD/CONTRIBUTING.md#content-creator) 트랙을 확인하세요.
### 동영상
| 제목 | 링크 |
|-------|------|
| RedAmon v2.2.0, 사회공학 테스트: 페이로드 전달부터 셸 접근까지 | [시청하기](https://youtu.be/kVjV9K_eks4) |
| AI 에이전트 CVE 검증: 표준 도구를 넘어서 | [시청하기](https://youtu.be/rypmP1SJon8) |
| RedAmon 2.0, 10일 만에 GitHub 스타 0에서 1000까지: 멀티 에이전트 병렬 공격 | [시청하기](https://youtu.be/afViJUit0xE) |
| 처음부터 자율 AI 레드팀 에이전트 구축하기: LangGraph + Metasploit + Neo4j 전체 튜토리얼 | [시청하기](https://youtu.be/mO5CCkYlY94) |
### 실제 사례 연구
| 누가 | 무엇을 | 링크 |
|-----|------|------|
| Nipun Dinudaya | 회사 웹사이트에 RedAmon을 배포하여 심각한 데이터 노출로 이어질 수 있었던 SQL 인젝션 취약점을 식별 | [LinkedIn에서 읽기](https://www.linkedin.com/posts/nipun-dinudaya-6159b32bb_redamon-cybersecurity-penetrationtesting-ugcPost-7431233870253166592-aLvb) |
| Venkata Bhargav CH S | Ascent e-Digit Solutions 인턴십 중 RedAmon 사용: 실습형 정찰, DNS 분석, 공격 표면 매핑 | [LinkedIn에서 읽기](https://www.linkedin.com/posts/venkata-bhargav-cybersecurity_cybersecurity-ethicalhacking-redteam-share-7434940660803182592-e9En) |
### 커뮤니티 가이드
| 누가 | 무엇을 | 링크 |
|-----|------|------|
| MrGood | Redamon 마스터하기: Kali Linux 설치 종합 가이드, Kali 특유의 Docker 문제와 보안 태세 다루기 | [Medium에서 읽기](https://cyberaccoon.medium.com/mastering-redamon-a-comprehensive-guide-to-installation-on-kali-linux-ea544e6f5b9f) |
| Bogdan Caraman | OpenRouter와 함께 Debian 13(Trixie)에 RedAmon 설치하는 방법, Docker 설정, 고정 IP, systemd 자동화를 포함한 단계별 가이드 | [블로그에서 읽기](https://blog.bogdancaraman.com/install-redamon-debian-13-openrouter/) |
---
## 기여하기
기여는 언제나 환영합니다! 시작 방법, 코드 스타일 규칙, 풀 리퀘스트 절차에 대한 지침은 [CONTRIBUTING.md](https://github.com/samugit83/redamon/blob/HEAD/CONTRIBUTING.md)를 읽어주세요.
---
## 관리자
**Samuele Giampieri**: 창시자, 관리자 및 AI 플랫폼 아키텍트 · [LinkedIn](https://www.linkedin.com/in/samuele-giampieri-b1b67597/) · [GitHub](https://github.com/samugit83) · [Devergo Labs](https://www.devergolabs.com/)
**Ritesh Gohil**: 관리자 및 수석 보안 연구원 · [LinkedIn](https://www.linkedin.com/in/riteshgohil25/) · [GitHub](https://github.com/L4stPL4Y3R)
---
## 연락처
질문, 피드백 또는 협업 문의: **[email protected]**
---
## 법적 고지
> **기본적으로 로컬 전용이며, 서버 배포에는 지원되는 강화된 경로가 있습니다.** RedAmon은 기본 상태 그대로는 **로컬 머신**에서 실행되도록 설계되었으며 자체적으로 인터넷 노출 대비 보안 제어 기능을 포함하지 않습니다. 공개적이고 인터넷에서 접근 가능한 서버에서 실행하려면 [`deploy/single-host/`](https://github.com/samugit83/redamon/blob/HEAD/deploy/single-host/)의 **강화된 단일 호스트 배포**를 사용하세요. 이 배포는 전체 스택을 nginx + TLS, 호스트 방화벽, SSH 강화, 단일 공개 HTTPS 오리진 뒤에 배치하고 모든 내부 서비스를 루프백에 바인딩합니다. **원시(raw)** 스택을 해당 배포 없이 공개 IP에서 실행하면 인증되지 않은 내부 서비스가 노출될 수 있으므로, 강화된 배포 없이 신뢰할 수 있는 로컬 네트워크 외부에서 실행하는 것은 전적으로 사용자 본인의 책임입니다.
이 프로젝트는 [MIT 라이선스](https://github.com/samugit83/redamon/blob/HEAD/LICENSE)로 배포됩니다.
RedAmon은 각각의 자체 라이선스(MIT, Apache-2.0, BSD, GPL-2.0/3.0, AGPL-3.0, LGPL 및 WPScan Public Source License)에 따라 여러 타사 도구를 통합합니다. AGPL 라이선스 구성 요소의 모든 소스 코드는 각각의 업스트림 저장소에서 확인할 수 있습니다. 전체 목록과 라이선스 의무는 [THIRD-PARTY-LICENSES.md](https://github.com/samugit83/redamon/blob/HEAD/THIRD-PARTY-LICENSES.md)에 문서화되어 있습니다.
> **상업적 사용 참고 사항**: Kali 샌드박스 이미지에는 **WPScan**이 포함되어 있으며, 이는 WPScan Public Source License의 적용을 받습니다. WPScan은 WPScan 팀의 별도 라이선스 없이는 상업적 사용(SaaS, 유료 제품 제공, 부가 가치 서비스)을 제한합니다. 펜테스팅 프로젝트 및 개인 사용은 허용됩니다. 상업용 제품이나 서비스에서 RedAmon을 사용하려는 경우 배포 전에 [THIRD-PARTY-LICENSES.md](https://github.com/samugit83/redamon/blob/HEAD/THIRD-PARTY-LICENSES.md)를 검토하세요.
전체 이용 약관, 허용 가능한 사용 정책 및 법적 준수 요구 사항은 [DISCLAIMER.md](https://github.com/samugit83/redamon/blob/HEAD/DISCLAIMER.md)를 참조하세요.
---
<p align="center">
<strong>책임감 있게 사용하세요. 윤리적으로 테스트하세요. 더 잘 방어하세요.</strong>
</p>
![]() Samuele Giampieri: 창시자, 관리자 및 AI 플랫폼 아키텍트 15년 이상의 프리랜서 경험과 엔터프라이즈 규모의 AI 에이전트 시스템을 포함해 30개 이상의 프로덕션 출시 프로젝트를 보유한 AI 플랫폼 아키텍트이자 풀스택 리드입니다. AWS 인증(DevOps Engineer, ML Specialty) 및 IBM 인증 AI 엔지니어입니다. LangChain/LangGraph를 사용하여 딥러닝, NLP, 컴퓨터 비전, AI 에이전트 시스템을 아우르는 엔드투엔드 ML 솔루션을 설계합니다. LinkedIn · GitHub · Devergo Labs |
![]() Ritesh Gohil: 관리자 및 리드 보안 연구원 Workday의 사이버 보안 엔지니어로, 웹, API, 모바일, 네트워크, 클라우드 침투 테스트 분야에서 7년 이상의 경험을 보유했습니다. MITRE에 11개의 CVE를 게재했으며 Google(4회)과 Apple(6회)로부터 보안 공로를 인정받았습니다. 200개 이상의 웹 및 모바일 애플리케이션의 보안을 담당했고 Exploit Database, Google Hacking Database, AWS 커뮤니티에 기여했습니다. AWS Security Specialty, eWPTXv2, eCPPTv2, CRTP, CEH 인증을 보유하고 있으며 레드 팀 운영, 클라우드 보안, CVE 연구, 보안 아키텍처 검토에 전문성을 갖추고 있습니다. LinkedIn · GitHub |
| 디스크 | 여유 80GB | 여유 110GB |
| 변경 사항 | 필요한 작업 |
|---|
webapp/src/ (프론트엔드 코드) | 없음 -- Next.js 핫 리로드가 dev 모드에서 처리함 |
agentic/*.py (에이전트 Python 코드) | docker compose build agent && docker compose up -d agent (소스는 이미지에 포함되므로 restart만으로는 .py 변경 사항이 반영되지 않음) |
recon_orchestrator/*.py | docker compose restart recon-orchestrator |
mcp/servers/*.py (MCP 서버) | docker compose restart kali-sandbox |
agentic/Dockerfile 또는 agentic/requirements.txt | docker compose build agent && docker compose up -d agent |
recon_orchestrator/Dockerfile 또는 해당 requirements.txt | docker compose build recon-orchestrator && docker compose up -d recon-orchestrator |
mcp/kali-sandbox/Dockerfile | docker compose build kali-sandbox && docker compose up -d kali-sandbox |
webapp/Dockerfile 또는 webapp/package.json | docker compose build webapp && docker compose up -d webapp |
recon/Dockerfile | docker compose --profile tools build recon |
gvm_scan/Dockerfile | docker compose --profile tools build vuln-scanner |
github_secret_hunt/Dockerfile | docker compose --profile tools build github-secret-hunter |
trufflehog_scan/Dockerfile | docker compose --profile tools build trufflehog-scanner |
baddns_scan/Dockerfile 또는 baddns_scan/entrypoint.sh | docker compose --profile tools build baddns-scanner |
wcvs/Dockerfile (웹 캐시 중독 엔진) | docker compose --profile tools build wcvs |
docker-compose.yml | docker compose up -d (영향을 받은 컨테이너를 다시 생성함) |
prisma/schema.prisma | docker compose exec webapp npx prisma db push |
| 설정 탭 | 단계 | 도구 | 유형 | 실행 |
|---|
| 검색 및 OSINT | 서브도메인 검색 | crt.sh, HackerTarget, Subfinder, Amass, Knockpy | 수동* | 도구 5개 병렬 |
| 와일드카드 필터링 | Puredns | 능동 | 순차 | |
| WHOIS + URLScan | python-whois, URLScan.io API | 수동 | 병렬 | |
| DNS 해석 | dnspython | 수동 | 워커 20개 병렬 | |
| OSINT 강화 | Shodan / InternetDB | 수동 | 포트 스캔과 병렬 | |
| Uncover 확장 | ProjectDiscovery Uncover (13개 엔진: Shodan, Censys, FOFA, ZoomEye, Netlas, CriminalIP, Quake, Hunter, PublicWWW, HunterHow, Google, Onyphe, Driftnet) | 수동 | 포트 스캔 전 (GROUP 2b) | |
| 위협 인텔리전스 강화 | Censys, FOFA, OTX (AlienVault), Netlas, VirusTotal, ZoomEye, CriminalIP | 수동 | 도구 7개 병렬 (GROUP 3b) | |
| 포트 스캔 | 포트 스캔 | Masscan, Naabu | 능동 / 수동 | 둘 다 병렬 (Naabu는 수동 InternetDB 모드 지원) |
| Nmap 서비스 탐지 | 서비스 버전 탐지 | Nmap (-sV, --script vuln) | 능동 | 대상별 순차 |
| HTTP 프로빙 | HTTP 프로빙 | httpx | 능동 | 내부 병렬 |
| 기술 스택 탐지 | Wappalyzer | 수동 | 순차 (프로빙 후) | |
| 배너 그래빙 | 커스텀 (Python 소켓: SSH, FTP, SMTP, MySQL 등) | 능동 | 워커 병렬 | |
| 리소스 열거 | 웹 크롤링 | Katana, Hakrawler | 능동 | 병렬 |
| 아카이브 검색 | GAU (Wayback, CommonCrawl, OTX) | 수동 | 크롤러와 병렬 | |
| 파라미터 마이닝 | ParamSpider (Wayback CDX) | 수동 | 크롤러와 병렬 | |
| JS 분석 | jsluice | 능동 | 순차 (크롤링 후) | |
| 디렉터리 퍼징 | FFuf | 능동 | 순차 (jsluice 후) | |
| 브라우저 크롤링 | ZAP Ajax Spider | 능동 | 순차 (FFuf 후), 시드별 Docker 컨테이너 병렬 | |
| 파라미터 검색 | Arjun | 능동 / 수동 | 메서드 병렬 (GET/POST/JSON/XML) | |
| API 검색 | Kiterunner | 능동 | 워드리스트별 순차 | |
| 엔드포인트 AI 분류기 | 경로 + 파라미터 분류기 — 카탈로그화된 AI 시그니처 기준으로 Endpoint.ai_interface_type (llm-chat, llm-completion, llm-embedding, llm-tool-call, sse-stream, mcp, llm-graphql), is_ai_rag_ingest, Parameter.is_ai_prompt_injectable 태깅 | 수동 | 순차 (크롤링 후) | |
| JS 정찰 | JS 시크릿 탐지 | 정규식 패턴 100개 + 커스텀 업로드 | 수동 | 파일별 병렬 |
| 키 검증 | 서비스 검증기 21개 (AWS, GitHub, Stripe 등) | 능동 | 속도 제한 (1/초/서비스) | |
| 소스 맵 검색 | 주석, 헤더, 경로 프로빙 | 능동 | JS 파일별 | |
| Dependency Confusion | npm 레지스트리 확인 | 수동 | 스코프 패키지별 | |
| 엔드포인트 추출 | REST, GraphQL, WebSocket, 라우터 패턴 | 수동 | JS 파일별 | |
| 프레임워크 핑거프린팅 | 내장 12개 + 커스텀 시그니처 | 수동 | JS 파일별 | |
| DOM 싱크 탐지 | XSS/프로토타입 오염 패턴 17개 | 수동 | JS 파일별 | |
| AI Surface Recon | AI/LLM/MCP/Vector-DB 핑거프린팅 | 분류기가 플래그한 표면의 능동 확인 — chat-shape 프로브(방언/스트리밍/지연 시간), MCP 핸드셰이크 + tools/list + Cisco YARA 툴 포이즈닝 스캔, OpenAPI/모델 목록 검색, Julius YAML 프로브팩 엔진, 벡터 DB 확인 읽기(qdrant/chroma/weaviate/milvus). Endpoint.ai_* / ai_mcp_*, Parameter.is_ai_prompt_injectable, 확인된 Technology(ai-*), MCP 툴 포이즈닝 Vulnerability 노드 기록 | 능동 (무해, LLM 호출 없음) | 호스트 병렬, 워크로드 순차 (GROUP 5c / Phase 4.5) |
| AI Gauntlet | 광범위 LLM 스캔 | garak — 프로브 패밀리 40개 (프롬프트 인젝션, DAN 탈옥, 인코딩 우회, 데이터 유출 재생, 시스템 프롬프트 추출, 유해성, 악성코드/익스플로잇 생성, 패키지 할루시네이션) | 능동 (공격형) | 정찰에 이은 공격형 후속 작업; 프로브당 원샷, 패밀리별 ASR, 로컬 심판 평가 |
| 멀티턴 탈옥 | PyRIT — 제한된 대화형 공격 (crescendo, skeleton-key, TAP, many-shot) | 능동 (공격형) | 멀티턴 확대, 로컬 공격자/심판 모델 | |
| 품질 + 안전성 스캔 | Giskard — 앱 맞춤형 탐지기 (프롬프트 인젝션, 정보 노출, 할루시네이션, 유해성, 고정관념, 아첨, 출력 형식) | 능동 (공격형) | 앱 목적에서 생성된 테스트 세트, 로컬 심판 | |
| 레드팀 평가 | promptfoo — 공개 공격 데이터세트 (Pliny, BeaverTails, HarmBench) + 인코딩 전략 (base64, rot13, leetspeak, morse, pig latin) | 능동 (공격형) | 데이터세트 평가, 플러그인별 ASR, 로컬 심판 | |
| 취약점 스캔 | 취약점 스캔 | Nuclei (템플릿 9,000개 이상 + DAST + 커스텀 템플릿 업로드) | 능동 | GraphQL 스캔 + 서브도메인 탈취 + VHost & SNI + 웹 캐시 포이즈닝과 병렬 (GROUP 6 Phase A) |
| GraphQL 보안 | GraphQL 보안 테스트 | 엔드포인트 검색, introspection 테스트, 스키마 추출, 민감 필드 탐지, graphql-cop (오설정 검사 12개: alias/batch/directive DoS, GraphiQL, trace 모드, GET/POST CSRF, 필드 제안) | 능동 / 수동 | Nuclei + 서브도메인 탈취 + VHost & SNI + 웹 캐시 포이즈닝과 병렬 (GROUP 6 Phase A) |
| 서브도메인 탈취 | 서브도메인 탈취 탐지 | Subjack (Apache-2.0 DNS 우선 핑거프린트) + Nuclei 탈취 템플릿 (http/takeovers/ + dns/) + BadDNS (AGPL-3.0 격리 사이드카: CNAME, NS, MX, TXT, SPF, DMARC, 와일드카드, NSEC, 참조, 존 전송). 도구 간 중복 제거, 자동 익스플로잇 가능 공급자 12개 이상, 신뢰도 점수 confirmed / likely / manual_review 판정 | 능동 / 수동 | Nuclei + GraphQL 스캔 + VHost & SNI + 웹 캐시 포이즈닝과 병렬 (GROUP 6 Phase A) |
| VHost & SNI 열거 | 숨은 가상 호스트 검색 | Curl 전용 이중 계층 프로빙: --resolve를 통한 L7 Host-헤더 오버라이드 + L4 TLS SNI 교체, 기준선(baseline) 비교 이상 탐지, 4단계 심각도 사다리 (L7/L4 라우팅 불일치 high, 내부 키워드 일치 medium, 상태/크기 델타 low/info), 2,471개 항목 기본 워드리스트 + 커스텀 + 그래프 파생 후보, httpx로의 검색 피드백 루프 | 능동 | Nuclei + GraphQL 스캔 + 서브도메인 탈취 + 웹 캐시 포이즈닝과 병렬 (GROUP 6 Phase A) |
| 웹 캐시 포이즈닝 | 웹 캐시 포이즈닝 및 디셉션 | 이중 엔진 탐지: 10개 이상의 기술 클래스에 걸친 WCVS (Hackmanit, Docker-in-Docker) 광범위 스윕 (unkeyed-헤더 포이즈닝, 파라미터 클로킹, 경로/캐시 키 정규화, 캐시 키 인젝션, 웹 캐시 디셉션) 후 RedAmon 고유 5단계 확인 (silent-cache frozen-Date 폴백 캐시 오라클, 격리된 cache-buster, Next.js/Nuxt/Remix용 핑거프린트 게이트 프레임워크 팩, baseline→poison→clean 지속성 검사, 반사형 + 비반사형 차등 탐지). 신뢰도 점수 Confirmed/Strong/Tentative 등급, 최소 신뢰도 게이트; 무해한 .invalid 카나리 + 격리된 캐시 버킷으로 실제 캐시는 절대 오염되지 않음. 기본 비활성화 | 능동 | Nuclei + GraphQL 스캔 + 서브도메인 탈취 + VHost & SNI와 병렬 (GROUP 6 Phase A) |
| 보안 검사 | 보안 검사 | WAF 우회, 직접 IP 접근, TLS 만료, 누락된 헤더, cache-control | 능동 | 워커 병렬 |
| CVE & MITRE | CVE 강화 | NVD API, Vulners API | 수동 | 순차 |
| MITRE 강화 | CWE / CAPEC 매핑 | 수동 | 순차 |
qbodyqcurlisReplayfs_diff vs_last_readmax_total_bytesfs_editfs_multi_edit0o755+x.gitnode_modules__pycache__fs_readjobs/<id>.log<id>.meta.jsonjob_statuscancelledactive=truefalsejob_canceljob_listnucleihydrajobs/<id>.logfs_greptool-outputs/<utc-iso>-<tool>.txtproxy_getproxy_sitemapproxy_paramsproxy_grepproxy_diffproxy_to_curlproxy_query