
स्वचालित पैठ परीक्षण एजेंटिक फ्रेमवर्क बड़े भाषा मॉडल्स द्वारा संचालित
AI-संचालित स्वायत्त पैठ परीक्षण एजेंट
USENIX Security 2024 में प्रकाशित
आधिकारिक वेबसाइट: pentestgpt.com »
शोध पत्र
·
बग की रिपोर्ट करें
·
फीचर का अनुरोध करें
स्वायत्त CTF पाइपलाइन क्लाउड कोड और Codex के लिए बैकएंड-प्लग करने योग्य है। इंटरैक्टिव आधुनिकीकृत विरासत मोड (
pentestgpt-legacy) व्यापक प्रदाता सेट का समर्थन करता है: OpenAI, Anthropic, Google Gemini, DeepSeek, xAI, Qwen, Moonshot, और स्थानीय Ollama। देखें इंटरैक्टिव मल्टी-LLM मोड।
claude) - स्थानीय क्लाउड रन के लिए स्थापित और प्रमाणित। देखें Claude Code दस्तावेज़codex) - स्थानीय Codex रन के लिए स्थापित और प्रमाणित। नीचे दिया गया Docker प्रवाह दोनों CLIs को बंडल करता है।git clone https://github.com/GreyDGL/PentestGPT.git
cd PentestGPT
make install # runs uv sync
| कमांड | विवरण |
|---|---|
make install | निर्भरताएँ स्थापित करें |
make test | सभी परीक्षण चलाएँ |
make check |
# किसी लक्ष्य के विरुद्ध चलाएँ (डिफ़ॉल्ट रूप से 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
एजेंट एक मल्टी-स्टेज पाइपलाइन के माध्यम से काम करता है, प्रत्येक चरण के निष्कर्षों को अगले चरण में फीड करता है — CTF के लिए रिकॉन → एक्सप्लॉइट → वॉकथ्रू, पैठ परीक्षण के लिए संपत्ति खोज → कमजोरी पहचान → रिपोर्ट।
एक स्व-निहित छवि में टूल + क्लाउड कोड और Codex CLIs बंडल किया गया है। आप एक बार लॉगिन करते हैं और सत्र नामित वॉल्यूम में बने रहते हैं — बाद के रन पर पुनः लॉगिन की आवश्यकता नहीं है।
make docker-build # टूल इमेज बनाएँ
make docker-login # एक-बार, आइडेम्पोटेंट: लॉगिन जाँचता है, केवल लापता को लॉगिन करता है
make docker-auth-status # दोनों के लॉगिन की जाँच करें (ROUNDTRIP=1 लाइव 1-टोकन जाँच के लिए)
# किसी लक्ष्य के विरुद्ध पाइपलाइन चलाएँ (कोई भी बैकएंड / मॉडल / मोड):
make docker-run TARGET=http://127.0.0.1:8000 BACKEND=codex MODEL=gpt-5.5 MODE=ctf
make docker-run TARGET=10.10.11.234 BACKEND=claude MODEL=opus MODE=pentest
make docker-login Claude (setup-token → टोकन वॉल्यूम में संग्रहीत) और Codex (इसका स्वयं का कंटेनर-इन codex login, OAuth कॉलबैक socat के माध्यम से अग्रेषित — बीजित नहीं, क्योंकि ChatGPT रिफ्रेश टोकन एकल-उपयोग वाले होते हैं) में लॉगिन करता है। यह आइडेम्पोटेंट है: पुनः चलाने पर जो भी मान्य है उसे छोड़ देता है। लॉगिन कंटेनर पुनर्निर्माण के बाद भी बने रहते हैं; make docker-down उन्हें रखता है, make docker-nuke लॉगिन वॉल्यूम हटाता है (ताजा लॉगिन / टोकन रोटेट करने के लिए)। डिज़ाइन + विवरण: docs/docker-dev-plan.md।
USENIX 2024 पेपर का क्लासिक, मानव-इन-द-लूप PentestGPT संरक्षित और आधुनिकीकृत किया गया है
pentestgpt-legacy के रूप में। यह तीन सहयोगी LLM सत्र चलाता है —
तर्क / निर्माण / पार्सिंग — जो एक पेनिट्रेशन टेस्टिंग टास्क ट्री (PTT) बनाए रखते हैं जबकि आप
इंटरैक्टिव रूप से सत्र चलाते हैं (next, more, todo, discuss)। स्वायत्त निश्चित-चरण
पाइपलाइन क्लाउड और Codex बैकएंड का समर्थन करती है; यह विरासत मोड अपने आधिकारिक
SDK के माध्यम से कई प्रदाताओं से मूल रूप से बात करता है।
किसी भी प्रदाता के लिए API कुंजी सेट करें जिसका आप उपयोग करना चाहते हैं (अपने वातावरण या .env में — देखें
.env.example)। केवल वे प्रदाता सक्षम होते हैं जिन्हें आप कॉन्फ़िगर करते हैं।
OPENAI_API_KEY=... ANTHROPIC_API_KEY=... GEMINI_API_KEY=... # या GOOGLE_API_KEY
DEEPSEEK_API_KEY=... GROK_API_KEY=... QWEN_API_KEY=... KIMI_API_KEY=...
# प्रत्येक सत्र के लिए सर्वोत्तम उपलब्ध मॉडल स्वचालित रूप से चुनें
pentestgpt-legacy
# प्रति सत्र मॉडल चुनें
pentestgpt-legacy --reasoning-model claude-opus-4-8 --parsing-model gemini-3.5-flash
# Ollama के माध्यम से स्थानीय मॉडल (OpenAI-संगत)
pentestgpt-legacy --reasoning-model ollama:qwen3 --base-url http://localhost:11434/v1
# प्रत्येक समर्थित मॉडल की सूची (दिखाता है कि कौन से प्रदाता कॉन्फ़िगर किए गए हैं)
pentestgpt-legacy --list-models
# प्रत्येक कॉन्फ़िगर किए गए मॉडल का लाइव राउंड-ट्रिप और पास/फेल मैट्रिक्स प्रिंट करें
pentestgpt-legacy --smoke-test
pentestgpt-legacy --list-models हमेशा लाइव रजिस्ट्री प्रस्तुत करता है। मॉडल ID बदलने के बाद
--smoke-test पुनः चलाएँ। वर्तमान स्नैपशॉट:
रजिस्ट्री
pentestgpt_legacy/llm/registry.pyमें रहती है (सत्य का एकल स्रोत)। एक मॉडल जोड़ना एकModelSpecप्रविष्टि है; OpenAI-संगत प्रदाता एक कनेक्टर का पुन: उपयोग करते हैं।
PentestGPT टूल को बेहतर बनाने में मदद के लिए गुमनाम उपयोग डेटा एकत्र करता है। यह डेटा हमारे Langfuse प्रोजेक्ट को भेजा जाता है और इसमें शामिल है:
कोई संवेदनशील डेटा एकत्र नहीं किया जाता - कमांड आउटपुट, क्रेडेंशियल या वास्तविक फ़्लैग मान कभी प्रसारित नहीं होते।
# कमांड लाइन फ़्लैग के माध्यम से
pentestgpt --target 10.10.11.234 --no-telemetry
# पर्यावरण चर के माध्यम से
export LANGFUSE_ENABLED=false
PentestGPT ने दिसंबर 2025 में एक XBOW सत्यापन-सूट प्रयोग पर 86.5% सफलता दर (90/104 बेंचमार्क) प्राप्त की। वह संख्या एक ऐतिहासिक शोध परिणाम है, वर्तमान pentestgpt-agent प्रतिगमन गारंटी नहीं।
XBOW हार्नेस और परिणाम संग्रह केवल संदर्भ-मात्र शोध कलाकृतियों के रूप में इस उत्पाद रिपॉजिटरी के बाहर बनाए रखे जाते हैं। समर्थित PentestGPT CLI, Makefile, CI, और Docker रनटाइम कोई XBOW रनर प्रदर्शित नहीं करते हैं। भविष्य का मूल्यांकन अलग से स्वामित्व वाले एडेप्टर के माध्यम से उस कोरपस का पुन: उपयोग कर सकता है, बिना इसे उत्पाद निर्भरता बनाए।
यदि आप अपने शोध में 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},
booktitle = {33rd USENIX Security Symposium (USENIX Security 24)},
year = {2024},
isbn = {978-1-939133-44-1},
address = {Philadelphia, PA},
pages = {847--864},
url = {https://www.usenix.org/conference/usenixsecurity24/presentation/deng},
publisher = {USENIX Association},
month = aug
}
MIT लाइसेंस के तहत वितरित। अधिक जानकारी के लिए LICENSE.md देखें।
अस्वीकरण: यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए है। लेखक किसी भी अवैध उपयोग का समर्थन नहीं करते हैं। अपने जोखिम पर उपयोग करें।
| लिंट + टाइपचेक चलाएँ |
make build | वितरण योग्य पैकेज बनाएँ |
| प्रदाता | वर्तमान मॉडल | विरासत (रखा गया) | एनवी कुंजी |
|---|
| OpenAI | gpt-5.5, gpt-5.5-pro, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.3-codex | gpt-4o, gpt-4o-mini, o3, o4-mini | OPENAI_API_KEY |
| Anthropic | claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5-20251001 | — | ANTHROPIC_API_KEY |
| Google Gemini | gemini-3.1-pro, gemini-3.5-flash, gemini-3-pro, gemini-3.1-flash-lite | gemini-2.5-pro, gemini-2.5-flash | GEMINI_API_KEY / GOOGLE_API_KEY |
| DeepSeek | deepseek-v4-flash, deepseek-v4-pro | deepseek-chat, deepseek-reasoner | DEEPSEEK_API_KEY |
| xAI Grok | grok-4.3 | — | GROK_API_KEY / XAI_API_KEY |
| Alibaba Qwen | qwen3.7-max, qwen3.5-flash | qwen3-max | QWEN_API_KEY / DASHSCOPE_API_KEY |
| Moonshot Kimi | kimi-k2.6 | — | KIMI_API_KEY (डिफ़ॉल्ट .cn; .ai के लिए MOONSHOT_BASE_URL सेट करें) |
| स्थानीय (Ollama) | ollama:<model> (जैसे ollama:qwen3) | — | कोई नहीं (OLLAMA_BASE_URL) |