Vibe Pentest AI Security Testing
AI-powered automated penetration testing tool using multi-agent architecture for web applications, APIs, and admin panels
- Skill ID
- reason-machines/security-skills/vibe-pentest-ai-security-testing
- Publisher
- reason-machines
- Repository
- security-skills
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
reason-machines/security-skills/vibe-pentest-ai-security-testingInstalls these files- SKILL.md
What this skill tells the agent
vibe-pentest-ai-security-testing
Skill by ara.so — Security Skills collection.
Vibe Pentest is an AI Agent-based automated penetration testing tool that uses a multi-agent parallel execution architecture to perform comprehensive black-box penetration testing (including business logic vulnerability assessment) on web applications, APIs, and admin backends. It outputs stable and reliable security reports with actionable remediation recommendations.
Overview
Vibe Pentest orchestrates multiple AI agents to:
- Fingerprint web technologies and frameworks
- Crawl and map attack surfaces
- Execute parallel vulnerability testing across multiple categories
- Identify business logic flaws
- Generate comprehensive security reports in HTML and DOCX formats
Version: v1.0.7 License: AGPL-3.0 Primary Language: Python
Installation
Prerequisites
- Git (required for auto-update mechanism):
# Clone from Gitee (recommended for better access)
git clone https://gitee.com/ok-helloworld/vibe-pentest
cd vibe-pentest
# Or from GitHub
git clone https://github.com/ok-helloworld/vibe-pentest
cd vibe-pentest- Python 3.10+ and dependencies:
pip install playwright python-docx matplotlib requests urllib3 argparse httpx charset-normalizer chardet
playwright install chromium- Katana Crawler (included for Windows, download for other OS):
- Windows version included in
tools/katana - For other OS, see
tools/katana_downloads.jsonfor download links
Automated Installation
You can also ask your AI coding agent to install everything:
Install vibe-pentest skill including all runtime dependencies from: https://gitee.com/ok-helloworld/vibe-pentestProject Structure
vibe-pentest/
├── scripts/ # Core testing scripts
│ ├── run_katana.py # Crawler wrapper
│ ├── prepare_agent_findings.py # Multi-agent orchestration
│ ├── generate_report.py # Report generation
│ └── ...
├── tools/ # External tools (katana, etc.)
├── workspace/ # Test outputs (created during execution)
│ ├── sessions/ # Browser session data
│ ├── findings/ # Vulnerability findings
│ └── report_result/ # Final reports
└── prompts/ # AI prompt templatesCore Testing Workflow
Vibe Pentest follows a 7-phase workflow:
Phase 0: Fingerprinting
Identify web technologies, frameworks, and server information.
# Example: Running fingerprint detection
import subprocess
import json
result = subprocess.run(
["python", "scripts/fingerprint.py", "--url", "https://example.com"],
capture_output=True,
text=True
)
fingerprint = json.loads(result.stdout)
print(f"Detected: {fingerprint.get('framework')}, {fingerprint.get('server')}")Phase 0.5: Backend Entry Scanning
Scan for admin panels and sensitive endpoints.
Phase 1: Authorization Confirmation
Verify written authorization before proceeding.
Phase 2: Browser Login & Credential Extraction
Launch browser for manual login, extract session cookies/tokens.
# Example: Browser session extraction
from playwright.sync_api import sync_playwright
def extract_session(target_url):
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.goto(target_url)
input("Press Enter after logging in manually...")
# Extract cookies and local storage
cookies = context.cookies()
storage = page.evaluate("() => Object.assign({}, localStorage)")
browser.close()
return {"cookies": cookies, "storage": storage}Phase 3: Katana Crawling
Use Katana crawler to discover all endpoints and parameters.
# Example: Running Katana crawler via script
import subprocess
import time
# Run crawler (must execute outside sandbox)
proc = subprocess.Popen(
["python", "scripts/run_katana.py",
"--url", "https://example.com",
"--cookies", "session=abc123"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
# Monitor for max 20 minutes
timeout = 1200
start_time = time.time()
while proc.poll() is None and (time.time() - start_time) < timeout:
time.sleep(10)
if proc.poll() is None:
proc.terminate()
time.sleep(5) # Wait for results to flush
# Read crawl results
with open("workspace/crawl_summary.json") as f:
crawl_data = json.load(f)Phase 4: Data Cleaning
Process crawler output, deduplicate URLs, extract parameters.
Phase 4.5: Attack Surface Mapping
Map discovered endpoints to vulnerability test categories.
Phase 5: Multi-Agent Parallel Testing
Distribute testing across 6 specialized agents using prepared skeleton files.
# Example: Preparing agent findings skeleton
import subprocess
import json
# Generate skeleton findings for 6 agents
subprocess.run([
"python", "scripts/prepare_agent_findings.py",
"--targets", "workspace/targets.txt",
"--fingerprint", "workspace/fingerprint.json",
"--output", "workspace/findings"
])
# Each agent gets assigned specific test categories:
# Agent 1: Authentication & Authorization
# Agent 2: Injection Attacks (SQLi, XSS, etc.)
# Agent 3: Business Logic & IDOR
# Agent 4: File Upload & Path Traversal
# Agent 5: API Security & Rate Limiting
# Agent 6: Information Disclosure & MisconfigurationsPhase 5.5: Attack Chain Analysis
Identify cross-agent attack chains and compound vulnerabilities.
Phase 5.6: Evidence Verification
Re-verify confirmed vulnerabilities with HTTP evidence.
# Example: Verifying SQLi finding
import httpx
def verify_sqli(endpoint, payload, original_response_time):
# Time-based SQLi verification
url = f"{endpoint}?id={payload}"
start = time.time()
response = httpx.get(url, timeout=30)
elapsed = time.time() - start
if elapsed > original_response_time + 5:
return {
"verified": True,
"method": "GET",
"url": url,
"response_time": elapsed,
"status_code": response.status_code
}
return {"verified": False}Phase 6: Report Generation
Generate comprehensive reports in multiple formats.
# Example: Generating final report
import subprocess
from datetime import datetime
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
subprocess.run([
"python", "scripts/generate_report.py",
"--findings-dir", "workspace/findings",
"--fingerprint", "workspace/fingerprint.json",
"--output-json", f"workspace/report_{timestamp}.json",
"--output-html", f"workspace/report_{timestamp}.html",
"--output-docx", f"workspace/report_{timestamp}.docx"
])Configuration
Environment Variables
# Set custom workspace directory
export VIBE_WORKSPACE="/path/to/workspace"
# Configure crawler timeout (seconds)
export KATANA_TIMEOUT=1200
# Set max concurrent agents
export MAX_AGENTS=6
# Configure LLM provider (for AI agents)
export OPENAI_API_KEY=your_key_here
export ANTHROPIC_API_KEY=your_key_hereTesting Principles
Critical Rules:
- All sub-agents MUST actively investigate, not wait for prompts
- If Katana runs >20 minutes, terminate and collect results
- Test ALL discovered functionality, not just entry points
- Attempt 2-3 bypass techniques on failed tests
- Iron Law: May modify/delete own test data; NEVER modify production data
Common Usage Patterns
Standard Authorized Testing
"""
Complete penetration test workflow with single account
"""
import os
import subprocess
import json
def run_standard_pentest(target_url, auth_statement, account_info):
workspace = "workspace"
os.makedirs(workspace, exist_ok=True)
# Phase 0: Fingerprinting
print("[Phase 0] Fingerprinting...")More from reason-machines
Use this skill in a project
Open any RiverX project, search the Skills panel for reason-machines/security-skills/vibe-pentest-ai-security-testing, and install it in one click.
