
블랙박스, 화이트박스, 그레이박스, 호스트/클라우드 및 LLM 레드팀 모드를 갖춘 AI 기반 펜테스트 하네스; 교차 모델 투표와 도구 영수증으로 발견 사항을 검증합니다.
자율적이고 다중 모델 침투 테스트 하네스 — Rust, CLI 전용.
by Joas A Santos & Red Team Leaders
⭐ 이것이 유용하다면, 저장소에 별표를 남겨주세요 — 큰 도움이 됩니다.
📖 처음이신가요? 전체 튜토리얼 및 사용자 가이드 → 를 읽어보세요 — 모든 모드, 플래그, 설정 및 예제가 설명되어 있습니다.
🆕 v3.6.5의 새로운 기능 — LLM 레드티밍: 다양한 시나리오에서 탈옥 및 프롬프트 인젝션: +12개 AI 에이전트(→ 30, 총 429) 가 hackagent.dev-스타일 도구가 하는 방식으로 라이브 AI 시스템을 적대적으로 레드팀합니다 — 탈옥 기법(AdvPrefix, PAIR, TAP, Crescendo, many-shot, 페르소나/DAN, 인코딩/난독화, 거부 억제) 및 프롬프트 인젝션 시나리오(직접, RAG/웹/이메일/도구 출력을 통한 간접, 목표 하이재킹, 도구/함수 호출 남용, 시스템 프롬프트 유출). 각각은 공격자→LLM 판사 루프를 실행합니다 — 기준 거부를 캡처하고, 변형들에 기법을 적용하고, 가드레일이 실제로 우회되었는지 판정 — 무해하고 편집된 영수증으로 입증합니다.
neurosploit aitest <ai-url>. 또한: 셀프 서비스 테스트 계정 등록 — 앱의 폼을 분석하고 인증된 영역에 도달하기 위해 무해한 계정(curl 또는 Playwright)을 만듭니다. 엄격한 안티 플러딩 가드레일(≤2개 계정), 실행별 자격 증명 금고(vault.json, 보고서에서 마스킹된 비밀), "이 계정들 삭제" 정리 섹션, 인증됨 / 인증되지 않음으로 태그된 결과, 그리고 선택적 일회용 이메일(/tempmail, 무료 mail.tm). 휴먼 인 더 루프 검증기: 불확실한 결과는 이제 삭제되지 않고needs-review로 표시됩니다 (지원이 전혀 없는 노이즈만 제거됨) — 최종 판단은 사람이 내립니다. PDF/HTML과 함께 Markdown + JSON 보고서. 최신 SPA/REST 앱에서 더 날카로운 에이전트(Juice-Shop급 API 사냥 방법론) 및 더 견고한 RL 보상 형성. 새 모델: Claude Opus 5, Claude Sonnet 5, Kimi K3 (Moonshot → 15개 공급자). 전체 이력은 RELEASE.md에 있습니다.
NeuroSploit은 URL, 소스 저장소, 실행 중인 앱 또는 호스트/IP를
자율적 보안 엔게이지먼트로 전환합니다. Rust 하네스(tokio)가 LLM 풀을 구동합니다 — API 키 또는 로컬 구독 (Claude Code / Codex / Gemini /
Grok)을 통해 — 타겟을 리콘하고, 발견된 표면과 일치하는 에이전트만 지능적으로 선택하며, 병렬로 실행하고, 결과를 연결하여 더 깊은 영향으로 만들고, 보고 전에 교차 모델 투표 + 도구 영수증 근거 확인으로 모든 주장을 검증합니다. 430개의 마크다운 에이전트와 Mission Control TUI를 제공합니다.
may_assert 게이트는 수학적 환각 방지 규칙입니다 (신념이 분산되어 있는 동안 익스플로잇 가능성을 주장하지 않음).file:line — 코드 인용 그 자체가 영수증), 그레이박스에는 둘 중 하나; 근거 없는 주장은 등급이 하향됩니다.aws/gcloud/az)를 구동하는 AWS / GCP / Azure 에이전트. creds.yaml로 연결: AWS 키, Google 서비스 계정 JSON 또는 Azure 서비스 주체 — 클라우드 자격 증명 참조.이것은 슬림한 Rust 전용 배포판입니다 (
neurosploit-rs/+agents_md/). 이전 Python 엔진과 웹 GUI는 이전v3.4.0브랜치에 있습니다.
Linux / macOS (x64 & arm64):```bash curl -fsSL https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/setup.sh | bash
**Windows** (PowerShell, x64 & arm64):```powershell
irm https://raw.githubusercontent.com/JoasASantos/NeuroSploit/main/install.ps1 | iex
| OS | x64 | arm64 |
|---|---|---|
| Linux (Kali 권장) | ✅ | ✅ |
| macOS |
순수 Rust + stdlib이므로 안정적인 Rust 툴체인이 실행되는 모든 곳에서 네이티브로 빌드됩니다.
설치 프로그램이 OS/아키텍처를 자동으로 감지하고 Rust가 없으면 설치합니다. 네이티브
Windows에서는 install.ps1을 사용하고, WSL2 / Git Bash에서는 setup.sh 한 줄 명령도 작동합니다.
설치 프로그램은 필요 시 Rust를 자동 설치하고, 저장소를 ~/.neurosploit에 클론한 뒤
릴리스 바이너리를 빌드하고 neurosploit을 ~/.local/bin에 링크합니다. 업데이트하려면
언제든 다시 실행하세요. 환경 변수로 조정할 수 있습니다: NEUROSPLOIT_REF (브랜치/태그),
NEUROSPLOIT_DIR, PREFIX.
직접 빌드하는 것을 선호하시나요?```bash git clone https://github.com/JoasASantos/NeuroSploit && cd NeuroSploit/neurosploit-rs cargo build --release # → target/release/neurosploit
## ⚡ 빠른 시작 (60초)```bash
# easiest path — just run it; the interactive session asks everything:
neurosploit
# or one-liner (subscription login, no API key needed):
neurosploit run http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 -v
# white-box — review a source repository (SAST agents, file:line evidence):
git clone https://github.com/digininja/DVWA /tmp/DVWA
neurosploit whitebox /tmp/DVWA --subscription --model anthropic:claude-opus-4-8 -v
# grey-box — review the code AND exploit the running app together:
neurosploit greybox /tmp/DVWA --url http://localhost:8080/ --creds creds.yaml \
--subscription --model anthropic:claude-opus-4-8 --mcp -v
# host / infra — Linux / Windows / Active Directory (SSH/Win creds in creds.yaml):
neurosploit host 10.0.0.10 --creds creds.yaml --subscription --model anthropic:claude-opus-4-8 -v
# 🛰 Mission Control TUI — live panels (header/feed/findings/targets) + a composer
# you can type in WHILE the run streams (summary · pause · errors · notes):
neurosploit tui http://testphp.vulnweb.com/ --subscription --model anthropic:claude-opus-4-8 --mcp
모든 모드(black/white/grey/host)에 대한 전체 단계별 안내는 **TUTORIAL.md**에 있습니다.
로그인이 필요 없나요? 대신 API 키를 사용하세요 — 인증을 참조하세요.
NeuroSploit을 SDLC에 연결하세요. REPL(/integrations) 또는 CLI(neurosploit integrations enable github|gitlab|jira)에서 전환할 수 있습니다. 토큰은 절대 저장되지 않습니다 — 환경 변수의 이름만 저장되며, 값은 사용자의 환경에서 읽어옵니다.```bash
export GITHUB_TOKEN=ghp_... # PAT with repo scope (private repos)
neurosploit integrations enable github
neurosploit pr digininja/DVWA 42 --subscription --model anthropic:claude-opus-4-8 --comment
neurosploit watch myorg/private-app --branch main --subscription --model anthropic:claude-opus-4-8
export GITLAB_TOKEN=glpat-... ; neurosploit integrations enable gitlab neurosploit whitebox https://gitlab.com/myorg/private-svc --subscription --model anthropic:claude-opus-4-8
export JIRA_EMAIL=[email protected] JIRA_API_TOKEN=... # set base/project once: /integrations setup jira neurosploit whitebox https://github.com/myorg/app --jira --subscription --model anthropic:claude-opus-4-8
| Integration | What you get | Env vars |
|-------------|--------------|----------|
| **GitHub** | private clone · `pr` review + comment · `watch` branch | `GITHUB_TOKEN` |
| **GitLab** | private clone for whitebox/greybox | `GITLAB_TOKEN` |
| **Jira** | one card per finding (`--jira`) | `JIRA_EMAIL`, `JIRA_API_TOKEN` |
📖 각 도구별 단계별 설정: **[TUTORIAL-INTEGRATION.md](https://github.com/joasasantos/neurosploit/blob/HEAD/TUTORIAL-INTEGRATION.md)**.
---
## ☁️ 클라우드 자격 증명 (AWS/GCP/Azure)
`creds.yaml`에 클라우드 블록을 추가하면 하네스가 올바른 환경 변수를 내보내서
AWS/GCP/Azure 에이전트가 `aws` / `gcloud` / `az`를 구동할 수 있게 합니다. 비밀 값은
파일/비밀 관리자에 유지됩니다. 에이전트는 **먼저 읽기 전용 열거만 수행하며, 절대 파괴적이지 않습니다**.```yaml
# --- AWS: static keys (or a named profile) ---
aws:
access_key_id: AKIA...
secret_access_key: ...
# session_token: ... # if using temporary creds
region: us-east-1
# profile: my-sso-profile # alternative to keys
# --- GCP: service-account JSON (path recommended; inline single-line also works) ---
gcp:
service_account_json: /path/to/sa.json
project: my-project-id
# --- Azure: service principal (recommended for automation) ---
azure:
tenant_id: ...
client_id: ...
client_secret: ...
subscription_id: ...
입력 내용이 제공되지 않았습니다. 번역할 텍스트가 없으므로 번역 결과를 반환할 수 없습니다.```bash
neurosploit host my-cloud-account --creds creds.yaml
--subscription --model anthropic:claude-opus-4-8 -v
에이전트는 IAM 권한 상승, 스토리지 노출(S3/GCS/Blob), 컴퓨팅 및 네트워크 노출, 시크릿(Secrets Manager / Secret Manager / Key Vault), 서비스 계정/SP 악용, ID 열거(Entra ID)를 다룹니다. 모범 사례 인증: **AWS** 액세스 키 또는 프로필; **GCP** 서비스 계정 JSON(`GOOGLE_APPLICATION_CREDENTIALS`); **Azure** 서비스 주체(`az login --service-principal`).
---
## 👥 여러 ID — 접근 제어 테스트 (IDOR / BOLA / BFLA)
NeuroSploit에 `creds.yaml`에서 두 개 이상의 **명명된 역할**을 제공하면 각 역할로 인증하고 **교차 역할** 액세스를 테스트합니다(낮은 권한 역할이 다른 사용자의 객체 또는 관리자 기능에 도달하는 경우 발견 항목으로 간주):```yaml
admin:
jwt: eyJ... # per role: jwt | header (raw) | cookie | apikey | login+username+password
user:
apikey: abc123 # → X-Api-Key: abc123
victim:
cookie: "session=deadbeef"
The input chunk is empty — no content was provided to translate. Please supply the actual chunk text.```bash
neurosploit run https://app.example --creds creds.yaml
--subscription --model anthropic:claude-opus-4-8 -v
각 finding은 **authorized vs unauthorized** 요청 쌍으로 입증되며,
데이터 안전 가드레일(읽기 전용, PII 마스킹) 하에서 수행됩니다.
## 🏷️ 식별 및 귀속 (표절 방지)
모든 요청에는 식별용 **User-Agent**(기본값
`NeuroSploit/<ver> …`, **`/ua`** 또는 `NEUROSPLOIT_UA`로 변경)와
`X-NeuroSploit-Scan` 헤더가 태그되며, 모든 finding에는 **스탬프**로 "Identified and
validated by NeuroSploit"가 찍힙니다 — 따라서 출처는 트래픽, finding
텍스트, `findings.json` 및 보고서 바닥글에 함께 전달됩니다.
---
## 빌드```bash
cd neurosploit-rs
cargo build --release # → target/release/neurosploit
Rust 도구 체인(rustup)이 필요합니다. 권장: Kali Linux에서 실행 (또는 Kali Docker 이미지)하여 에이전트가 사용하는 공격 도구가 이미 준비되어 있습니다:```bash
docker run -it --rm kalilinux/kali-rolling
apt update && apt install -y curl nmap ffuf nodejs npm
에이전트는 우아하게 저하됩니다: `rustscan`이 설치되어 있지 않으면 `nmap`을 사용하고,
둘 다 없으면 `curl`로 프로브합니다. Playwright MCP 브라우저를 사용할 수 있다면
JS가 많은 페이지에 이를 사용하고, 그렇지 않으면 `curl`로 폴백합니다.
---
## 사용법
**인수 없이** 실행하면 대화형 마법사가 시작됩니다:```bash
./target/release/neurosploit
또는 직접 실행하세요:```bash
./target/release/neurosploit run http://testphp.vulnweb.com/
--subscription --model anthropic:claude-opus-4-8 --mcp -v
./target/release/neurosploit run http://testphp.vulnweb.com/
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --vote-n 3
git clone https://github.com/digininja/DVWA /tmp/DVWA
./target/release/neurosploit whitebox /tmp/DVWA
--subscription --model anthropic:claude-opus-4-8 -v
./target/release/neurosploit run http://testphp.vulnweb.com/ --offline
./target/release/neurosploit agents # library counts ./target/release/neurosploit models # providers & models ./target/release/neurosploit --help # full help with examples
### Options (`run` / `whitebox`)
| Flag | Meaning |
|------|---------|
| `--model provider:model` | 반복 가능. 첫 번째 = 기본; 나머지는 장애 조치되며 **그리고** 투표 심사단을 구성합니다. |
| `--subscription` | API 키 대신 로컬 CLI 로그인(Claude/Codex/Gemini/Grok)을 사용합니다. |
| `--mcp` | Playwright MCP를 활성화합니다(`npx`로 자동 프로비저닝됨; MCP가 없는 백엔드는 내장 도구를 사용합니다). |
| `--vote-n N` | 몇 개의 모델이 발견 항목이 실제라고 동의해야 하는지 (기본 3 / whitebox의 경우 2). |
| `--max-agents N` | 실행할 에이전트 수를 제한합니다(`0` = recon과 일치하는 모든 에이전트). |
| `--offline` | 모델을 호출하지 않고 전체 파이프라인을 실행합니다. |
| `-v, --verbose` | 각 에이전트가 시작, 정찰(recon), 투표할 때 로그를 기록합니다. |
### 인증 — API 키 *또는* 구독으로 실행
NeuroSploit은 두 가지 방식으로 실행할 수 있습니다. 두 방식은 독립적이므로 실행할 때마다 선택하세요.
#### 1) API 경유 (프로바이더 API 키)
모델 패널에 있는 프로바이더의 키를 내보낸 다음 `--subscription` **없이** 실행하세요. 모든 OpenAI 호환 프로바이더가 작동합니다.```bash
# pick one or more, depending on the models you select
export ANTHROPIC_API_KEY=sk-ant-... # anthropic:claude-*
export OPENAI_API_KEY=sk-... # openai:gpt-*
export GEMINI_API_KEY=AIza... # gemini:gemini-*
export XAI_API_KEY=xai-... # xai:grok-*
export NVIDIA_NIM_API_KEY=nvapi-... # nvidia_nim:*
export DEEPSEEK_API_KEY=... # deepseek:*
export MISTRAL_API_KEY=... # mistral:*
export DASHSCOPE_API_KEY=... # qwen:* (Alibaba DashScope)
export GROQ_API_KEY=... # groq:*
export TOGETHER_API_KEY=... # together:*
export MOONSHOT_API_KEY=... # moonshot:* (Kimi K3/K2)
export OPENROUTER_API_KEY=... # openrouter:*
# ollama needs no key (local)
# then run via API (note: NO --subscription)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --vote-n 3 -v
# multi-provider voting panel via API (1st finds, the others adjudicate)
./target/release/neurosploit run http://testphp.vulnweb.com/ \
--model anthropic:claude-opus-4-8 --model openai:gpt-5.1 --model gemini:gemini-2.5-pro
또는 키를 .env 파일에 넣고 source 하세요 (cp .env.example .env; 편집; set -a; . ./.env; set +a).
공급자 → 환경 변수 → 엔드포인트 (모두 OpenAI 호환):
전체 공급자/모델 목록은 ./target/release/neurosploit models를 실행하세요.
--subscription은 API 키 대신 로컬 agentic-CLI 로그인을 사용합니다 —
먼저 CLI 중 하나를 설치하고 로그인하세요:
--subscription --model anthropic:claude-opus-4-8 --mcp -v
---
## 작동 방식```
target ─▶ recon (curl/nmap/…) ─▶ INTELLIGENT agent selection (recon-aware)
─▶ parallel exploitation ─▶ cross-model validation vote
─▶ severity/score ─▶ report (HTML + Typst PDF) ─▶ RL reward update
각 실행은 자체 포함된 폴더 runs/ns-<ts>-<target>/를 생성합니다:
강화학습 보상 저장소(data/rl_state_rs.json)는 향후 실행에서 에이전트
선택을 편향시킵니다.
agents_md/ (303)각 에이전트는 자체 포함된 마크다운 플레이북입니다 (## User Prompt 방법론 +
## System Prompt 엄격한 오탐 방지 규칙). 새 .md를 해당 폴더에 넣으면
하네스가 이를 자동으로 인식합니다.
승인된 테스트에만 사용하세요. 에이전트는 범위 내에서만 활동하고, 파괴적/DoS 작업을 실행하지 않으며, 악용 증명을 요구하도록 지시됩니다. 모든 대상에 대한 권한이 있는지 책임은 사용자에게 있습니다.
Joas A Santos & Red Team Leaders.
MIT.
| 모드 | 명령 | 설명 |
|---|
| 블랙박스 | neurosploit run <url> | 리콘 → 선택 → 익스플로잇 → 투표 → 보고 |
| 화이트박스 | neurosploit whitebox <repo> | 소스/SAST 리뷰 (file:line 증거) |
| 그레이박스 | neurosploit greybox <repo> --url <app> | 코드 리뷰 + 실시간 익스플로잇 함께 |
| 호스트/인프라 | neurosploit host <ip> --creds creds.yaml | Linux / Windows / AD 및 클라우드 (AWS/GCP/Azure) 테스트 |
| AI / LLM 레드팀 | neurosploit aitest <ai-url> | 라이브 AI 에이전트 대상 탈옥 및 프롬프트 인젝션 + OWASP LLM Top 10 / MCP |
| AI Skills / n8n | neurosploit skills <file|folder> | Skill/플러그인 및 n8n 워크플로 정의 화이트박스 감사 |
| Mission Control | neurosploit tui <url> | 실행 중 라이브 TUI 패널 + 컴포저 |
| 대화형 | neurosploit | 지속적 REPL 세션 (프로젝트별 재개) |
.git.envnucleipocs//proxy <url> (또는 /burp)는 에이전트 트래픽을 로컬 인터셉트 프록시를 통해 라우팅하여 Burp에서 검사하고 재전송할 수 있게 합니다.summary, pause, …).<cwd>/.neurosploit/는 세션, 실행 이력 및 명령 이력을 유지합니다. REPL은 다시 열면 재개됩니다. 데이터베이스가 필요 없습니다.| ✅ |
| ✅ (Apple Silicon) |
| Windows | ✅ | ✅ |
--model 접두사 | 환경 변수 | 기본 URL |
|---|
anthropic: | ANTHROPIC_API_KEY | api.anthropic.com |
openai: | OPENAI_API_KEY | api.openai.com |
gemini: | GEMINI_API_KEY | generativelanguage.googleapis.com |
xai: | XAI_API_KEY | api.x.ai |
nvidia_nim: | NVIDIA_NIM_API_KEY | integrate.api.nvidia.com |
deepseek: | DEEPSEEK_API_KEY | api.deepseek.com |
mistral: | MISTRAL_API_KEY | api.mistral.ai |
qwen: | DASHSCOPE_API_KEY | dashscope-intl.aliyuncs.com |
groq: | GROQ_API_KEY | api.groq.com |
together: | TOGETHER_API_KEY | api.together.xyz |
moonshot: | MOONSHOT_API_KEY | api.moonshot.ai |
openrouter: | OPENROUTER_API_KEY | openrouter.ai |
ollama: | (없음) | localhost:11434 |
--model 접두사 | 사용 CLI | 로그인 |
|---|
anthropic: | claude (Claude Code) | claude 후 /login |
openai: | codex | codex login |
gemini: | gemini | gemini login |
xai: | grok | grok login |
| ./target/release/neurosploit run http://testphp.vulnweb.com/ \ |
| 파일 | 내용 |
|---|
status.json | running → complete 및 요약 포함 |
recon.json / recon.md | 매핑된 공격 표면 |
exploitation.md | 에이전트별 원시 기록 |
findings.json / findings.md | 검증된 발견 사항 (다른 도구/AI가 재사용 가능) |
report.html, report.typ, report.pdf | 최종 보고서 (Typst 엔진을 통한 PDF) |
| 카테고리 | 수 | 목적 |
|---|
vulns/ | 196 | 특정 취약점 클래스 악용 |
recon/ | 12 | 정보 수집 / 공격 표면 |
code/ | 78 | 화이트박스 소스코드(SAST) 리뷰 |
meta/ | 17 | 오케스트레이터, 검증기, 스코어러, 리포터, RL |