greydgl--pentestgpt
abe3be01b4
Major rewrite of PentestGPT to use an agentic pipeline architecture: Core Changes: - New event-driven architecture with EventBus for TUI-agent decoupling - Implemented AgentController with 5-state lifecycle (IDLE->RUNNING->PAUSED->COMPLETED->ERROR) - Added AgentBackend interface with ClaudeCodeBackend implementation - Session management with file-based persistence for resumable pentests - Langfuse integration for observability and tracing Interface: - New Textual-based TUI with real-time activity feed - Keyboard shortcuts: F1 help, Ctrl+P pause, Ctrl+Q quit - Enhanced CLI with --target, --instruction, --non-interactive, --debug flags Project Structure: - Moved legacy multi-LLM version (v0.15) to legacy/ directory - New pentestgpt/core/ for agent, controller, events, session modules - New pentestgpt/interface/ for TUI and CLI components - New pentestgpt/benchmark/ for xbow benchmark integration - Comprehensive test suite in tests/ with unit and integration tests DevOps: - Docker support with Ubuntu 24.04 container - GitHub Actions CI/CD pipeline - Makefile with dev commands (test, lint, format, typecheck) - Added xbow-validation-benchmarks as submodule
46 行
1.5 KiB
YAML
46 行
1.5 KiB
YAML
services:
|
|
pentestgpt:
|
|
container_name: pentestgpt
|
|
image: pentestgpt:latest
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
# Mount workspace for file operations
|
|
- ./workspace:/workspace
|
|
# Persist Claude Code configuration across container restarts
|
|
- claude-config:/home/pentester/.claude
|
|
# Persist CCR configuration
|
|
- ccr-config:/home/pentester/.claude-code-router
|
|
stdin_open: true
|
|
tty: true
|
|
# Use host network for easy access to benchmark containers
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
# Resource allocation - adjust based on your system
|
|
# More CPUs and memory improve performance for complex tasks
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '4' # Max 4 CPU cores (adjust higher if available)
|
|
memory: 8G # Max 8GB RAM
|
|
reservations:
|
|
cpus: '2' # Guarantee 2 CPU cores
|
|
memory: 4G # Guarantee 4GB RAM
|
|
environment:
|
|
# Terminal settings for proper TUI rendering
|
|
- TERM=xterm-256color
|
|
# Python settings
|
|
- PYTHONUNBUFFERED=1
|
|
# Auth mode: "openrouter", "anthropic", or "manual"
|
|
- PENTESTGPT_AUTH_MODE=${PENTESTGPT_AUTH_MODE:-manual}
|
|
# API keys (set based on auth mode via .env.auth)
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
|
|
|
|
volumes:
|
|
# Named volume for Claude Code config persistence
|
|
claude-config:
|
|
# Named volume for CCR config persistence
|
|
ccr-config:
|