
pentest-ai v1.2.0
ओपन-सोर्स AI पेंटेस्टर जो हर निष्कर्ष को प्रमाणित करता है। मशीन ओरेकल प्रत्येक एक्सप्लॉइट को दोबारा चलाते हैं; सत्यापित बग एक प्रूफ कैप्सूल के साथ आते हैं जिसे आप स्वयं रीप्ले कर सकते हैं।
pentest-ai
पेंटेस्ट टूल जो अपने निष्कर्षों को साबित करता है। कोई ओरेकल नहीं, कोई बैज नहीं।
वेबसाइट · इंस्टॉल · सत्यापन क्यों · दस्तावेज़ · बेंचमार्क · एजेंट · Discord
⚠️ आक्रामक उपकरण, केवल अधिकृत परीक्षण के लिए। इंस्टॉल करके आप AUP और शर्तें स्वीकार करते हैं। पूरा पाठ जिम्मेदार उपयोग ↓ में।
ptai एक AI-संचालित पेंटेस्ट टूल है जो हर एक्सप्लॉइट को दोबारा चलाकर उसकी पुष्टि करता है। यह रीकॉन करता है, लॉगिन करता है, और निष्कर्षों को बहु-चरणीय अटैक पथों में जोड़ता है, लेकिन यह आपसे परिणामों पर भरोसा करने के लिए नहीं कहता। जिस तरह TruffleHog एक लीक हुए सीक्रेट से लॉगिन करके उसकी पुष्टि करता है, उसी तरह ptai एक्सप्लॉइट को दोबारा चलाकर एक वेब निष्कर्ष की पुष्टि करता है: एक निष्कर्ष तब तक उम्मीदवार बना रहता है जब तक एक मशीन ओरेकल उसे N में से N बार दोहरा न दे, और तभी उसे VERIFIED बैज मिलता है। तृतीय-पक्ष स्कैनर आउटपुट (nuclei, nikto, zap) को तब तक रोककर रखा जाता है जब तक कोई ओरेकल उसे दोबारा साबित नहीं कर देता। स्कैनर का शोर ही टीमों को अपने टूल्स को नज़रअंदाज़ करना सिखाता है, इसलिए रिपोर्ट में केवल वही होता है जो ptai साबित कर सका, हर VERIFIED निष्कर्ष के साथ एक पोर्टेबल प्रूफ कैप्सूल होता है जिसे आप स्वयं दोबारा चला सकते हैं।
आज 14 भेद्यता श्रेणियाँ ओरेकल-सत्यापित हैं। एक जानबूझकर कमजोर परीक्षण हनीपॉट पर, इन श्रेणियों में 23 निष्कर्ष 100% सटीकता और शून्य फ़ॉल्स पॉज़िटिव के साथ सत्यापित होते हैं। एक सामान्य OWASP Juice Shop पर, एक ही स्कैन में 12 सत्यापित होते हैं। यह आपके लैपटॉप पर चलता है। कोई क्लाउड नहीं, कोई टेलीमेट्री नहीं।
इसे काम करते देखें
एक सामान्य OWASP Juice Shop स्कैन किया जा रहा है: एक ही स्कैन में 12 निष्कर्ष ओरेकल-सत्यापित। निष्कर्ष वास्तविक हैं; देखने योग्य बनाने के लिए गति को तालबद्ध किया गया है।
इस मुख्य विचार को आप दो मिनट में स्वयं दोहराएँ, बिना किसी अपने लक्ष्य के:```bash pip install ptai && ptai demo
`ptai demo` एक बंडल किए गए असुरक्षित ऐप को स्कैन करता है और `4 findings, 4 oracle-VERIFIED` रिपोर्ट करता है, एक प्रूफ कैप्सूल से लाइव रीप्ले करता है (`replay 3/3`), फिर उन्हीं रूट्स को हार्डन करके चलाता है और `0 findings` रिपोर्ट करता है। दोनों रनों के बीच केवल फिक्स बदला है, इसलिए findings कमज़ोरी के साथ दिखाई और गायब होती हैं, न कि इसलिए कि टूल चुप हो गया। दो मिनट, कोई API key नहीं, अपना कोई target नहीं। किसी भी कैप्सूल को `ptai replay` से खुद दोबारा साबित करें।
> **ईमानदार आंकड़े।** हनीपॉट रन (14 क्लासेस में 23 verified, 100% precision, zero false positives) और Juice Shop रन (एक स्कैन में 12 verified) व्यक्तिगत reproducible benchmarks हैं, फ़ील्ड false-positive rates नहीं। Oracle gate precision खरीदता है, catch rate नहीं: यह false positives हटाता है, यह detection नहीं बढ़ाता। Juice Shop इंटरनेट पर सबसे अधिक अध्ययन किया गया असुरक्षित ऐप है, इसलिए इसकी कच्ची मात्रा को breadth के रूप में पढ़ें और verified count को precision की कहानी के रूप में; हनीपॉट, जिसमें हमने खुद बग्स लिखे हैं, ईमानदार संकेत है। हनीपॉट हार्नेस (`tests/honeypot/`) और एक clean-app zero-FP गेट (`tests/cleanapp/`) रिपो में शामिल हैं, इसलिए दावे स्क्रीनशॉट के बजाय reproducible हैं।
## 1.1.0 में नया क्या है
Verification कवरेज लगभग दोगुना हो गया, और अब एक स्कैन उस target पर zero रिपोर्ट नहीं करता जिसे उसने रन के बीच में गिरा दिया। हर VERIFIED finding एक नामित machine oracle से आता है, कभी भी LLM assertion से नहीं, जो कोड में अनिवार्य है: एक verdict जो अपने oracle का नाम नहीं बता सकता, अस्वीकृत हो जाता है। यह रिलीज़ जोड़ता है:
- **दस नई oracle क्लासेस (कुल 14)।** Trusted-header bypass, JWT `alg:none`, host-header poisoning, XXE, type confusion, stored XSS, sequential IDOR, mass assignment, non-blind SSRF, और SQLi login-bypass; इनमें SQLi (boolean/blind), BOLA/IDOR, reflected XSS, open redirect, और path traversal शामिल होते हैं। हर oracle का एक control होता है जो सुरक्षित target पर विफल होना चाहिए, ताकि एक गैर-असुरक्षित ऐप badge कमाने के बजाय abstain करे।
- **Verification resilience।** एक आक्रामक sweep किसी fragile single-container target को गिरा सकता है, जिसके बाद verify चरण हर oracle में विफल हो जाता था और मान्य, replayable recipes के बावजूद 0 रिपोर्ट करता था। अब यह दोबारा साबित करने से पहले target के दोबारा उत्तर देने का इंतज़ार करता है, जिसने एक OWASP Juice Shop स्कैन को 0 से 12 oracle-verified तक पहुंचाया।
- **Scope safety।** Active tools (sqlmap, dalfox) engagement target तक host-locked हैं; स्कैन अब किसी पेज की सामग्री से स्क्रैप किए गए तीसरे पक्ष के URLs को attack tools को नहीं खिलाता।
- **Portable proof capsules** `ptai replay` के साथ, एक लाइव TUI जो स्क्रीन पर verdicts को VERIFIED में बदलता है, और एक CI गेट (`--fail-on verified`) जो केवल सिद्ध findings पर build को तोड़ता है।
## एक वास्तविक target पर: OWASP Juice Shop
एक स्टॉक OWASP Juice Shop की ओर इशारा करते हुए, ptai **एक स्कैन में 12 findings को oracle-verifies करता है**: JWT `alg:none` संरक्षित endpoints पर स्वीकृत, BOLA cross-user reads, sequential IDOR, और type confusion, प्रत्येक को एक machine oracle द्वारा दोबारा सिद्ध किया गया, न कि asserted। यह जितना verify करता है उससे अधिक detect करता है (SQLi auth-bypass `/rest/user/login` पर, UNION SQLi `/rest/products/search` पर, XXE जो `/etc/passwd` दिखाता है, mass assignment, password-reset bypass); केवल verified सबसेट रिपोर्ट तक पहुँचता है। इसे बिना API key के MCP पर Claude Code के माध्यम से चलाएँ, या standalone।
> **ईमानदारी का अस्वीकरण।** Juice Shop इंटरनेट पर सबसे अधिक प्रलेखित असुरक्षित ऐप है, इसलिए LLM और probe लेखकों दोनों को शुरुआती बढ़त मिलती है। एक नए target के विरुद्ध catch rate वही है जो curated probe लाइब्रेरी कवर करती है (आज 60+ वेब probes, हर रिलीज़ में बढ़ रही); LLM परिणामों का समन्वय और तर्क करता है, यह probes को प्रतिस्थापित नहीं करता। `tests/honeypot/` में एक निजी हनीपॉट हार्नेस अपने द्वारा लिखे गए बग्स के विरुद्ध कवरेज मापता है और CI में asserted है (`tests/honeypot/test_mcp_honeypot_e2e.py`); इसके आंकड़े Juice Shop से कम हैं, और यही बात है। हम दोनों प्रकाशित करते हैं। पूरा देखें [ZAP / Nuclei / HexStrike के विरुद्ध Juice Shop benchmark](https://github.com/0xsteph/pentest-ai/blob/HEAD/docs/benchmarks/juice-shop.md)।
## Install```bash
pip install ptai
मार्ग 1: इसे Claude Code से चलाएँ (कोई API key नहीं)
यदि आप पहले से ही Claude Pro / Max / Team के लिए भुगतान करते हैं, तो आपका सब्सक्रिप्शन ही LLM है। ptai को MCP सर्वर के रूप में जोड़ें:```bash claude mcp add pentest-ai -- ptai mcp
क्लॉड कोड पुनः आरंभ करें, फिर पूछें:
> *"staging.acme.com के विरुद्ध एक प्रमाणित पेंटेस्ट चलाएँ। लॉगिन /login पर है, पासवर्ड $APP_PASS में है।"*
> **नेटवर्क पर क्या जाता है**: ptai के उपकरण और प्रोब आपके लक्ष्य के विरुद्ध स्थानीय रूप से निष्पादित होते हैं। आपके प्रॉम्प्ट और टूल आउटपुट जिन्हें क्लॉड कोड पढ़ता है, किसी भी क्लॉड कोड सत्र की तरह, Anthropic के API से होकर जाते हैं। यदि आपको एयर-गैप्ड पथ चाहिए, तो पथ 3 (Ollama / ऑन-प्रिम LLM) देखें।
क्लॉड कोड इन MCP टूल्स के माध्यम से ptai को चलाता है (आज इनकी संख्या 47 है):
- `list_tools` / `run_tool`: 200+ रैप किए गए सुरक्षा टूल्स को सूचीबद्ध करें और चलाएँ
- `plan_tools` / `ensure_tools_installed`: किसी एंगेजमेंट के लिए विहित टूल सूची प्राप्त करें, बैच इंस्टॉल
- `list_probes` / `run_probe`: OWASP Top 10 बग वर्गों के लिए 60 SPA-जागरूक प्रोब
- `http_request`: नवीन श्रृंखलाओं के लिए कठोर स्कोप गार्ड के अंतर्गत रॉ HTTP
- `start_engagement` / `get_findings` / `get_attack_chains`: एंगेजमेंट रिकॉर्ड
- साथ ही `test_web_app`, `test_active_directory`, `test_cloud`, `test_api_security`, और बाकी
### पथ 2: अन्य MCP क्लाइंट्स (Cursor, VS Code Copilot, Codex, Claude Desktop)```bash
ptai setup --mcp
Auto-detects every MCP-compatible client you have installed and writes their config files. Restart the client and the same 47 tools are there.
Path 3: Standalone CLI when you DON'T have an MCP client
If you're using Claude Code, Cursor, Codex, or Claude Desktop, use Path 1 or 2 above and skip this section. No API key needed there.
Path 3 is for CI/CD pipelines, scheduled cron jobs, air-gapped terminals, and users without an MCP client. The standalone CLI has no LLM of its own, so you bring one via env var:```bash export ANTHROPIC_API_KEY=sk-ant-... # Claude (best results)
or
export OPENAI_API_KEY=sk-... # OpenAI
or, fully local, no cloud
export PENTEST_AI_LLM_PROVIDER=ollama # Ollama (default localhost:11434)
or, any of 300+ models via LiteLLM (OpenRouter, Azure, DeepSeek, Groq, Mistral, ...)
pip install litellm
ptai start https://your-target.com
क्या आप किसी OpenAI-संगत एंडपॉइंट (DeepSeek cloud, Groq, Together AI, vLLM, आदि) का उपयोग कर रहे हैं? `OPENAI_BASE_URL` + `PENTEST_AI_MODEL` सेट करें और openai प्रदाता का उपयोग करें। हर प्रदाता के लिए पूरी रेसिपी - जिसमें कस्टम मॉडल नाम, समस्या निवारण और LiteLLM-300+ सूची शामिल है - [`docs/llm-providers.md`](https://github.com/0xsteph/pentest-ai/blob/HEAD/docs/llm-providers.md) में उपलब्ध हैं।
#### व्यय सीमा (केवल Path 3)
स्टैंडअलोन एजेंट लूप अपना खुद का LLM चलाता है, इसलिए अनियंत्रित लूप वास्तविक धन खर्च करते हैं। ptai प्रति एंगेजमेंट खर्च को **$10 USD** पर डिफ़ॉल्ट रूप से सीमित करता है। प्रॉम्प्ट कैशिंग के साथ एक सामान्य Sonnet 4.6 वेब-ऐप स्वीप उस सीमा से काफी नीचे पूरा हो जाता है; एक Opus 4.7 डीप रन उस सीमा को पार कर सकता है।
इसे env var के माध्यम से बदलें (कोई CLI फ़्लैग नहीं - env var ही एकमात्र नियंत्रण है):```bash
export PTAI_PRICE_LIMIT=25 # raise to $25
export PTAI_PRICE_LIMIT=0 # unlimited (logs a warning)
unset PTAI_PRICE_LIMIT # back to the $10 default
यदि कैप engagement के बीच में सक्रिय होता है, तो engagement को aborted_cost_limit के रूप में चिह्नित किया जाता है और इसका checkpoint संरक्षित रहता है। कैप बढ़ाएँ और जहाँ से यह रुका था वहीं से resume करें:```bash
export PTAI_PRICE_LIMIT=25
ptai resume <engagement_id>
पथ 1 और 2 (MCP) इस सीमा का उपयोग नहीं करते - आपका AI क्लाइंट (Claude Code, Cursor, आदि) अपना स्वयं का LLM बिलिंग संभालता है।
### सुरक्षा उपकरण स्थापित करना
ptai 200+ बाहरी उपकरणों को रैप करता है। उन्हें मशीन पर लाने के तीन तरीके:```bash
# 1. Zero-config (recommended). At engagement start, the planner predicts
# which tools the LLM will need and asks ONCE to install the missing
# ones. Decline once and the answer persists in
# ~/.pentest-ai/install-preferences.json.
ptai start https://target.example.com
# 2. Batch install upfront. Skips the engagement-time prompt entirely.
ptai setup --tier core # ~6 essentials, ~30s
ptai setup --tier recommended # + fuzzers, crawlers, password tools, ~5m
ptai setup --tier full # everything, ~30m
# 3. Install specific tools by name.
ptai setup --per-tool wpscan,dalfox,paramspider
ptai setup --wizard # interactive picker
गैर-संवादात्मक संदर्भों में (PTAI_NON_INTERACTIVE=1 या कोई TTY न हो) ptai PATH पर जो उपलब्ध है उसका उपयोग करता है और किसी भी गायब चीज़ के लिए लॉग करता है (प्रॉम्प्ट करने के बजाय)।
अन्य पथ: REST API, MCP composition, HITL teleoperation, क्लाउड वर्कस्पेस, सार्वजनिक बेंचमार्क
HTTP REST API (डैशबोर्ड और इंटीग्रेशन के लिए)```bash
pip install ptai[api] ptai serve --port 8888
एंडपॉइंट्स: `/health`, `/version`, `/agents`, `/tools`, `/engagements` (सूची, विवरण, निष्कर्ष, श्रृंखलाएँ, डिटेक्शन नियम, SARIF निर्यात)। राइट एंडपॉइंट्स (`POST /engagements`, `POST /engagements/{id}/abort`) को `Authorization: Bearer $PENTEST_AI_API_TOKEN` की आवश्यकता होती है। लाइव इवेंट स्ट्रीम: `WS /engagements/{id}/stream`।
### अन्य MCP सर्वरों को टूल स्रोतों के रूप में लोड करें
hexstrike या किसी अन्य MCP-संगत सुरक्षा सर्वर के साथ संयोजित करें। `~/.pentest-ai/mcp_servers.json` को संपादित करें:```json
{
"servers": [
{"name": "hexstrike", "command": "python3 hexstrike_mcp.py", "transport": "stdio"}
]
}
मध्य-रन में नियंत्रण लें (HITL टेलीऑपरेशन)
जब कोई अभियान चल रहा हो, तो ऑर्केस्ट्रेटर को रोकने और REPL में जाने के लिए 600ms के भीतर दो बार Ctrl+C दबाएँ: step, inspect findings, inject <instruction>, skip, resume, abort. वर्तमान LLM पूर्णतः स्वायत्त नहीं हैं। जब बात मायने रखती है, तो निर्णय ऑपरेटर का होता है।
सार्वजनिक बेंचमार्क
पुनरुत्पादनीय सॉल्व-रेट माप benchmarks/ में उपलब्ध हैं:```bash
./benchmarks/scripts/run_all.sh # writes JSON per run + RESULTS.md
Spec, harness, results all in git. ZAP / Nuclei / HexStrike के विरुद्ध Juice Shop की संपूर्ण तुलना [`docs/benchmarks/juice-shop.md`](https://github.com/0xsteph/pentest-ai/blob/HEAD/docs/benchmarks/juice-shop.md) पर उपलब्ध है। कोई ऐसा "98.7% पहचान दर" दावा नहीं जिसे आप ऑडिट नहीं कर सकते।
### क्लाउड वर्कस्पेस (Pro / Team / Enterprise)
CLI हमेशा के लिए मुफ़्त है और सब कुछ स्थानीय रूप से संग्रहीत करता है। यदि आप एंगेजमेंट हिस्ट्री, ब्रांडेड क्लाइंट-रेडी PDF रिपोर्ट, और टीम सहयोग चाहते हैं, तो CLI को एक [app.pentestai.xyz](https://app.pentestai.xyz) वर्कस्पेस से लिंक करें:```bash
# Sign up, then Dashboard -> API Keys -> Generate -> copy ptai_...
ptai auth login # paste the key (hidden prompt)
ptai auth status # confirm link
# or use an env var for CI:
export PENTESTAI_API_KEY=ptai_...
ptai start प्रमाणित होने पर आपके क्लाउड वर्कस्पेस में फाइंडिंग्स को स्वतः सिंक करता है। कोई क्लाउड नहीं = कोई कॉल नहीं; जब तक आप लॉग इन नहीं करते, एकीकरण चुपचाप बंद रहता है।
कोई LLM नहीं (इंटरैक्टिव लॉन्चर)```bash
ptai menu
संख्यात्मक श्रेणी नेविगेशन, खोज (`/term`), टैग फ़िल्टरिंग (`t web`), कीवर्ड-आधारित अनुशंसा। वास्तविक एंगेजमेंट अभी भी पूर्ण दायरे की पुष्टि के साथ `ptai start` से ही गुज़रते हैं।
</details>
## यह अलग क्यों है
| | |
|---|---|
| 🤖 **LLM-समन्वित, न कि LLM-निर्भर** | सत्रह एजेंट recon, web, API, AD, cloud, mobile, wireless, browser, credentials, privesc, vuln scan, chaining, PoC, detection, report, social engineering और LLM red team को कवर करते हैं। LLM चरण लूप चलाता है और परिणामों के बारे में तर्क करता है; बग का पता लगाना क्यूरेटेड डिटर्मिनिस्टिक प्रोब लाइब्रेरी में है। कोई API key सेट न करें और वही प्रोब फिर भी चलेंगे। LLM समन्वय करता है; यह स्कैन नहीं करता। |
| 🔓 **MCP मार्ग पर API key की आवश्यकता नहीं** | Claude Code / Cursor / Codex उपयोगकर्ता अपनी मौजूदा सदस्यता का उपयोग करके MCP के माध्यम से ptai चलाते हैं। 200+ टूल रैपर और 60 प्रोब बिना Anthropic key के LLM-कॉल करने योग्य हैं। स्टैंडअलोन CLI (`ptai start --agent-mode`) वह जगह है जहाँ API key मायने रखती है; वे Codex-without-MCP, CI, और air-gapped पथ हैं। |
| 🔐 **यह लॉगिन करता है** | अधिकांश स्कैनर लॉगिन पेज पर असफल हो जाते हैं। यह एक सत्र बनाए रखता है, क्रेडेंशियल समाप्त होने पर उन्हें रीफ़्रेश करता है, और हर डाउनस्ट्रीम टूल को वही कुकी प्राप्त होती है। Auth प्रोफ़ाइलें *संदर्भ* संग्रहीत करती हैं (env vars, `op://`, Vault पथ, AWS Secrets Manager ARNs), कभी भी मान नहीं। |
| 🧪 **हर निष्कर्ष सिद्ध होता है** | एक गैर-विनाशकारी प्रूफ ऑफ कॉन्सेप्ट लक्ष्य पर चलता है। अब किसी शोर-भरे स्कैनर से 40 संभावित मामलों को ट्राइएज करने की ज़रूरत नहीं। |
| ⚡ **CI-नेटिव** | GitHub Action, severity gates, SARIF आउटपुट, PR टिप्पणियाँ। इसे अपनी workflow फ़ाइल में डालें और यह अगले PR पर चलेगा। |
| 💾 **आपके लैपटॉप पर चलता है** | MIT लाइसेंस के तहत, कोई क्लाउड कॉल नहीं। Ollama के साथ ऑफ़लाइन चलता है। निष्कर्ष आपकी डिस्क पर रहते हैं। |
## यह कैसे काम करता है```
┌─────────────────────────────────────────────────────────────┐
│ ptai start <target> │
└─────────────────────────────────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌─────────┐
│ recon │ -> │ auth │ -> │ web │
└────────┘ └────────┘ └─────────┘
│
┌────────────────────────────────────┤
▼ ▼
┌────────┐ ┌─────────┐
│ ad │ ┌──────────────────┐ │ cloud │
└────────┘ │ Findings DB │ └─────────┘
│ │ (sqlite + evidence)│ │
└───────▶│ scope-guarded │◀──────┘
│ deduplicated │
└──────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────┐ ┌─────────┐ ┌──────────┐
│chain │ │validate │ │ detect │
└──────┘ └─────────┘ └──────────┘
│
▼
┌──────────┐
│ report │ md · html · pdf · SARIF · JUnit
└──────────┘
प्रत्येक एजेंट तब LLM के साथ चलता है जब आपने कुंजी सेट की हो, या निर्धारितात्मक टूल लूप के रूप में जब नहीं सेट की हो। दोनों ही स्थितियों में चरण क्रम समान रहता है।
एजेंट
| एजेंट | चरण | कार्य |
|---|---|---|
recon | 1 | पोर्ट स्कैन, DNS और सबडोमेन एन्यूमरेशन, सेवा फिंगरप्रिंटिंग |
web | 2 | प्रमाणित OWASP टेस्टिंग गाइड v4 पास |
api_security | 2 | OpenAPI/GraphQL/REST सतह विश्लेषण, OWASP API Top 10 |
browser | 2 | Playwright-संचालित DOM विश्लेषण, XHR कैप्चर, सुरक्षा-हेडर ग्रेडिंग |
ad | 3 | AD एन्यूम, केर्बेरोस्टिंग, BloodHound पाथफाइंडिंग, डेलिगेशन दुरुपयोग |
cloud | 4 | AWS, Azure, GCP IAM, मिसकॉन्फिग, K8s RBAC, सर्वरलेस |
credential_tester | 4 | पासवर्ड स्प्रेइंग, क्रेडेंशियल स्टफिंग, MFA बायपास जाँच |
privesc | 5 | एकत्रित संदर्भ से स्थानीय और लेटरल प्रिविलेज-एस्केलेशन सलाह |
vuln_scanner | 5 | फाइंडिंग्स DB के विरुद्ध क्रॉस-कटिंग भेद्यता समुच्चयन |
exploit_chain | 6 | फाइंडिंग्स को बहु-चरणीय आक्रमण पथों में सहसंबंधित करता है |
poc_validator | 7 | प्रति फाइंडिंग गैर-विनाशकारी प्रूफ ऑफ कॉन्सेप्ट |
detection | 8 | ब्लू टीम के लिए Sigma, SPL, KQL नियम |
report | 9 | Markdown, HTML, PDF, SARIF, JUnit, अनुपालन मानचित्र |
llm_redteam | opt | OWASP LLM Top 10 जाँच |
social_engineer | opt | फ़िशिंग कॉर्पस और प्रीटेक्स्ट जनरेशन |
mobile | opt | Android/iOS स्थैतिक + गतिशील जाँच |
wireless | opt | वायरलेस रिकॉनिसेंस और हैंडशेक कैप्चर |
प्लेबुक्स
आपकी कार्यप्रणाली एक फ़ाइल के रूप में। Git में चेक की गई। आपकी टीम के साथ साझा की गई।```yaml name: internal-ad-pentest inputs: domain: { required: true, prompt: "AD domain" } dc_ip: { required: true, prompt: "DC IP" }
phases:
-
id: recon tools: [nmap, masscan]
-
id: ad-enum depends_on: [recon] condition: "any_finding(type='open_port', port=445)" tools: [enum4linux, ldapsearch, bloodhound-python]
-
id: kerberoast requires_finding: { type: ad_user_enumerated } tools: [impacket-getuserspns] llm_decide: true # let the LLM skip if context says useless
The input chunk is empty — no content was provided to translate. Please provide the chunk text.```bash
ptai playbook list # show installed playbooks
ptai playbook show web-app-quick # preview before running
ptai playbook run ./my-ad.yaml # execute
पाँच प्लेबुक अंतर्निहित रूप से उपलब्ध हैं। एक सामुदायिक कैटलॉग आ रहा है।
इसे अपने CI में डालें```yaml
.github/workflows/security.yml
name: Security scan on: [pull_request]
jobs:
ptai:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pip install ptai
- run: |
ptai start ${{ vars.STAGING_URL }}
--ci
--fail-on high
--sarif pentest.sarif
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
- uses: github/codeql-action/upload-sarif@v3
if: always()
with:
sarif_file: pentest.sarif
Findings post as a PR comment, SARIF uploads to GitHub Code Scanning, and the build fails on gated severity. **GitLab CI and Jenkins** templates plus advanced options (auth profiles in CI, cost gates, scope files) -> [docs/ci-cd.md](https://github.com/0xsteph/pentest-ai/blob/HEAD/docs/ci-cd.md).
## Benchmarks
ptai's design is purpose-built for SPA pentesting with curated probe coverage. On OWASP Juice Shop, the published [4-tool matrix](https://github.com/0xsteph/pentest-ai/blob/HEAD/docs/benchmarks/juice-shop.md) showed:
| टूल | निष्कर्ष | क्रिटिकल+हाई | OWASP Top 10 बकेट्स | FP दर |
|---|---:|---:|---:|---:|
| **ptai 0.13.0** | **88** | **46** | **5** | **0%** |
| ZAP 2.17.0 | 593 | 0 | 1 | 47% |
| Nuclei 3.8.0 | 1 | 0 | 1 | 0% |
| HexStrike v6.0 | 11 | 0 | 1 | - |
n=1 single-rater, single-shot. पद्धति + कच्चे आर्टिफैक्ट [`benchmarks/results/2026-05-12/juice-shop/`](https://github.com/0xsteph/pentest-ai/blob/HEAD/benchmarks/results/2026-05-12/juice-shop/) में। ईमानदार निष्कर्ष: ptai क्यूरेटेड प्रोब कवरेज के साथ SPA वेब पेंटेस्ट में बेहतर है। HexStrike व्यापक है (क्लाउड, बाइनरी, CTF) और पारंपरिक क्रॉल करने योग्य सतहों जैसे WordPress पर ptai को संभवतः हरा देता है। भविष्य के रिलीज़ तुलना को और व्यापक बनाएँगे।
हालिया शोध संदर्भ: पूरी तरह से स्वायत्त LLM-पेंटेस्ट एजेंट **21-31%** कार्यों को एंड-टू-एंड पूरा करते हैं; मानव-सहायता वाले सेटअप **64%** तक पहुँचते हैं (ARTEMIS, DARPA AICC Atlantis, xOffense)। ptai मानव-सहायता वाले मोड के लिए बनाया गया है: LLM परिणामों का विश्लेषण करता है, क्यूरेटेड प्रोब पहचान करते हैं, और Ctrl+C को दो बार दबाने से ऑपरेटर नियंत्रण ले सकता है।
## प्रतिस्पर्धियों के मुकाबले
| | `ptai` | Hexstrike | ZAP | Nuclei | Burp Pro | PentestGPT |
|---|:-:|:-:|:-:|:-:|:-:|:-:|
| MCP के माध्यम से LLM-चालित (बिना API key) | ✓ | ✓ | | | | |
| स्कोप गार्ड के अंतर्गत LLM-संश्लेषित HTTP | ✓ | आंशिक | | | | |
| MCP के माध्यम से प्रमाणीकृत स्कैनिंग | ✓ | आंशिक | आंशिक | रॉ HTTP | ✓ | |
| एक्सप्लॉइट चेनिंग | ✓ | आंशिक | | | | आंशिक |
| गैर-विनाशकारी PoC सत्यापन | ✓ | | | | आंशिक | |
| स्टोर्ड इंजेक्शन चेन (POST -> GET सत्यापन) | ✓ | मैनुअल | आंशिक | | मैनुअल | |
| क्यूरेटेड प्रोब (विशेषीकृत, टेम्पलेट-चालित नहीं) | 60 | टूल-रैपर-चालित | नियम-चालित | 8000+ टेम्पलेट्स | मैनुअल + स्कैन | - |
| रैप किए गए CLI सुरक्षा टूल | 200+ | 150+ | - | - | - | - |
| टूल इंस्टॉल विज़ार्ड | core/recommended/full + per-tool | - | n/a | n/a | n/a | - |
| इंगेजमेंट की शुरुआत में स्मार्ट इंस्टॉल | ✓ | | | | | |
| CI-नेटिव (SARIF + गंभीरता गेट्स) | ✓ | | आंशिक | आंशिक | आंशिक | |
| LLM रेड टीम प्रोब | ✓ | | | | | |
| YAML प्लेबुक्स | ✓ | | | टेम्पलेट्स | | |
| लाइसेंस | MIT | MIT | Apache-2.0 | MIT | व्यावसायिक | MIT |
## अंदर क्या है
- **17 एजेंट** recon, वेब, API सुरक्षा, AD, क्लाउड, मोबाइल, वायरलेस, ब्राउज़र, क्रेडेंशियल टेस्टिंग, प्रिविलेज एस्केलेशन, vuln स्कैनिंग, एक्सप्लॉइट चेनिंग, PoC सत्यापन, डिटेक्शन, रिपोर्टिंग, LLM रेड टीम, सोशल इंजीनियरिंग में
- **60 क्यूरेटेड वेब प्रोब** जो OWASP Top 10 + API Top 10 को कवर करते हैं
- **200+ टूल रैपर** ऑटो-इंस्टॉल के साथ: nmap, masscan, nuclei, ffuf, sqlmap, gobuster, wapiti, nikto, dalfox, xsstrike, wpscan, hydra, hashcat, enum4linux, bloodhound-python, impacket सुइट, trufflehog, gitleaks, kube-hunter, trivy, prowler, scout-suite, और अन्य
- एटॉमिक भेद्यता पहचान के लिए **4000+ Nuclei टेम्पलेट्स** एकीकृत
- LLM-चालित इंगेजमेंट्स के लिए **47 MCP टूल**, जिनमें `plan_tools` / `ensure_tools_installed` शामिल हैं जो बाहरी LLM को बिना Anthropic API key के टूल बैच-इंस्टॉल करने देते हैं
- LiteLLM प्रदाता के माध्यम से **300+ LLM मॉडल** (Anthropic, OpenAI, Ollama सीधे; Azure, OpenRouter, DeepSeek, Groq, Mistral, Together AI, Bedrock, Vertex AI, Cohere LiteLLM के ज़रिए)
- गैर-MCP इंटीग्रेशन के लिए **HTTP REST API + WebSocket** सतह (`ptai serve`)
- **लोकल वेब डैशबोर्ड** लाइव इंगेजमेंट व्यू, निष्कर्ष तालिका, अटैक चेन विज़ुअलाइज़ेशन, SARIF एक्सपोर्ट के साथ
- **ब्राउज़र ऑटोमेशन एजेंट** स्क्रीनशॉट कैप्चर, DOM विश्लेषण, नेटवर्क कैप्चर, सुरक्षा हेडर ग्रेडिंग के साथ (Playwright-चालित)
- **Human-In-The-Loop टेलीऑपरेशन** (चलते इंगेजमेंट को संभालने के लिए Ctrl+C दो बार दबाएँ)
- बाहरी MCP सर्वर को टूल स्रोत के रूप में लोड करने की **MCP क्लाइंट** क्षमता
- `benchmarks/` में **सार्वजनिक पुनरुत्पादन योग्य बेंचमार्क हार्नेस**। संख्याएँ, कोड, कच्चे आर्टिफैक्ट, सब कुछ git में।
- **6 आउटपुट फॉर्मेट**: Markdown, HTML, PDF, SARIF 2.1.0, JUnit XML, अनुपालन मैपिंग (OWASP, CWE, CVE, CVSS v3.1)
- Python 3.10, 3.11, 3.12, 3.13 पर CI के साथ **2,400+ टेस्ट**
- **MIT लाइसेंस**, 100% आपका
## कौन इसे किस लिए उपयोग करता है
**AppSec टीमें।** `ptai` को अपने CI में जोड़ें। स्टेजिंग के विरुद्ध हर PR को प्रमाणीकृत स्कैन मिलता है। उच्च-गंभीरता वाले निष्कर्षों पर बिल्ड विफल हो जाता है। fix -> retest -> confirm लूप अपने आप चलता है।
**कंसल्टेंट्स।** एक सप्ताह का इंगेजमेंट सेट करें, `ptai` को टारगेट लिस्ट पर इंगित करें, और अपना समय उन हिस्सों पर बिताएँ जिनमें मानव की ज़रूरत है: निष्कर्षों का विश्लेषण, प्रदर्शित करने के लिए चेन चुनना, क्लाइंट से बात करना। रिपोर्ट अपने आप तैयार हो जाती है।
**Bug bounty हंटर्स।** इसे नाश्ते के दौरान चलाएँ। लौटकर पाएँ सत्यापित निष्कर्षों की एक सूची, जिनमें HackerOne में पेस्ट करने के लिए तैयार PoCs हों।
**रेड टीमर्स।** अपनी AD पद्धति को YAML प्लेबुक के रूप में एनकोड करें। हर नया इंगेजमेंट इसे चलाता है। वही पद्धति, पूरी टीम में साझा।
**Claude Code / Cursor / Codex उपयोगकर्ता।** ptai को MCP सर्वर के रूप में जोड़ें। अपने असिस्टेंट से सरल अंग्रेज़ी में स्कैन चलाने को कहें। आपका मौजूदा सब्सक्रिप्शन LLM के लिए भुगतान करता है; ptai टूल प्रदान करता है।
**AI फीचर्स शिप करने वाले डेवलपर्स।** अपने चैटबॉट के खिलाफ `--enable-llm-redteam` सक्षम करें। मिनटों में OWASP LLM Top 10 रिपोर्ट पाएँ।
## ज़िम्मेदार उपयोग
`pentest-ai` आक्रामक सुरक्षा टूलिंग है। यह आपके द्वारा निर्दिष्ट टारगेट्स के खिलाफ वास्तविक नेटवर्क और होस्ट ऑपरेशन निष्पादित करता है। **यह सुनिश्चित करने की पूरी ज़िम्मेदारी आपकी है कि आपके पास हर टारगेट के परीक्षण के लिए स्पष्ट, लिखित प्राधिकरण है।**
`ptai` को इंस्टॉल या चलाकर आप [स्वीकार्य उपयोग नीति](https://pentestai.xyz/aup) और [सेवा की शर्तें](https://pentestai.xyz/terms) से सहमत होते हैं। बिना लिखित प्राधिकरण के ऐसे सिस्टम का परीक्षण करना जिनके आप मालिक नहीं हैं, Computer Fraud and Abuse Act, Computer Misuse Act 1990, GDPR अनुच्छेद 32, और आपके क्षेत्राधिकार के समकक्ष कानूनों का उल्लंघन हो सकता है। दुरुपयोग की पूरी ज़िम्मेदारी आपकी है।
पहली बार चलाने पर आपसे AUP स्वीकृति की पुष्टि करने को कहा जाता है और यह विकल्प `~/.pentest-ai/aup-consent.txt` में सहेजा जाता है। CI में `PENTEST_AI_AUP_ACCEPTED=1` सेट करें ताकि प्रॉम्प्ट को गैर-इंटरैक्टिव रूप से बायपास किया जा सके।
स्टार्टअप पर `ptai` एक स्कोप फ़ाइल लोड करता है। आउट-ऑफ-स्कोप होस्ट्स को टूल-इनवोकेशन के समय अस्वीकार कर दिया जाता है। PoCs डिफ़ॉल्ट रूप से गैर-विनाशकारी होते हैं। स्टील्थ मोड में रेट लिमिट्स अपने आप लागू हो जाती हैं। ऐसा व्यक्ति न बनें।
### आउट-ऑफ-बैंड कॉलबैक (OAST) - गोपनीयता
`ptai` ब्लाइंड भेद्यता वर्गों (ब्लाइंड SSRF, ब्लाइंड SQLi, ब्लाइंड XXE, ब्लाइंड स्टोर्ड XSS, SSTI, Log4Shell) का पता पेलोड उत्सर्जित करके लगाता है, जो सर्वर-साइड पर फायर होने पर आउट-ऑफ-बैंड कॉलैबरेटर को रिंग करते हैं। डिफ़ॉल्ट रूप से, कॉलबैक ProjectDiscovery के सार्वजनिक `oast.fun` इंफ्रास्ट्रक्चर पर रूट होते हैं।
**कॉलैबरेटर पर क्या पहुँचता है और इसे कौन पढ़ सकता है।** हर इंगेजमेंट आपके लोकल `ptai` प्रोसेस में एक नई RSA-2048 कीपेयर उत्पन्न करता है। इंटरैक्शन पेलोड (कॉलैबरेटर को प्राप्त रॉ HTTP रिक्वेस्ट, DNS क्वेरीज़, SMTP लिफाफे) सर्वर-साइड पर आराम की स्थिति में AES-CTR-256 एन्क्रिप्टेड होते हैं, जिसमें AES key को आपके इंगेजमेंट की पब्लिक key का उपयोग करके RSA-OAEP-SHA256 में रैप किया जाता है। **केवल मेल खाने वाली प्राइवेट key का धारक - आपका लोकल `ptai` प्रोसेस - उन्हें डिक्रिप्ट कर सकता है।** ProjectDiscovery (या जो भी कॉलैबरेटर चलाता है) इंटरैक्शन सामग्री नहीं पढ़ सकता। हालाँकि, **मेटाडेटा सर्वर-दृश्यमान है**: यह तथ्य कि एक इंटरैक्शन हुआ, कॉल करने वाले टारगेट का स्रोत IP, टाइमस्टैम्प, और प्रोटोकॉल।
**सेल्फ-होस्ट कब करें।** PortSwigger अपने bug bounty रूल्स ऑफ इंगेजमेंट में सार्वजनिक Burp Collaborator के उपयोग को स्पष्ट रूप से मना करता है, और बड़े एंटरप्राइज़ प्रोग्राम (Meta, Apple, फाइनेंस) तेज़ी से यह आवश्यक बना रहे हैं कि कॉलबैक इंफ्रास्ट्रक्चर परीक्षक-नियंत्रित होस्ट्स पर समाप्त हो। भुगतान वाले इंगेजमेंट्स के लिए, अपना खुद का Interactsh सर्वर चलाएँ (Apache-2.0, एकल Go बाइनरी) और ptai को उसकी ओर इंगित करें:```bash
ptai start http://target --oast-server https://oast.example.com --oast-token <T>
OAST को पूरी तरह से अक्षम करने के लिए:```bash ptai start http://target --no-oast
Blind-vuln क्लासेस का पता तब नहीं चलेगा जब OAST बंद हो; इन-बैंड डिटेक्शन पथ (आकार डेल्टा / SQL त्रुटि मार्कर / मेटाडेटा सिग्नेचर / समय-आधारित) फिर भी चलते हैं।
## इकोसिस्टम
| Repo | विवरण |
|---|---|
| [**pentest-ai**](https://github.com/0xSteph/pentest-ai) | यही रिपो. CLI और MCP सर्वर. Python प्रोडक्ट. |
| [**pentest-ai-agents**](https://github.com/0xSteph/pentest-ai-agents) | स्टैंडअलोन Claude Code सबएजेंट मार्कडाउन फ़ाइलें. वैकल्पिक, इस CLI के बिना चलता है. |
साझा वर्कस्पेस, ब्रांडेड PDF रिपोर्ट, SSO, या मैनेज्ड एंगेजमेंट चाहिए? [वेबसाइट](https://pentestai.xyz) पर Pro / Team / Enterprise डैशबोर्ड और एक-शॉट Launch Engagement विकल्प है. OSS टूल OSS ही रहता है, हमेशा मुफ़्त.
## कम्युनिटी
- **Discord:** [सर्वर से जुड़ें](https://discord.gg/6weeTAubJw). चैट करें, मदद पाएँ, निष्कर्ष साझा करें, चुपचाप देखें.
- **सवाल, विचार, फ़ीडबैक:** [GitHub Discussions](https://github.com/0xSteph/pentest-ai/discussions)
- **बग रिपोर्ट:** [GitHub Issues](https://github.com/0xSteph/pentest-ai/issues)
- **Show and tell:** `ptai` ने आपको जो सबसे अजीब निष्कर्ष दिया है, उसे [Show and tell](https://github.com/0xSteph/pentest-ai/discussions/categories/show-and-tell) में पोस्ट करें
## FAQ
**क्या मुझे API key की ज़रूरत है?** MCP पथ पर नहीं. अगर आप ptai को Claude Code, Cursor, Codex, या Claude Desktop से चलाते हैं, तो आपका मौजूदा सब्सक्रिप्शन ही LLM है. आपको केवल स्टैंडअलोन CLI (Path 3) पर key चाहिए, और वहाँ भी आप Ollama के साथ पूरी तरह लोकल चला सकते हैं. देखें [Install](#install).
**क्या यह सच में ऑटोनोमस है, या मुझे इसकी देखभाल करनी पड़ती है?** आप लूप में बने रहते हैं. ptai LLM-समन्वित है, ऑटोनोमस नहीं - क्यूरेटेड प्रोब्स डिटेक्शन करते हैं, LLM परिणामों पर तर्क करता है, और अंतिम फ़ैसला आपका होता है. बीच में दो बार Ctrl+C दबाकर नियंत्रण लें. पूरी तरह ऑटोनोमस LLM एजेंट 21-31% पेंटेस्ट कार्यों को एंड-टू-एंड पूरा करते हैं; मानव-सहायित सेटअप 64% तक पहुँचते हैं, और ptai उसी दूसरे मोड के लिए बनाया गया है.
**क्या इसे प्रोडक्शन पर लगाना सुरक्षित है?** केवल लिखित प्राधिकरण के साथ, और केवल गार्डरेल्स चालू रखते हुए: `intensity=safe` स्टेट-म्यूटेटिंग प्रोब्स को छोड़ देता है, `respect_rate_limits` 429 / Retry-After का सम्मान करता है, और `strict_scope` ऑफ-होस्ट अनुरोधों को अस्वीकार कर देता है और रीडायरेक्ट का पीछा करना बंद कर देता है. तीनों डिफ़ॉल्ट रूप से बंद हैं, इसलिए इन्हें चालू करें. देखें [Responsible use](#responsible-use).
**Juice Shop का नंबर ऊँचा क्यों है लेकिन हनीपॉट का कम?** Juice Shop इंटरनेट पर सबसे अधिक प्रलेखित कमज़ोर ऐप है, इसलिए LLM और प्रोब लेखकों दोनों को शुरुआती बढ़त मिलती है. प्राइवेट हनीपॉट उन बग्स को मापता है जो हमने खुद लिखे हैं, इसलिए इसका नंबर कम है - और वह कम नंबर ही ईमानदार संकेत है. हम दोनों प्रकाशित करते हैं. देखें [Benchmarks](#benchmarks).
**क्या यह फ़ोन होम करता है?** कोई टेलीमेट्री नहीं, और निष्कर्ष आपकी डिस्क पर रहते हैं. MCP पथ पर आपके प्रॉम्प्ट और आपका AI क्लाइंट जो टूल आउटपुट पढ़ता है, वह उस क्लाइंट के API से गुज़रता है, बिल्कुल किसी भी सेशन की तरह. ब्लाइंड-वल्न डिटेक्शन (OAST) डिफ़ॉल्ट रूप से पब्लिक oast.fun को कॉलबैक भेजता है - सामग्री एक लोकल कीपेयर से एन्क्रिप्ट की जाती है, लेकिन कॉलबैक होने का तथ्य, स्रोत IP और टाइमस्टैम्प उस व्यक्ति को दिखाई देते हैं जो कोलैबोरेटर चलाता है. उससे बचने के लिए Interactsh को सेल्फ-होस्ट करें या `--no-oast` के साथ चलाएँ. देखें [Responsible use](#responsible-use).
**इसे चलाने में कितना खर्च आता है?** MCP पथ पर, आपके AI सब्सक्रिप्शन के अलावा कुछ नहीं, जो अपना बिलिंग खुद संभालता है. स्टैंडअलोन CLI पर, ptai डिफ़ॉल्ट रूप से प्रति एंगेजमेंट खर्च को $10 पर सीमित करता है; इसे `PTAI_PRICE_LIMIT` से बदलें. देखें [Install](#install).
**यह सिर्फ Claude या PentestGPT इस्तेमाल करने से कैसे अलग है?** एक क्यूरेटेड डिटर्मिनिस्टिक प्रोब लाइब्रेरी बग्स ढूँढती है; LLM फेज़ लूप चलाता है और परिणामों पर तर्क करता है, यह स्कैन नहीं करता. इसीलिए निष्कर्ष दोहराए जा सकते हैं और LLM के अनुमान के बजाय एक काम करने वाले PoC के साथ आते हैं. देखें [Why it's different](#why-its-different) और [vs the field](#vs-the-field).
## स्टार इतिहास
<a href="https://star-history.com/#0xSteph/pentest-ai&Date">
<img src="https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg" alt="Star history chart" width="600">
</a>
## लाइसेंस
MIT. इसके साथ जो चाहें करें.
<div align="center">
**अगर `ptai` ने आपका एक रविवार बचाया है, तो [रिपो को स्टार करें](https://github.com/0xSteph/pentest-ai). यही एकमात्र भुगतान है जो मैं माँगता हूँ.**
</div>