Kali 박스에 연결하여 보안 도구를 자율적으로 실행하고, 결과를 분석하며, 브라우저 기반 워크플로를 반복하는 AI 기반 침투 테스트 에이전트입니다.
오픈소스 AI 기반 침투 테스트 에이전트입니다. Kali 공격 박스에 연결하여 도구를 자율적으로 실행하고, 결과를 분석하며, 반복합니다. 대상만 설명하면 나머지는 알아서 처리합니다.
실제 침투 테스트, boot2root 박스, CTF를 위해 만들어졌습니다.
OWASP Juice Shop에서 인증 우회를 수행하는 Pentest Copilot:
YouTube에서 시청하세요
.ovpn/.conf 번들을 업로드하고 브라우저에서 연결/해제합니다. 동시 다중 연결을 지원합니다.git clone https://github.com/bugbasesecurity/pentest-copilot.git
cd pentest-copilot
./run.sh start
http://localhost:3000을 열고 등록한 후 세션을 시작하세요.
run.sh는 성공을 보고하기 전에 프론트엔드, 백엔드, MongoDB, Redis가 준비될 때까지 기다립니다. 시작에 실패하면 영향을 받는 컨테이너 상태와 최근 로그를 출력합니다. 첫 시작 후 Settings -> Models에서 모델을 구성하고 할당하세요.
Windows에서는 Docker Desktop의 WSL 통합을 활성화한 상태로 WSL2 내에서 Pentest Copilot을 실행하세요. 워크스페이스 명령에 POSIX 셸이 필요하므로 네이티브 PowerShell 및 Windows SSH 워크 호스트는 지원되지 않습니다. 안정적인 파일 권한과 성능을 위해 저장소를 /mnt/c 아래가 아닌 WSL 파일 시스템에 복제하세요.
Settings -> Models는 인증된 Codex 및 Claude Code CLI를 감지합니다. CLI를 실행하는 머신에서 한 번 인증하세요:
codex login
claude auth login
그런 다음 Use Codex 또는 Use Claude Code를 선택하세요. 공식 CLI가 로그인, 갱신 및 구독 자격 처리를 담당하며, Pentest Copilot은 OAuth 토큰을 복사하거나 재생하지 않습니다. 구독 전송은 API 제공자와 동일한 대화 기록 및 함수 스키마를 받고 동일한 어시스턴트/도구 호출 계약을 반환하므로, Pentest Copilot은 계속해서 도구와 동의 검사를 실행합니다.
Docker 백엔드는 Linux Codex CLI를 포함하며 Codex의 문서화된 헤드리스/Docker 로그인 전송 흐름에 따라 호스트의 파일 기반 ~/.codex/auth.json만 마운트합니다. 자격 증명 파일이 다른 곳에 있다면 docker compose up 전에 CODEX_AUTH_FILE을 설정하세요. CLI는 정상 사용 중에 해당 파일을 갱신할 수 있으므로 절대 커밋하거나 공유하지 마세요. 호스트 Keychain 전용 자격 증명과 Claude Code는 호스트 추론 브리지가 구성될 때까지 개발자/호스트 모드에서만 사용할 수 있습니다. Claude 구독 사용은 로컬 CLI 제어이며 Anthropic의 현재 타사 제품 및 구독 약관을 준수해야 합니다.
현재 일급 모델 패밀리에는 GPT-5.6 Sol/Terra/Luna, Claude Fable/Opus/Sonnet 5, Kimi K3(직접 Moonshot API 또는 OpenRouter)가 포함됩니다.
Docker 모드에서 Pentest Copilot은 호스트의 ~/.ssh 및 ~/keys 디렉터리를 읽기 전용으로 마운트합니다. 각 워크스페이스는 Connection에서 ~/.ssh/config의 구체적인 Host 별칭을 선택할 수 있습니다. 해당 워크스페이스의 모든 세션은 개인 키를 MongoDB에 복사하지 않고 동일한 호스트와 작업 폴더를 사용합니다. 해당 디렉터리가 다른 곳에 있다면 Docker 시작 전에 HOST_SSH_DIR 또는 HOST_SSH_KEYS_DIR을 설정하세요.
와일드카드 전용 항목 대신 명명된 별칭을 사용하세요:
Host lab-box
HostName 10.10.10.10
User root
IdentityFile ~/.ssh/lab-box.pem
run.sh는 구성 파일 생성, Docker 빌드 및 컨테이너 오케스트레이션을 처리합니다. ./run.sh start -q를 사용하면 이전 실행 모드를 재사용하고 이후 실행에서 프롬프트를 건너뜁니다.
전체 OS, Docker, SSH, VPN, 프록시, 권한, 복구 및 배포 시나리오 매트릭스는 **설정 및 문제 해결**을 참조하세요.
./run.sh stop # 모든 컨테이너 중지
./run.sh logs # 로그 추적
./run.sh status # 컨테이너 상태
./run.sh backup # 데이터베이스, 구성 및 워크스페이스 백업
./run.sh config # 구성 업데이트
./run.sh dev # 개발자 모드 (인프라만, 프론트엔드/백엔드를 로컬에서 실행)
./run.sh help # 전체 도움말
Pentest Copilot은 Claude Code 또는 Codex와 같은 클라이언트를 위해 로컬 제어 플레인을 MCP를 통해 노출할 수 있습니다. Settings -> MCP Access를 열어 로컬 MCP 엔드포인트와 베어러 토큰을 복사하세요.
토큰은 로컬 관리자 접근으로 취급하세요: 구성된 익스플로잇 박스에서 명령을 실행하고, Burp, 브라우저 자동화 및 VPN 흐름을 조작하고, 아티팩트를 읽고, 발견 사항을 작성하고, 로컬 Pentest Copilot 구성을 업데이트할 수 있습니다. 참여와 관련된 MCP 작업은 해당 세션에 기록되어 Pentest Copilot UI에서 계속 표시됩니다.
엔드포인트와 토큰을 복사한 후 MCP 연결을 스모크 테스트할 수 있습니다:
cd backend
PENTEST_COPILOT_MCP_URL=http://localhost:8080/mcp \
PENTEST_COPILOT_MCP_TOKEN=pc_mcp_... \
corepack pnpm run mcp:smoke
| 최소 | |
|---|---|
| RAM | 8 GB (내장 Kali 컨테이너 사용 시 +2 GB) |
| 디스크 | 20 GB |
| Docker | v20+ (Compose v2+ 포함) |
| Node.js | v22+ (개발 모드 전용) |
| pnpm | v9+ (개발 모드 전용) |
Docker 모드는 기본적으로 UI 및 서비스 포트를 127.0.0.1에 바인딩합니다. TLS, 인증 및 의도적인 리버스 프록시 구성 없이 스택을 LAN 또는 인터넷에 노출하지 마세요. 내장 Kali 모드에서는 영구 워크스페이스 파일을 /kali-data 아래에 유지하세요. Kali 컨테이너의 다른 위치에 있는 파일은 컨테이너가 재생성될 때 제거됩니다.
저장소 내 **설정 및 문제 해결 가이드**는 설치, 구성, 복구 및 배포에 대한 권위 있는 소스입니다. Wiki에는 추가 기능 참조가 포함되어 있으며 현재 릴리스보다 뒤처질 수 있습니다:
./run.sh dev # Docker에서 MongoDB + Redis 시작
그런 다음 별도의 터미널에서:
cd backend && pnpm install && pnpm run watch # TypeScript 컴파일러
cd backend && pnpm run dev # 백엔드 서버 (포트 8080)
cd frontend && pnpm install && pnpm run dev # 프론트엔드 (포트 3000)
개발 설정 및 문제 해결은 설정 및 문제 해결 가이드를 참조하세요.
@article{goyal2024hacking,
title={Hacking, the lazy way: LLM augmented pentesting},
author={Goyal, Dhruva and Subramanian, Sitaraman and Peela, Aditya},
journal={arXiv preprint arXiv:2409.09493},
year={2024}
}
Pentest Copilot은 승인된 보안 테스트 전용입니다. 모든 시스템을 테스트하기 전에 항상 명시적인 허가를 받으세요.