Install
openclaw skills install web-security-pentest-skill-completeAutomates web security penetration testing by performing reconnaissance, vulnerability scanning, exploitation, and generating detailed compliance reports.
openclaw skills install web-security-pentest-skill-completeA comprehensive web security penetration testing skill for OpenClaw agents. This skill provides automated tools and techniques for identifying, exploiting, and reporting web application vulnerabilities.
# Debian/Ubuntu
sudo apt update
sudo apt install -y nmap nikto sqlmap gobuster subfinder whatweb curl wget
# macOS
brew install nmap nikto sqlmap gobuster subfinder whatweb curl wget
# Python libraries
pip install requests beautifulsoup4 scapy colorama
# Clone or copy the skill to your OpenClaw skills directory
cp -r web-security-pentest-skill ~/.openclaw/skills/
# Run full penetration test
python scripts/full_pentest.py --target https://example.com
# Run specific test
python scripts/sql_injection_test.py --url https://example.com/login
# Generate report
python scripts/report_generator.py --input scan_results.json --output report.html
# Help menu
python scripts/web_pentest.py --help
# Scan single target
python scripts/web_pentest.py --target https://example.com --scan-type full
# Scan multiple targets
python scripts/web_pentest.py --targets targets.txt --scan-type quick
# Custom output
python scripts/web_pentest.py --target https://example.com --output json --verbose
config.yaml)# Scanning configuration
scanning:
threads: 10
timeout: 30
user_agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
# Vulnerability detection
vulnerabilities:
sql_injection: true
xss: true
command_injection: true
directory_traversal: true
file_inclusion: true
# Reporting
reporting:
format: html
include_poc: true
risk_level: medium
compliance: [pci_dss, gdpr]
# Target scope
scope:
include_subdomains: true
max_depth: 3
excluded_paths: [/logout, /admin/delete]
from scripts.web_pentest import WebPentest
# Initialize scanner
scanner = WebPentest(target="https://example.com")
# Run reconnaissance
scanner.reconnaissance()
# Run vulnerability scan
scanner.vulnerability_scan()
# Test for specific vulnerabilities
scanner.test_sql_injection()
scanner.test_xss()
scanner.test_command_injection()
# Generate report
scanner.generate_report(format="html", output="report.html")
from scripts.api_security_tester import APISecurityTester
# Initialize API tester
tester = APISecurityTester(api_url="https://api.example.com")
# Test authentication
tester.test_authentication()
# Test authorization
tester.test_authorization()
# Test input validation
tester.test_input_validation()
# Test rate limiting
tester.test_rate_limiting()
# Generate API security report
tester.generate_api_report()
from scripts.payload_tester import PayloadTester
# Initialize payload tester
tester = PayloadTester(target_url="https://example.com/search")
# Test SQL injection payloads
sql_payloads = [
"' OR '1'='1",
"'; DROP TABLE users; --",
"1' AND SLEEP(5) --"
]
tester.test_sql_payloads(sql_payloads)
# Test XSS payloads
xss_payloads = [
"<script>alert('XSS')</script>",
"<img src=x onerror=alert('XSS')>",
"<svg onload=alert('XSS')>"
]
tester.test_xss_payloads(xss_payloads)
# Test command injection payloads
cmd_payloads = [
"; ls -la",
"| cat /etc/passwd",
"`id`"
]
tester.test_command_payloads(cmd_payloads)
# GitHub Actions
name: Security Scan
on: [push, pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Security Scan
run: |
pip install -r requirements.txt
python scripts/web_pentest.py --target ${{ secrets.TARGET_URL }} --scan-type quick
from scripts.slack_notifier import SlackNotifier
# Initialize Slack notifier
slack = SlackNotifier(webhook_url="SLACK_WEBHOOK_URL")
# Send scan results
slack.send_scan_results(scan_results)
# Send critical alerts
slack.send_critical_alert(vulnerability)
# Send daily summary
slack.send_daily_summary()
from scripts.jira_integration import JiraIntegration
# Initialize Jira integration
jira = JiraIntegration(
url="JIRA_URL",
username="JIRA_USERNAME",
api_key="JIRA_API_KEY"
)
# Create vulnerability ticket
jira.create_vulnerability_ticket(
project="SEC",
summary="SQL Injection Vulnerability",
description=vulnerability_details,
priority="High"
)
# Update ticket status
jira.update_ticket_status(ticket_id="SEC-123", status="In Progress")
# Increase timeout
python scripts/web_pentest.py --target https://example.com --timeout 60
# Use proxy
python scripts/web_pentest.py --target https://example.com --proxy http://proxy:8080
# Reduce threads
python scripts/web_pentest.py --target https://example.com --threads 5
# Add delays
python scripts/web_pentest.py --target https://example.com --delay 2
# Tune detection
python scripts/web_pentest.py --target https://example.com --confidence 0.8
# Exclude paths
python scripts/web_pentest.py --target https://example.com --exclude /static/, /images/
# Enable debug mode
python scripts/web_pentest.py --target https://example.com --debug
# Verbose output
python scripts/web_pentest.py --target https://example.com --verbose
# Log to file
python scripts/web_pentest.py --target https://example.com --log-file scan.log
This skill is licensed under the MIT License. See LICENSE file for details.
This tool is for educational and authorized testing purposes only. The developers are not responsible for any misuse or damage caused by this tool. Always obtain proper authorization before testing any system.
Author: Security Research Team
Version: 1.0.0
Last Updated: 2024-01-01
Website: https://security-pentest.com