본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 18. 22:57

AI 기반 자율 침투 테스트 에이전트 PentestGPT

요약

PentestGPT는 USENIX Security 2024에서 발표된 AI 기반 자율 침투 테스트 에이전트로, LLM의 고급 추론 능력을 활용하여 보안 취약점 점검 및 CTF 챌린지를 수행합니다. Docker 기반의 격리된 환경에서 Web, Crypto, Reversing 등 다양한 보안 카테고리를 지원하며, 세션 지속성과 실시간 워크스루 기능을 제공합니다.

핵심 포인트

  • LLM의 추론 능력을 활용한 자율적인 침투 테스트 및 CTF 문제 해결
  • Docker를 활용한 보안 도구 사전 설치 및 격리된 재현 가능 환경 제공
  • Web, Crypto, Reversing, Forensics 등 다중 보안 카테고리 지원
  • Anthropic, OpenAI, Gemini 및 로컬 LLM(Ollama, LM Studio 등) 멀티 모델 지원
  • 세션 저장 및 재개 기능과 실시간 작업 단계 추적 가능

AI 기반 자율 침투 테스트 에이전트 (AI-Powered Autonomous Penetration Testing Agent)

USENIX Security 2024에서 발표됨

공식 웹사이트: pentestgpt.com »

연구 논문 (Research Paper)
·
버그 보고 (Report Bug)
·
기능 요청 (Request Feature)

자율 에이전트 (Autonomous Agent)

  • 지능적이고 자율적인 침투 테스트를 위한 에이전트 파이프라인 (Agentic pipeline)
    세션 지속성 (Session Persistence)
  • 침투 테스트 세션을 저장하고 재개 가능
    Docker 우선 (Docker-First)
  • 보안 도구가 사전 설치된 격리되고 재현 가능한 환경

진행 중: OpenAI, Gemini 및 기타 LLM 제공업체에 대한 멀티 모델 지원

AI 기반 챌린지 해결사 (AI-Powered Challenge Solver)

  • LLM의 고급 추론을 활용하여 침투 테스트 및 CTF 수행
    라이브 워크스루 (Live Walkthrough)
  • 에이전트가 챌린지를 해결하는 동안 실시간으로 단계 추적
    다중 카테고리 지원 (Multi-Category Support)
  • Web, Crypto, Reversing, Forensics, PWN, Privilege Escalation 지원
    실시간 피드백 (Real-Time Feedback)
  • 실시간 활동 업데이트와 함께 AI가 작업하는 과정을 관찰
    확장 가능한 아키텍처 (Extensible Architecture)
  • 향후 개선을 위한 깔끔하고 모듈화된 설계

Docker (필수) - Docker 설치
LLM 제공업체 (하나 선택):

  • console.anthropic.com에서 가져온 Anthropic API 키
  • Claude OAuth 로그인 (Claude 구독 필요)
  • openrouter.ai의 대체 모델을 위한 OpenRouter
  • 튜토리얼: Claude Code를 사용하여 로컬 모델 사용하기
# 클론 및 빌드
git clone --recurse-submodules https://github.com/GreyDGL/PentestGPT.git
cd PentestGPT
...

참고: --recurse-submodules 플래그는 벤치마크 제품군을 다운로드합니다. 이미 이 옵션 없이 클론했다면 다음을 실행하세요: git submodule update --init --recursive

cd benchmark/standalone-xbow-benchmark-runner
python3 run_benchmarks.py --range 1-1 --pattern-flag

자세한 사용법은 벤치마크 문서(Benchmark Documentation)를 참조하십시오.

명령 (Command)설명 (Description)
make installDocker 이미지 빌드
make configAPI 키 설정 (최초 설정 시)
make connect컨테이너 연결 (주요 진입점)
make stop컨테이너 중지 (설정은 유지됨)
make clean-docker설정을 포함한 모든 항목 제거
# 대화형 TUI 모드 (기본값)
pentestgpt --target 10.10.11.234
# 비대화형 모드
...

단축키: F1

도움말 | Ctrl+P

일시정지/재개 | Ctrl+Q

종료

PentestGPT는 호스트 머신에서 실행 중인 로컬 LLM (Large Language Model) 서버(LM Studio, Ollama, text-generation-webui 등)로 요청을 라우팅(Routing)하는 기능을 지원합니다.

  • OpenAI 호환 API 엔드포인트(Endpoint)를 가진 로컬 LLM 서버
    • LM Studio: 서버 모드 활성화 (기본 포트 1234)
    • Ollama: ollama serve 실행 (기본 포트 11434)
