GreyDGL/PentestGPT
Automated Penetration Testing Agentic Framework Powered by Large Language Models
PentestGPT – AI 기반 자율적 침투 테스트 에이전트
무엇인가요 – PentestGPT는 대규모 언어 모델(LLM)을 조율하여 자동 침투 테스트 또는 캡처 더 플래그(CTF) 도전 과제를 수행하는 Python 기반 명령줄 도구입니다. USENIX Security 2024 논문에서 소개되었으며 MIT 라이선스로 배포됩니다.
주요 기능
- 다단계 파이프라인 – 에이전트는 고정된 단계 순서(CTF의 경우 리콘 → 엑스플로잇 → 와르투루, 실제 펜테스트의 경우 자산 탐지 → 취약점 식별 → 보고서)를 실행하며, 각 단계의 출력을 다음 단계로 전달합니다.
- 자율 모드 – Claude Code 또는 Codex 백엔드를 사용하여 인간의 입력 없이 도구를 실행하고 결정을 내립니다.
- 레거시 인터랙티브 모드 –
pentestgpt-legacy는 세 개의 협업하는 LLM 세션(이해, 생성, 파싱)을 실행하고 사용자가next,more,todo등을 통해 프로세스를 조정할 수 있습니다. OpenAI, Anthropic, Gemini, DeepSeek, xAI, Qwen, Moonshot, Ollama 등 많은 제공업체를 지원합니다. - 세션 지속성 – 테스트 실행을 저장하고 나중에 재개할 수 있습니다.
- 실시간 워크스루 및 텔레메트리 – 실시간 콘솔 업데이트를 통해 에이전트가 수행하는 작업을 확인할 수 있으며, 선택적 익명 텔레메트리가 Langfuse 엔드포인트로 전송됩니다.
설치
# 복제하고 종속성 설치 (Python 3.12+ 및 uv 필요)
git clone https://github.com/GreyDGL/PentestGPT.git
cd PentestGPT
make install # `uv sync` 실행
Docker – 사전 빌드된 이미지에는 도구와 함께 Claude Code 및 Codex CLI가 포함되어 있습니다. 제공된 make docker-* 타겟을 사용하여 빌드하고, 모델 제공업체에 한 번 로그인한 후 컨테이너 내에서 에이전트를 실행할 수 있습니다.
빠른 사용법
# 기본 CTF 모드
pentestgpt --target 10.10.11.234
# 초점을 지정
pentestgpt --target 10.10.11.50 \
--instruction "WordPress 사이트, 플러그인 취약점에 초점"
# 전체 펜테스트 워크플로우 (자산 탐지 → 취약점 → 보고서)
pentestgpt --target 10.10.11.234 --mode pentest
# 저장된 세션 목록 보기
pentestgpt --list-sessions
인터랙티브 레거시 모드를 위한:
pentestgpt-legacy # 최적의 모델 자동 선택
pentestgpt-legacy --reasoning-model claude-opus-4-8 --parsing-model gemini-3.5-flash
pentestgpt-legacy --list-models # 구성된 모든 제공업체/모델 표시
OPENAI_API_KEY, ANTHROPIC_API_KEY 등의 환경 변수를 통해 해당 제공업체를 활성화할 수 있습니다.
벤치마크 – 저자들의 2025년 12월 XBOW 스위트 평가에서 PentestGPT는 104개 도전 과제 중 90개를 해결(약 86.5% 성공률)했습니다. 벤치마크 코드는 리포지토리 외부에 있습니다.
라이선스 및 면책 조항 – MIT 라이선스, 교육 및 승인된 보안 테스트용으로만 사용됩니다.
자세한 내용은 공식 웹사이트, USENIX 논문, 리포지토리의 README 및 docs/ 폴더를 참조하세요.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트