Armur-Ai/Pentest-Swarm-AI
Autonomous penetration testing using a swarm of AI agents. Orchestrates recon, classification, exploitation, and reporting specialists with ReAct reasoning — supports bug bounty, continuous monitoring, and CTF modes. Built with Go and 7+ native security tools.
Pentest Swarm AI
정의 – 오픈소스, 자체 호스팅 침투 테스트 프레임워크로, 수십 개의 AI 에이전트를 병렬로 실행("스웜")하여 취약점을 발견, 악용, 보고합니다. 사용자가 제공하는 모든 LLM(Claude, OpenAI 호환, Together AI 모델, Ollama 등)과 작동하며, stigmergic 페로몬을 사용하여 어떤 발견 사항을 다음에 추적할지 결정하는 공유 "블랙보드"를 통해 에이전트를 조정합니다.
주요 기능
| 기능 | 설명 |
|---|---|
| 실제 스웜 아키텍처 | 독립 에이전트(정찰, 분류, 악용, 보고)가 pgvector 기반 블랙보드를 읽고 쓰며, 발견 사항은 다른 에이전트를 자동으로 트리거하는 페로몬을 방출합니다. |
| 동시 스캐닝 | 수백 개의 하위 도메인 또는 포트가 병렬로 프로브되어 선형 파이프라인보다 훨씬 빠릅니다. |
| 자동 악용 | 발견 사항이 높은 심각도로 분류되면 악용 에이전트가 실제 공격(BOLA/IDOR, JWT 위조, SSRF, 인젝션 등)을 시도하고 개념 증명 증거를 캡처합니다. |
| 증거 기반 보고서 | 성공적인 악용은 CVSS v3.1 점수와 스크린샷/로그가 포함된 구조화된 보고서로 변환됩니다. |
| 공급업체에 구애받지 않는 LLM 지원 | Claude(기본값), Together AI, OpenAI 호환, Gemini, 로컬 Ollama/LM Studio 또는 사용자 지정 엔드포인트. |
| 무료 시작 | API 키 없이 Ollama로 완전히 로컬에서 실행할 수 있습니다. |
| 내장 도구 체인 | ProjectDiscovery 유틸리티(subfinder, httpx, nuclei, naabu, katana, dnsx, gau) 및 nmap 어댑터 통합. |
| 라이브 UI | 웹 대시보드(localhost:7777) 및 전체 화면 터미널 TUI로 차트, 스웜 토폴로지, 라이브 발견 스트림 표시. |
| 범위 강제 | 오케스트레이션 레이어와 각 실행기 내부 모두에서 범위를 벗어난 활동 방지. |
| 확장 가능한 에이전트 | 트리거 조건자를 정의하기만 하면 새 에이전트 추가 가능, 중앙 오케스트레이터 변경 불필요. |
| Jev 오탐 필터 및 적응형 점수 | 선택적 이중 의견 필터로 공격 경로를 점수화하고 가장 유망한 경로를 우선시합니다. |
| 플레이북 및 악용 체인 | 일반적인 시나리오(버그 바운티, CI/CD, 내부 네트워크, CTF)용 YAML 플레이북 및 사전 구축된 악용 체인 라이브러리. |
| CI/CD 준비 | 스크립트 가능한 pentestswarm scan ... 명령 및 GitHub Action 래퍼. |
스웜 작동 방식
- 시드 – 사용자가 캠페인을 시작(TUI 또는 CLI 통해)하고 대상 또는 번들된 취약한 랩을 선택합니다.
- 블랙보드 – pgvector 데이터베이스가 모든 발견 사항을 페로몬 가중치가 있는 벡터로 저장합니다.
- 에이전트 독립 실행 – 각 에이전트는 블랙보드를 지속적으로 폴링합니다. 발견 사항의 페로몬이 해당 임계값을 초과하면 에이전트가 깨어나 행동합니다(예: 정찰은
PORT_OPEN작성, 분류기는 이를SQL_INJECTION으로 태그, 악용은 인젝션 시도, 보고는 결과 기록). - 발현 – 에이전트는 고정된 파이프라인이 아닌 공유 상태에 반응하므로 공격 체인이 자발적으로 형성될 수 있습니다(정찰 → 분류 → 악용 → 새 정찰 등).
- 감쇠 – 페로몬은 시간이 지남에 따라 감쇠(발견 유형별 다른 반감기)되어 수동 정리 없이 오래된 경로가 사라집니다.
- 증거 및 보고 – 성공적인 악용은 스크린샷/요청-응답 로그를 생성하며, 이는 CVSS 점수가 매겨진 보고서로 자동 컴파일됩니다.
빠른 시작(원라이너 설치 및 실행)
# 설치 – 원하는 방법 선택
npm install -g @armurai/pentestswarm # npm
curl -fsSL https://raw.githubusercontent.com/Armur-Ai/Pentest-Swarm-AI/main/scripts/install.sh | sh # 스크립트
brew install Armur-Ai/tap/pentestswarm # Homebrew
go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest # Go
docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help # Docker
# 대화형 런처 실행
pentestswarm run
런처가 다음을 요청합니다:
- LLM 공급자(Claude, Together AI, Ollama 등) 선택 및 필요한 경우 API 키 입력.
- 대상 URL 입력 또는 번들된 취약한 랩(예: OWASP Juice Shop, crAPI) 선택.
- 라이브 뷰 선택(웹 대시보드 + 터미널 UI).
- 실행 클릭 – 스웜이 자동으로 스캔 및 악용을 시작합니다.
일반적인 사용 사례
- 버그 바운티 헌터 – 새로운 범위를 하룻밤 사이에 스캔하고 개념 증명이 포함된 검증된 발견 사항을 얻습니다.
- 레드 팀 / 침투 테스터 – 최소한의 수동 오케스트레이션으로 대규모 공격 표면(많은 하위 도메인, 내부 네트워크)을 빠르게 커버합니다.
- 보안 연구원 / CTF 플레이어 – 내장 랩 또는 사용자 지정 플레이북을 실행하여 새로운 악용 아이디어를 테스트합니다.
- CI/CD 파이프라인 – 스크립트 가능한
pentestswarm scan명령을 사용하여 빌드의 일부로 보안 스캔을 자동화합니다.
설치 옵션
| 방법 | 명령 | 참고 |
|---|---|---|
| npm | npm install -g @armurai/pentestswarm |
Node ≥ 16 필요. |
| 셸 스크립트 | `curl … | sh` |
| Homebrew | brew install Armur-Ai/tap/pentestswarm |
brew를 통한 macOS/Linux. |
| Go | go install github.com/Armur-Ai/Pentest-Swarm-AI/cmd/pentestswarm@latest |
Go 1.24+ 필요. |
| Docker | docker run --rm ghcr.io/armur-ai/pentestswarm:latest --help |
호스트 설치 없음, 컨테이너 내에서 실행. |
라이선스 및 상태
- 라이선스: AGPL-3.0 (카피레프트, 모든 수정 사항의 소스 배포 요구).
- 프로젝트 상태: 알파 – 핵심 스웜 스케줄러 작동(
--swarm플래그), 많은 구성 요소(라이브 대시보드, Jev 점수, 악용 체인 라이브러리)는 베타, 로드맵은 향후 어댑터(Burp, Metasploit) 및 미세 조정된 Pentest-R1 모델을 설명.
더 알아보기
- 문서 사이트: https://armur-ai.github.io/Pentest-Swarm-AI/
- 아키텍처 심층 분석: https://armur-ai.github.io/Pentest-Swarm-AI/architecture
- Discord 커뮤니티: https://discord.gg/6qtkhpW8tk
- 로드맵: 저장소의
ROADMAP.md.
법적 고지: 이 도구는 승인된 테스트 전용(버그 바운티 프로그램, CTF, 명시적 허가가 있는 레드 팀 활동)으로 의도되었습니다. 오용은 불법이며 저자는 어떠한 책임도 지지 않습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트