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 에이전트를 실행할 수 있는 Go 기반 명령줄 도구입니다. 에이전트들은 스티그머지적 블랙보드(Postgres + pgvector 저장소)를 공유하며, 각 발견 사항에 "페로몬" 가중치를 부여합니다. 다른 에이전트는 이 블랙보드를 읽고 가중치가 충분히 높아지면 반응하기 때문에, 고정된 파이프라인을 따르는 것이 아니라 워크플로우가 자연스럽게 형성됩니다.
왜 "스웜"이 중요한가요
- 전통적인 AI 펜테스트 도구(PentestGPT 등)는 단일 플래너 LLM이 리콘 → 분류 → 공격 → 보고의 선형 순서로 전문 도구를 호출합니다. Pentest Swarm은 이 플래너를 블랙보드를 통해 협력하는 분산형 에이전트 집단으로 대체합니다. 이로써 진정한 병렬 처리가 가능해지며(1,000개의 서브도메인 타겟을 여러 에이전트가 동시에 탐색), 공격 체인은 즉각적으로 형성될 수 있습니다(예: 리콘 발견이 즉시 공격을 트리거, 하드코딩된 전달 없이).
주요 구성 요소
| 구성 요소 | 기술/역할 |
|---|---|
| 에이전트 | 4개의 내장 에이전트(리콘, 분류, 공격, 리포터). 각각 독립적으로 실행되며, 다른 에이전트에 영향 주지 않고 추가/제거 가능. |
| 블랙보드 | Postgres 16 + pgvector; 발견 사항, 페로몬 수준, 유사성 검색을 위한 벡터 임베딩 저장. |
| 페로몬 | 시간이 지남에 따라 감소하는 숫자 가중치(발견 유형별 반감기 다름). 가중치가 임계값을 초과하면 관련 에이전트가 활성화. |
| LLM 제공자 | 하나의 제공자 설정(Claude, Together AI, OpenAI 호환, Gemini, Ollama, LM Studio, OrcaRouter). 모든 에이전트가 동일한 모델 사용. 프레임워크는 "손"(도구 실행, 조율)만 제공. |
| 도구 체인 | ProjectDiscovery Go 라이브러리(subfinder, httpx, nuclei, naabu, katana, dnsx, gau) 및 nmap 어댑터. Metasploit, sqlmap, ZAP, Burp용 어댑터는 향후 계획 중. |
| 대시보드/UI | 빠른 실행을 위한 인터랙티브 TUI(Cobra + Bubbletea); 선택적으로 localhost:7777에서 웹 대시보드(Next.js 15)를 실행해 실시간 차트와 스웜 토폴로지 시각화. |
| 캐시/레이트 제한 | Redis 7으로 세션 상태 및 요청 스로틀링 관리. |
사용 방법
- 설치 – npm, Homebrew, Go 설치, Docker pull, 또는 curl 스크립트로 단일 명령어로 설치.
- 실행 –
pentestswarm run으로 TUI 열기. 제공자 선택, API 키 붙여넣기(또는 로컬 Ollama 모델 사용), 타겟 URL 또는 내장된 취약 랩(예: OWASP Juice Shop, crAPI, VAmPI, DVGA) 지정. - 관찰 – UI는 실시간 차트, 에이전트 토폴로지 다이어그램, 등급 매겨진 발견 목록 스트리밍 표시. 더 풍부한 시각화를 위해 별도 웹 대시보드 열기 가능.
- 스크립트 – CI/CD 또는 자동화를 위해 플래그 기반 형식 사용:
pentestswarm scan <target> --scope <scope> --swarm ….
안전성 및 법적 고려사항
- 도구는 오케스트레이션 레이어와 각 실행기 내부에서 모두 스코프를 강제합니다.
--strict모드는 LLM 오류를 치명적 오류로 간주합니다. README에 소프트웨어는 인가된 테스트(버그바운티 프로그램, CTF, 레드팀 연습, 연구)에만 사용해야 한다는 경고 포함.
현재 상태
- 핵심 순차적 5단계 러너는 안정적.
- 스티그머지적 스웜 스케줄러는 알파(
--swarm로 활성화). - Postgres 블랙보드는 베타 (마이그레이션 완료 전까지 기본적으로 메모리 보드 사용).
- 실시간 대시보드는 알파; VS Code 확장 및 GitHub Action은 베타.
- 계획 중인 2단계 기능: Metasploit, sqlmap, ZAP, Burp용 어댑터 및 더 풍부한 커뮤니티 플레이북.
누구를 위한가요
- 대규모 스코프를 한밤중에 커버하고 싶은 펜테스터.
- 새로 등장한 자산에서 최초의 버그를 찾고 싶은 버그바운티 헌터.
- 광범위성과 속도가 필요한 레드팀 운영자.
- 자율적 공격형 AI를 탐구하는 보안 연구자.
결론 Pentest Swarm AI는 Claude, Together AI 모델, 로컬 Ollama 등 어떤 LLM도 협력적인 자율 펜테스트 에이전트 스웜으로 전환하는 진정한 오픈소스 프로젝트입니다. 스티그머지와 페로몬 기반의 출현을 활용해, 사용자가 모든 데이터를 통제하면서 "머신 속도"로 병렬적이고 증거 기반의 취약점 탐지에 도달하려는 목표를 가지고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트