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
43 行
1.5 KiB
Python
43 行
1.5 KiB
Python
import os
|
|
from collections import OrderedDict
|
|
from setuptools import find_packages, setup
|
|
|
|
with open(os.path.join(os.path.dirname(__file__), "requirements.txt")) as f:
|
|
dependencies = f.read().strip().split("\n")
|
|
|
|
setup(
|
|
name="pentestgpt",
|
|
version="0.14.0",
|
|
description="PentestGPT, a GPT-empowered penetration testing tool",
|
|
long_description="""
|
|
PentestGPT is a penetration testing tool empowered by ChatGPT.
|
|
It is designed to automate the penetration testing process. It
|
|
is prototyped initially on top of ChatGPT and operate in an
|
|
interactive mode to guide penetration testers in both overall
|
|
progress and specific operations.
|
|
""",
|
|
author="Gelei Deng",
|
|
author_email="gelei.deng@ntu.edu.sg",
|
|
maintainer="Gelei Deng",
|
|
maintainer_email="gelei.deng@ntu.edu.sg",
|
|
url="https://github.com/GreyDGL/PentestGPT",
|
|
project_urls=OrderedDict(
|
|
(
|
|
("Code", "https://github.com/GreyDGL/PentestGPT"),
|
|
("Issue tracker", "https://github.com/GreyDGL/PentestGPT/issues"),
|
|
)
|
|
),
|
|
license="MIT License",
|
|
packages=["pentestgpt"] + find_packages(),
|
|
# packages=find_packages(),
|
|
# scripts=['pentestgpt/main.py'],
|
|
install_requires=dependencies,
|
|
entry_points={
|
|
"console_scripts": [
|
|
"pentestgpt=pentestgpt.main:main",
|
|
"pentestgpt-cookie=pentestgpt.extract_cookie:main",
|
|
"pentestgpt-connection=pentestgpt.test_connection:main",
|
|
]
|
|
},
|
|
)
|