실제 스웜 기반 첫 오픈소스 펜테스팅 도구: Armur-Ai/Pentest-Swarm-AI
요약
Pentest Swarm AI는 기존의 순차적인 '파이프라인' 방식에서 벗어나, 진정한 스웜 지능(Swarm Intelligence) 원리를 적용한 최초의 오픈소스 펜테스팅 도구입니다. 이 도구는 Stigmergy(공유 블랙보드), Emergence(예상치 못한 공격 체인 발생), Decentralization(독립적 에이전트 추가/제거)라는 세 가지 핵심 스웜 메커니즘을 활용하여 다중 에이전트 보안 테스트를 수행합니다. 이는 nmap, sqlmap 등 다양한 전문 도구와 최신 LLM(Claude Sonnet, Opus, Llama 등)을 통합하고, 중앙 계획자 없이 자율적으로 발견과 공격을 조정하는 것이 특징입니다.
핵심 포인트
- **진정한 스웜 기반 펜테스팅:** 기존의 순차적 '파이프라인' 방식이 아닌, Stigmergy(공유 블랙보드), Emergence(예상치 못한 체인 발생), Decentralization(독립 에이전트) 원리를 구현했습니다.
- **도구체인 통합 및 유연성:** nmap, sqlmap, Burp 등 전문 보안 도구와 Claude Sonnet/Opus, Llama 등 다양한 LLM을 하나의 와이어로 연결하여 사용합니다.
- **자율적이고 비선형적인 공격 조정:** 중앙 계획자가 없이 에이전트들이 공유 블랙보드(Stigmergic blackboard)를 통해 상호작용하며 발견과 공격 체인을 자발적으로 생성하고 발전시킵니다.
- **오픈소스 기반의 선도적 프로젝트:** PentestGPT, PentAGI 등 기존 AI 보안 연구 성과들을 통합하여 다음 세대 펜테스팅 프레임워크를 구축했습니다.
실제 스웜 (Swarm) 위에 구축된 첫 오픈소스 펜테스팅 도구 — 단순한 에이전트들의 순차적 실행이 아닙니다.
Quick Start · Swarm vs. Multi-Agent · How It Works · Compare · Roadmap
Anthropic 의 Claude Mythos — 2026 년 4 월 Project Glasswing 를 통해 출시됨 — 은 주요 운영체제와 브라우저 전반에 걸쳐 수천 개의 제로데이 (zero-day) 를 공개했습니다. 프론티어 추론 (Frontier reasoning) 이 임계점을 넘었으며, 병목 현상은 이제 모델이 아닙니다.
Pentest Swarm AI 는 이러한 모델을 작동시키기에 필요한 도구체인 (toolchain) 입니다. nmap, sqlmap, Burp, ZAP, Metasploit 및 공격 스택의 나머지 부분과 실시간 액세스. stigmergic blackboard 를 통한 다중 에이전트 조정. 증거 포착, 중복 제거, 제출 준비 보고서. Claude Sonnet, Opus, Llama, OpenAI 호환성 있는 모든 것 — 오늘 선택된 모델을 와이어 (wire) 인 (연결) 후, 액세스가 열리던 날 Mythos 를 교체할 수 있습니다.
Anthropic 과 무관합니다. Mythos 와 Glasswing 은 Anthropic 프로젝트입니다.
이 프로젝트는 거대들의 어깨 위에 서 있습니다. AI 기반 공격 보안 (offensive security) 을 개척한 프로젝트에 대한 인정과 감사를 표합니다:
PentestGPT — LLM 이 펜테스팅을 할 수 있음을 증명했던 OG
PentAGI — 완전 자율 에이전트 아키텍처
Strix — 발견하고 고치는 AI 해커 (AI hackers)
CAI — 사이버보안 AI 프레임워크, 인간보다 3600 배 빠름
HackingBuddyGPT — 50 줄의 코드에서 LLM 해킹
Shannon — 화이트박스 AI 펜테스터
BlacksmithAI — 다중 에이전트 펜테스팅 프레임워크
PentestAgent — 블랙박스 AI 보안 테스트
Pentest Copilot — AI 기반 펜테스팅 에이전트
이들의 오픈소스 기여가 이러한 도구를 가능하게 했습니다.
법적 경고 (Legal Disclaimer): Pentest Swarm AI 는 승인된 보안 테스트, 벌고ounty 프로그램, CTF 대회, 교육 연구용에만 설계되었습니다. 스캔을 실행하기 전에 대상 시스템 소유자에게 명시적인 서면 허가를 얻어야 합니다. 컴퓨터 사기 및 남용 법 (CFAA), 컴퓨터 남용법, 그리고 전 세계에 동등한 법률 하에서 컴퓨터 시스템의 무단 접근은 불법입니다. 이 프로젝트의 작성자 및 기여자는 도구를 사용하여 수행된 오용, 피해 또는 불법 활동에 대해 책임을 지지 않습니다. 이 소프트웨어를 사용함으로써, 당신은 모든 관련 법규 및 규정을 준수하는지 확인하는 데 있어 당신 혼자서 책임져야 함을 동의합니다. 소유하지 않거나 명시적인 테스트 권한이 없는 시스템에 대한 도구 사용을 금지합니다.
대부분의 "다중 에이전트" 펜테스팅 도구는 고정된 순서로 전문 에이전트를 파견하는 단일 계획 LLM — 재구성 → 분류 → 공격 → 보고서입니다. 이는 **파이프라인 (pipeline)**이지, 스웜이 아닙니다.
Pentest Swarm AI 는 세 가지 스웜 지능 원리 (swarm-intelligence primitives) 에 기반을 둡니다:
Stigmergy— 에이전트들은 중앙 계획자가 무엇을 할지告诉他们하는 것이 아니라, 공유 blackboard 를 읽고 작성하여 발견을 조정합니다. 발견의pheromone weight는 다른 에이전트들을 그쪽으로 편향시키고 시간이 지남에 따라 감소하므로, 낡은 경로는 자연스럽게 죽습니다.Emergence— 단일 에이전트가 계획하지 않은 공격 체인 (attack chains) 이 나타납니다. 재구성 발견이 분류기를 깨웁니다; 고중요도 분류가 공격 에이전트를 깨웁니다; 공격 결과가 blackboard 로 다시 공급되어 보고서 에이전트를 깨웁니다. 순서는 정해지지 않습니다 — blackboard 상태로부터 발생합니다.Decentralization— 각 에이전트는 자신의trigger predicate를 실행합니다. 새 에이전트를 추가하고 그 자체의 predicate 를 가지면, 오케스트레이터를 재작성하지 않고 스웜에 합류합니다.
우리는 이 카테고리가 비어있었기 때문에 이를 구축했습니다. "스웜"으로 마케팅되는 모든 도구는 실제로 파이프라인이었습니다. 반례를 찾았다면 이슈를 열어주세요 — 우리는 비교 테이블에 추가할 것입니다.
Stigmergy, 페로몬 감소 (pheromone decay), Postgres 백엔드 블랙보드, 그리고 Google ADK/CrewAI/AutoGen 을 기반으로 하지 않은 이유에 대한 기술적 심층 분석은 IMPLEMENTATION_PLAN.md 를 참조하세요.
# Install (pick one)
brew install Armur-Ai/tap/pentestswarm # macOS (Homebrew tap)
docker run --rm -e ANTHROPIC_API_KEY=sk-ant-...\n...
이것이 전체 설정입니다. Ollama 없음, 모델 다운로드 없음, GPU 없음 — 단지 Claude API 키만 필요합니다.
GitHub Actions 워크플로우 내부에서 실행할 경우? 해당 액션이 있습니다 — deploy/github-action/example-workflow.yml 을 참조하세요.
YOU
|
pentestswarm scan example.com --swarm
...
핵심 동작:
Agents 는 독립적입니다. 다른 에이전트들을 재연결 (rewiring) 하지 않고 임의 하나를 제거하거나, 교체하거나 추가할 수 있습니다.
Pheromones 은 per-finding-type 으로 감소합니다. PORT_OPEN은 몇 시간 동안 뜨겁게 유지되지만, SESSION은 몇 분 동안만 유지됩니다. Config-driven half-lives 입니다.
Scope 는 도구 (tool) 레이어와 다시 실행자 (executor) 레이어에서 강제됩니다. Defence in depth — --scope는 우회할 수 없습니다.
Cleanup 는 항상 실행 전에 등록됩니다. SIGINT, 크래시, 예산 고갈 모두 리버스 오더 (reverse-order) cleanup 을 트리거합니다. internal/pipeline/cleanup_memory.go 와 cleanup.go 를 참조하세요.
Claude prompt caching은 반복적인 시스템 프롬프트에서 비용과 지연 시간을 줄입니다 (recon + classifier 에 대해 기본적으로 활성화됨).
우리가 생태계의 나머지 부분과 어떻게 위치하는지. 우리는 향후 릴리스 (Phase 3.3) 에서 실제 벤치마크 숫자를 배포할 것입니다.
| Tool | Architecture | Executes vs. suggests | Memory | Tools wired | MCP | Swarm? |
|---|---|---|---|---|---|---|
| Pentest Swarm AI | Stigmergic blackboard | Executes | pgvector + pheromones | 8 ProjectDiscovery + nmap; sqlmap / Burp MCP / Metasploit in roadmap | Yes | ✅ real |
| PentestGPT | Single-agent ReAct | Suggests | None | None native | No | No |
| HackingBuddyGPT | Single-agent | Executes | Run logs | Shell passthrough | No | No |
| ... |
이 표의 항목 중 하나라도 잘못되었거나 구식이 있다면 PR 을 열어주세요 — 우리는 이 테이블이 항상 정직해야 합니다.
정직성 라벨: stable 은 배포 + 테스트됨을 의미하며, beta 는 작동하지만 거친 모서리가 있음을 의미하고, alpha 는 실험적임을 의미하며, planned 은 로드맵에 있음을 의미합니다.
| Feature | Status | Notes |
|---|---|---|
| Sequential 5-phase runner | stable | Default mode; battle-tested core |
| Stigmergic swarm scheduler | alpha | --swarm flag; memory-backed blackboard wired |
| ProjectDiscovery toolchain | stable | subfinder, httpx, nuclei, naabu, katana, dnsx, gau |
| Cleanup registry | stable | Always runs on SIGINT / exit / budget-cancel |
| Claude prompt caching | stable | Enabled for recon + classifier by default |
--strict LLM mode | stable | Promotes LLM errors to fatal |
| CVSS v3.1 scoring | stable | FIRST spec |
| Postgres blackboard backend | beta | Migration shipped; runner uses memory-board for now |
| MCP server | beta | pentestswarm mcp serve |
| VS Code extension | beta | deploy/vscode/ |
| GitHub Action | beta | deploy/github-action/action.yml with SARIF |
| Swarm playbooks (5) | beta | playbooks/{bug-bounty,external-asm,ci-cd,internal-network,ctf-solver}.yaml |
| Live dashboard | alpha | web/ ; UI built, wiring to live campaigns in progress |
| Burp MCP bridge | planned | Wave 2 |
| Metasploit / ZAP / sqlmap adapters | planned | Wave 2 |
| Fine-tuned Pentest-Swarm model | planned | Wave 3 (Pentest-R1 recipe) |
| Cybench / AutoPenBench benchmarks | planned | Wave 3 |
pentestswarm scan <target> --scope <scope> # Swarm 실행
pentestswarm scan <target> --scope <scope> --swarm # Stigmergic 스케줄러 사용
pentestswarm scan <target> --scope <scope> --strict # LLM 오류 발생 시 실패
...
모든 에이전트는 단일 제공자 설정에서 상속받습니다. 하나의 키를 설정하면 전체 swarm 가 작동합니다.
| Provider | Setup | Privacy | Best for |
|---|---|---|---|
| Claude (default) | export PENTESTSWARM_ORCHESTRATOR_API_KEY=... | Cloud | 최고 품질, 설정 불필요, 프롬프트 캐싱 |
| Ollama | Install Ollama + 모델 다운로드 | 100% 로컬 | 완전한 프라이버시, 에어 갭 환경 |
| LM Studio | 모델 로드, 서버 활성화 | 100% 로컬 | GUI 모델 관리 |
| Component | Technology | Why |
|---|---|---|
| Platform | Go 1.24 | 단일 바이너리, goroutine 병렬 처리, 네이티브 보안 도구 |
| CLI | Cobra + bubbletea | 멀티 패널 에이전트 뷰를 갖춘 아름다운 TUI |
| LLM | Claude API / Ollama / LM Studio | 최고 품질 클라우드 + 완전한 프라이버시 로컬 |
| Security Tools | subfinder · httpx · nuclei · naabu · katana · dnsx · gau · nmap | ProjectDiscovery Go 라이브러리 + nmap 서브프로세스 |
| Blackboard | Postgres 16 + pgvector | 트랜잭션 쓰기, 벡터 유사성, SQL 내 페로몬 감쇠 |
| Cache | Redis 7 | 속도 제한, 세션 상태 |
| Dashboard | Next.js 15 + shadcn/ui + tremor | 어둠 모드 중심, 차트 중시 |
| MCP | JSON-RPC stdio | Claude Desktop + Cursor 통합 |
git clone https://github.com/Armur-Ai/Pentest-Swarm-AI.git
cd Pentest-Swarm-AI
./scripts/setup.sh # 도구 설치, Postgres/Redis/Ollama 시작
...
CLI 변경 후 데모 GIF 재생성:
brew install vhs # 한 번만
vhs docs/demo-flashy.tape
전체 단계별 계획을 IMPLEMENTATION_PLAN.md 참조. 요약 버전:
Wave 1(진행 중): 실제 swarm 아키텍처 (완료), 대시보드 와이어업, Burp MCP
Wave 2: sqlmap / Metasploit / ZAP 어댑터, 버그ounty + ASM + CI/CD 플레이북 정제, 공식 GitHub Action Marketplace 에 포함
Wave 3: Fine-tuned Pentest-Swarm 모델 (Pentest-R1 레시피), Cybench / AutoPenBench / CVE-Bench 수치, 에이전트 메모리 오염 강화 (MINJA / MemoryGraft 방어)
단일 에이전트는 도구입니다. 에이전트를 닮은 파이프라인은 다소 고급스러운 도구입니다. Swarm는 다릅니다: 에이전트가 공유 환경을 가지고 있으며, 각 에이전트의 쓰기는 다른 에이전트의 행동을 영향을 미치며, 유용한 작업은 지시된 것이 아니라 나타납니다. swarm 가 1,000 개의 서브도메인 타겟을 계획 없이 처리할 수 있게 하는 것입니다.
하나의 에이전트는 도구입니다. Swarm 는 플랫폼입니다.
Apache 2.0 — LICENSE 참조.
Armur AI 에서 구축됨.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기