# 로컬 LLM을 위한 PentestGPT 설정
make config
# 옵션 4 선택: Local LLM
...

scripts/ccr-config-template.json 파일을 편집하여 다음 항목을 사용자 정의하십시오:

  • localLLM.api_base_url: LLM 서버 URL (기본값: host.docker.internal:1234)
  • localLLM.models: 서버에서 사용 가능한 모델 이름들

라우터(Router) 섹션: 어떤 모델이 어떤 작업을 처리할지 설정

경로 (Route)목적 (Purpose)기본 모델 (Default Model)
default일반 작업openai/gpt-oss-20b
background백그라운드 작업openai/gpt-oss-20b
think추론 집약적 작업qwen/qwen3-coder-30b
longContext대규모 컨텍스트 처리qwen/qwen3-coder-30b
webSearch웹 검색 작업openai/gpt-oss-20b

연결 거부 (Connection refused): LLM 서버가 실행 중이며 설정된 포트에서 리스닝(Listening)하고 있는지 확인하십시오.
Docker 네트워킹: Docker에서 호스트 서비스에 접근하려면 localhost가 아닌 host.docker.internal을 사용하십시오.
CCR 로그 확인: 컨테이너 내부에서 cat /tmp/ccr.log를 실행하십시오.

PentestGPT는 도구 개선을 돕기 위해 익명의 사용 데이터를 수집합니다. 이 데이터는 당사의 Langfuse 프로젝트로 전송되며 다음을 포함합니다:

  • 세션 메타데이터 (대상 유형, 지속 시간, 완료 상태)
  • 도구 실행 패턴 (어떤 도구가 사용되었는지, 실제 명령어가 아닌 도구 종류)
  • 플래그(Flag) 탐지 이벤트 (플래그가 발견되었다는 사실, 플래그 내용이 아닌 사실)

민감한 데이터는 수집되지 않습니다 - 명령어 출력, 자격 증명(Credentials) 또는 실제 플래그 값은 절대 전송되지 않습니다.

# 커맨드 라인 플래그를 통한 설정
pentestgpt --target 10.10.11.234 --no-telemetry
# 환경 변수를 통한 설정
...

PentestGPT는 종합적인 테스트 및 평가를 위해 104개의 XBOW 검증 벤치마크 (XBOW validation benchmarks)를 포함하고 있습니다.

cd benchmark/standalone-xbow-benchmark-runner
python3 run_benchmarks.py --range 1-10 --pattern-flag # 벤치마크 1-10 실행
python3 run_benchmarks.py --all --pattern-flag # 104개 벤치마크 전체 실행
...

PentestGPT는 XBOW 검증 스위트 (XBOW validation suite)에서 86.5%의 성공률 (104개 중 90개 벤치마크)을 달성했습니다:

비용: 성공적인 벤치마크당 평균 $1.11, 중앙값 $0.42
시간: 성공적인 벤치마크당 평균 6.1분, 중앙값 3.3분
난이도별 성공률:

  • 레벨 1 (Level 1): 91.1%
  • 레벨 2 (Level 2): 74.5%
  • 레벨 3 (Level 3): 62.5%

상세한 벤치마크 결과, 분석 및 자동화된 테스트 지침은 **벤치마크 문서 (Benchmark Documentation)**를 참조하십시오.

OpenAI, Gemini, Deepseek 및 Ollama를 지원하던 이전의 멀티 LLM (multi-LLM) 버전 (v0.15)은 legacy/에 아카이브되어 있습니다.

cd legacy && pip install -e . && pentestgpt --reasoning gpt-4o

연구에 PentestGPT를 사용하신다면, 저희 논문을 인용해 주세요:

@inproceedings{299699,
author = {Gelei Deng and Yi Liu and Víctor Mayoral-Vilches and Peng Liu and Yuekang Li and Yuan Xu and Tianwei Zhang and Yang Liu and Martin Pinzger and Stefan Rass},
title = {{PentestGPT}: Evaluating and Harnessing Large Language Models for Automated Penetration Testing},
...

MIT 라이선스 (MIT License)에 따라 배포됩니다. 자세한 내용은 LICENSE.md를 참조하십시오.

면책 조항 (Disclaimer): 이 도구는 교육 목적 및 승인된 보안 테스트 용도로만 사용되어야 합니다. 저자들은 어떠한 불법적인 사용도 용납하지 않습니다. 사용에 따른 책임은 사용자 본인에게 있습니다.

  • Quantstamp 및 NTU Singapore의 연구 지원을 받았습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0