
Dark-Moon v1.4.0
자율 AI 침투 테스트 엔진 — 웹, 클라우드, AD 및 Kubernetes 전반에 걸친 지속적인 공격적 보안. 에이전트 기반 추론 + 실제 익스플로잇 실행으로 증거 기반 취약점을 제공합니다. 프라이버시 게이트웨이: LLM은 실제 IP, 호스트, 자격 증명 또는 경로를 절대 볼 수 없으며(결정적 플레이스홀더는 로컬에서 복원됨), 어떤 정보도 경계 밖으로 유출되지 않습니다.

DarkMoon
스스로 전체 펜테스트를 수행하고 데이터를 절대 유출하지 않는 오픈소스 AI 침투 테스트 플랫폼
DarkMoon을 승인된 대상에 지정하세요. 50개의 전문 AI 에이전트가 추론하고, 웹, 클라우드, Active Directory 및 Kubernetes 전반에 걸쳐 실제 익스플로잇을 연결하며, 모든 발견 사항에 대한 증거를 반환합니다. 자체 호스팅되며, 모델은 실제 IP, 호스트 또는 자격 증명이 아닌 IP_PRIVATE_001만 볼 수 있습니다.
⭐ DarkMoon에 Star 남기기 · ▶️ 60초 데모 보기 · 🚀 빠른 시작 · 📊 57개 취약점 벤치마크
다음 매체에 소개됨 Help Net Security · Cyber Security News · DevOps.com · SecurityBrief · LinuxLinks · IT Brief · ChannelLife
▶️ DarkMoon이 전체 자율 침투 테스트를 수행하는 모습 보기
DarkMoon이란 무엇인가?
DarkMoon은 오픈소스 AI 침투 테스트 플랫폼입니다. 테스트가 승인된 대상을 지정하면 전체 평가를 자체적으로 수행합니다: 추론하고, 계획하며, 통제된 MCP 레이어를 통해 실제 공격 작업을 실행하는 50개의 전문 에이전트를 파견한 다음, 정확한 명령어, 원시 출력 및 그 뒤에 있는 증거와 함께 모든 취약점을 보고합니다.
펜테스터를 대체하지 않습니다. 증거를 통해 평가의 반복적인 부분을 처리하므로 전문가들은 고된 작업이 아닌 판단에 시간을 쏟을 수 있습니다.
왜 DarkMoon인가?
- 🌐 웹을 넘어서 — 웹, API, Active Directory, Kubernetes, 클라우드(AWS, Azure, GCP), CI/CD, 데이터베이스 및 IoT 펌웨어 전반에 걸친 단일 에이전트 시스템, 종단 간 연결
- 🕶️ 데이터가 LLM에 도달하지 않음 — 가역적 로컬 토큰화가 실제 IP, 호스트 이름, URL, 자격 증명 및 경로를 결정적 플레이스홀더(
IP_PRIVATE_001, ...)로 변환하고, 도구가 실행되는 순간에만 로컬에서 재수화되며 모든 결과에서 다시 마스킹됩니다. 완전히 로컬 모델에서 실행됩니다. 그리고 명령 비용이 들지 않습니다: 값이 가면 안 되는 곳으로 향할 때에도 명령은 여전히 실행되고 원격 측은 플레이스홀더를 대신 받습니다. 이것이 클라우드 경쟁사가 갖지 못한 부분입니다. - 🧾 점수가 아닌 증거 — 모든 발견 사항에는 재현 가능한 정확한 명령어와 원시 출력이 포함되어 있어 맹목적으로 신뢰할 것이 없고 분류할 것이 거의 없습니다
- 🔧 50개 전문 에이전트, 50개 이상의 공격 도구 — Nuclei, NetExec, BloodHound, sqlmap, Impacket, Naabu, httpx, ffuf 등이 MCP를 통해 오케스트레이션됩니다
- 🛡️ 보안 중심 설계 — AI는 명령을 직접 실행하지 않으며, 모든 작업은 통제되고 기록되는 MCP 인터페이스를 통해 흐릅니다
- ♾️ CI/CD 네이티브 — 파이프라인에서 펜테스트를 트리거하고 발견 사항을 아티팩트로 얻습니다
- 📖 숨겨진 것 없음 — GPLv3, 자체 호스팅, 각 에이전트의 방법론은 읽고, diff하고, 포크할 수 있는 일반 Markdown입니다
보안 팀, DevSecOps 엔지니어, 레드 팀 및 윤리적 해킹 전문가를 위해 구축되었습니다.
📊 벤치마크: OWASP Juice Shop에서 57개의 실제 취약점
로컬 LLM에서 OWASP Juice Shop에 대한 실제적이고 재현 가능한 블랙박스 실행(인프라를 벗어나는 것 없음):
| 지표 | 결과 |
|---|---|
| 발견된 취약점 | 57개 (치명적 8개 / 높음 24개 / 중간 21개 / 낮음 4개) |
| 소요 시간 | 28.5분 |
| 익스플로잇 증명 | 발견 사항별 |
| LLM | 로컬 (Ollama / llama.cpp) |
직접 재현하고 도구를 비교해 보세요: ASCIT31/Darkmoon-Benchmarks.
🆚 DarkMoon 비교
| DarkMoon | strix | shannon | PentAGI | |
|---|---|---|---|---|
| 로컬 LLM에서 실행 (데이터 유출 없음) | ✅ | ❌ 클라우드 | ❌ 클라우드 | 부분적 |
| 프라이버시 게이트웨이 (로컬 토큰화) | ✅ | ❌ | ❌ | ❌ |
| Active Directory + Kubernetes | ✅ | ❌ | ❌ | 부분적 |
| 익스플로잇 증명 | ✅ | ✅ | ✅ | ✅ |
| 오픈소스 | ✅ GPL-3.0 | ✅ | ✅ | ✅ |
공개 저장소/문서에서 작성됨 (2026-08); PR을 통한 수정 환영.
빠른 시작
사전 요구 사항
- Docker 및 Docker Compose
- LLM API 키 (OpenRouter, Anthropic, OpenAI 또는 로컬 모델)
참고: GPU 구성, NVIDIA 드라이버 문제 해결 및 고급 환경 설정은 전체 문서, GPU 문제 해결에서 다룹니다.
설치
1. 저장소 클론
git clone https://github.com/ASCIT31/Dark-Moon.git
cd Dark-Moon
2. LLM 제공자 구성
install.sh가 제공자 구성을 대화형으로 처리하므로 docker-compose.yml을 편집할 필요가 없습니다:
./install.sh # .opencode.env가 이미 구성된 경우 양식 건너뜀
./install.sh --init # 강제 재구성 (클라우드 또는 로컬 모델)
./install.sh --help # 사용법 표시
클라우드 제공자 (Anthropic, OpenAI, OpenRouter…) 및 로컬 모델 (Ollama, llama.cpp)을 지원합니다.
참고: 환경 변수 및 로컬 모델 설정에 대한 자세한 내용은 전체 문서, 환경 변수를 참조하세요.
3. 빌드 및 실행
./install.sh # 전체 스택 재설정으로 클린 설치
4. 첫 번째 평가 실행
./darkmoon.sh "TARGET: example.com"
5. 실시간 모니터링
./darkmoon.sh --log <session_id>
참고: 실시간 세션 로그는 MCP 서버가 실행한 모든 명령을 표시합니다. 자세한 내용은 전체 문서, 세션 로그를 참조하세요.
작동 방식
DarkMoon은 ISO 27001, NIST SP 800-115 및 MITRE ATT&CK 방법론에 부합하는 전략적 AI 보안 에이전트 오케스트레이터로 작동합니다.
대상을 제공하면 플랫폼이 자동으로:
- 🔍 대상 환경을 발견합니다 (포트, 서비스, 프로토콜)
- 🧠 기술 스택을 핑거프린팅합니다 (프레임워크, CMS, API)
- 🎯 공격 표면을 모델링합니다
- 🚀 감지된 기술을 기반으로 전문 하위 에이전트를 배포합니다
- 🔬 반응형 적응을 통한 지능형 취약점 스캐닝 루프를 실행합니다
- ✅ 증거(요청, 페이로드, 응답)로 발견 사항을 검증합니다
- 📝 구조화된 감사 보고서를 생성합니다
하위 에이전트 오케스트레이션
DarkMoon은 발견된 기술에 따라 전문 에이전트를 동적으로 선택하고 파견합니다:
| 감지된 기술 | 트리거된 에이전트 |
|---|---|
| WordPress, Drupal, Joomla, Magento, PrestaShop, Moodle | CMS 전용 에이전트 |
| PHP, Node.js, Flask, ASP.NET, Spring Boot, Ruby on Rails, Go | 스택 전용 에이전트 |
| GraphQL | GraphQL 에이전트 |
| LLM / AI 추론 엔드포인트 (OpenAI 호환, Ollama, vLLM, TGI) | LLM 에이전트 |
| Active Directory | AD 에이전트 |
| Kubernetes | Kubernetes 에이전트 |
| AWS, Azure, GCP | 클라우드 제공자 에이전트 |
| Entra ID (Microsoft ID) | ID 에이전트 |
| GitHub, GitLab, Jenkins | SCM 및 CI/CD 에이전트 |
| Terraform, Ansible | Infrastructure-as-Code 에이전트 |
| Docker, 컨테이너 레지스트리 | 컨테이너 에이전트 |
| HashiCorp Vault | 시크릿 에이전트 |
| PostgreSQL, MySQL, MSSQL, Oracle | 데이터베이스 에이전트 |
| Redis, RabbitMQ, Kafka, MQTT | 메시징 및 캐시 에이전트 |
| 펌웨어 / IoT 이미지 | 펌웨어 에이전트 |
| 헤드리스 브라우저 필요 | 헤드리스 브라우저 에이전트 |
여러 에이전트가 하이브리드 아키텍처 전반에 걸쳐 병렬로 실행될 수 있습니다.
자격 증명이 의미를 갖는 영역(클라우드 계정, CI/CD, 시크릿 저장소, 데이터베이스, Active Directory, Kubernetes)은 추론만으로는 절대 파견되지 않습니다. 구체적인 아티팩트(키, 토큰, 도달 가능한 메타데이터 엔드포인트)가 발견되거나 명시적으로 승인한 경우에만 실행되며, 그렇지 않으면 보고서에 플래그가 지정됩니다.
참고: 에이전트의 전체 목록, 구조, 수명 주기 및 사용자 정의 에이전트 생성 방법은 전체 문서, AI 에이전트를 참조하세요.
아키텍처 개요
User ──> DarkmoonCLI ──> OpenCode (AI Brain) ──> MCP (Security Gatekeeper) ──> Docker Toolbox (Real Tools)
sequenceDiagram
participant U as User
participant O as OpenCode
participant A as AI Agent
participant M as MCP Darkmoon
participant T as Docker Toolbox
U->>O: User prompt
O->>A: Delegate task
A->>M: MCP function call
M->>T: Execute real tool
T-->>M: Results
M-->>A: Structured output
A-->>O: Next decision
O-->>U: Summary / result
AI는 추론하고 계획합니다. MCP는 실행 가능한 것을 통제합니다. Toolbox는 Docker 내부에서 격리된 도구를 실행합니다. AI는 시스템을 직접 건드리지 않습니다, 이것이 보안 중심 설계입니다.
참고: 전체 아키텍처 분석(배포 다이어그램, 네트워크 흐름, 보안 경계)은 전체 문서, 아키텍처를 참조하세요.
범위 정의
DarkMoon은 명령줄에서 직접 유연한 범위 정의를 지원합니다.
빠른 펜테스트 (구성 없음):
./darkmoon.sh "TARGET: http://172.19.0.3:3000"
버그 바운티 모드 (플래그 자동 활성화):
./darkmoon.sh "TARGET: http://172.19.0.3:3000 PROGRAM=\"Juice Shop\" FOCUS=sqli,xss,idor NOISE=moderate FORMAT=h1"
주요 플래그에는 FOCUS, EXCLUDE, CREDS, TOKEN, NOISE, SEVERITY, FORMAT 등이 포함되며, 모두 AI가 자연스럽게 해석합니다.
참고: 전체 플래그 참조, 자산 유형, EXCLUDE/FOCUS 자유 형식 구문 및 고급 다중 대상 범위 지정은 전체 문서, 범위 정의를 참조하세요.
통합 도구 상자
DarkMoon에는 다단계 빌드에서 컴파일 및 최적화된 50개 이상의 보안 도구가 포함된 전용 Docker 이미지가 함께 제공됩니다:
| 카테고리 | 도구 (예시) |
|---|---|
| 포트 스캐닝 | Naabu (발견), nmap (대상 서비스 프로브) |
| 웹 스캐닝 | Nuclei, ffuf, dirb, sqlmap, Arjun, wafw00f |
| 정찰 및 크롤링 | Subfinder, Katana, Waybackurls, httpx |
| CMS | WPScan, CMSeeK, WhatWeb |
| Active Directory | NetExec, BloodHound, Impacket (30개 이상의 스크립트) |
| Kubernetes | kubectl, Kubescape, Kubeletctl, kube-bench, rbac-police |
| 클라우드 CLI | aws, az, gcloud, gsutil, bq |
| 데이터베이스 및 캐시 | psql, mysql, redis-cli, sqlite3 |
| 펌웨어 / IoT | binwalk, unsquashfs, sasquatch, firmwalker |
| 크래킹 | hashcat, john, 7z2john |
| 네트워크 | Hydra, curl, dig, SNMP 도구 |
| 브라우저 | Lightpanda (헤드리스) |
모든 도구에 직접 액세스할 수 있으며 경로 구성이 필요 없습니다.
참고: 설치 세부 정보 및 새 도구 추가 방법을 포함한 전체 도구 목록은 전체 문서, 도구 상자를 참조하세요.
📖 문서 가이드
DarkMoon의 전체 문서는 플랫폼 운영에 필요한 모든 것을 다룹니다. 가장 중요한 섹션에 대한 빠른 참조입니다:
| 주제 | 찾을 내용 | 링크 |
|---|---|---|
| GPU 및 드라이버 설정 | Docker, WSL 및 네이티브 Linux용 NVIDIA 문제 해결 | GPU 가이드 |
| 환경 변수 | LLM 제공자 구성, API 키, 모델 선택 | 환경 구성 |
| 시작 및 빌드 | install.sh 동작, docker compose build, 스택 관리 | 빌드 및 실행 |
| 범위 및 플래그 | TARGET 구문, 버그 바운티 모드, FOCUS/EXCLUDE, 자격 증명 | 범위 정의 |
| 평가 워크플로우 | 단계별: 발견, 핑거프린팅, 에이전트, 보고 | 평가 엔진 |
| 실시간 세션 로그 | MCP 서버가 실행한 명령 실시간 모니터링 | 세션 로그 |
| AI 에이전트 | 에이전트 구조, 수명 주기, 에이전트 생성 또는 수정 방법 | AI 에이전트 |
| 아키텍처 | 배포 다이어그램, 보안 경계, 실행 흐름 | 아키텍처 |
| 도구 상자 | 전체 도구 목록, 도구 추가, Docker 이미지 내부 | 도구 상자 |
| MCP 워크플로우 | 워크플로우 구조, 사용자 정의 워크플로우 생성, 모범 사례 | MCP 워크플로우 |
| 사용 가능한 도구 목록 | 경로 및 소스가 포함된 50개 이상의 도구 전체 표 | 도구 목록 |
| 교육 랩 | DarkMoon 교육에 권장되는 취약 랩 | 펜테스터 랩 |
사용 사례
DarkMoon은 다음과 같은 용도로 설계된 다목적 보안 테스트 플랫폼입니다:
- 🔒 보안 팀, 인프라 전반에 걸쳐 지속적인 자동화된 침투 테스트 실행
- ⚙️ DevSecOps 파이프라인, CI/CD 워크플로우에 AI 기반 보안 연구 통합
- 🎯 버그 바운티 헌터, 자율 대상 분석으로 윤리적 해킹 가속화
- 🔬 보안 연구원, 실시간으로 적응하는 AI 사이버 보안 플랫폼으로 공격 표면 탐색
- 🎓 교육 및 학습, 안내되고 재현 가능한 평가로 공격적 보안 학습
예시 프롬프트
# 웹 애플리케이션 펜테스트
./darkmoon.sh "TARGET: http://172.19.0.3:3000"
# Active Directory 평가
./darkmoon.sh "TARGET: 192.168.1.10"
# 특정 초점의 버그 바운티
./darkmoon.sh "TARGET: https://app.example.com PROGRAM=\"Example BB\" FOCUS=sqli,rce,ssrf EXCLUDE=H1 FORMAT=h1"
참고: DVGA, Juice Shop 및 헤드리스 브라우저 시나리오를 포함한 추가 프롬프트 예시는 전체 문서, 프롬프트 예시를 참조하세요.
기여
DarkMoon은 오픈소스이며 기여를 환영합니다. 새 에이전트 추가, 도구 통합, 워크플로우 생성 또는 문서 개선을 원하시면 CONTRIBUTING.md의 지침을 참조하세요.
라이선스
이 프로젝트는 GNU General Public License v3.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.