Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aj-geddes avatar

Security Testing

  • 548 installs
  • 305 repo stars
  • Updated March 4, 2026
  • aj-geddes/useful-ai-prompts

security-testing is a Claude Code skill that guides SAST, DAST, dependency scanning, and OWASP Top 10 checks for developers who need to find web application vulnerabilities before shipping.

About

security-testing is a security agent skill from aj-geddes/useful-ai-prompts that structures vulnerability discovery through static analysis, dynamic analysis, penetration testing workflows, and dependency scanning. It activates on security test, OWASP, SQL injection, XSS, CSRF, and penetration testing requests, helping agents surface common web flaws and third-party package risks before production. Developers invoke security-testing during pre-release hardening when automated scanners and manual test plans must align with OWASP guidance and data-protection requirements. The skill packages reference guides and best practices so agents produce actionable findings instead of generic security reminders.

  • Combines SAST, DAST, dependency scanning and penetration testing in one agent skill
  • Covers OWASP Top 10, SQL injection, XSS, CSRF, authentication flaws and sensitive data exposure
  • Runs automated scans plus guided manual validation steps
  • Produces prioritized vulnerability reports with severity levels
  • Hard-gate: never ship code that fails critical or high severity checks

Security Testing by the numbers

  • 548 all-time installs (skills.sh)
  • Ranked #499 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill security-testing

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs548
repo stars305
Last updatedMarch 4, 2026
Repositoryaj-geddes/useful-ai-prompts

How do you run OWASP security tests before shipping a web app?

Automatically surface OWASP Top 10 issues, dependency vulnerabilities, and common web flaws before shipping.

Who is it for?

Developers preparing web applications for release who need agent-driven SAST, DAST, dependency scans, and OWASP Top 10 coverage.

Skip if: Production incident response, compliance certification projects alone, or teams already running a fully automated CI security pipeline without agent assistance.

When should I use this skill?

The user requests security testing, vulnerability scanning, OWASP review, penetration testing, or SQL injection and XSS checks.

What you get

Vulnerability findings list, SAST and DAST scan notes, dependency audit results, and remediation guidance.

  • Vulnerability report
  • Scan command outputs
  • Remediation checklist

By the numbers

  • Targets OWASP Top 10 vulnerability categories

Files

SKILL.mdMarkdownGitHub ↗

Security Testing

Table of Contents

Overview

Security testing identifies vulnerabilities, weaknesses, and threats in applications to ensure data protection, prevent unauthorized access, and maintain system integrity. It combines automated scanning (SAST, DAST) with manual penetration testing and code review.

When to Use

  • Testing for OWASP Top 10 vulnerabilities
  • Scanning dependencies for known vulnerabilities
  • Testing authentication and authorization
  • Validating input sanitization
  • Testing API security
  • Checking for sensitive data exposure
  • Validating security headers
  • Testing session management

Quick Start

Minimal working example:

# security_scan.py
from zapv2 import ZAPv2
import time

class SecurityScanner:
    def __init__(self, target_url, api_key=None):
        self.zap = ZAPv2(apikey=api_key, proxies={
            'http': 'http://localhost:8080',
            'https': 'http://localhost:8080'
        })
        self.target = target_url

    def scan(self):
        """Run full security scan."""
        print(f"Scanning {self.target}...")

        # Spider the application
        print("Spidering...")
        scan_id = self.zap.spider.scan(self.target)
        while int(self.zap.spider.status(scan_id)) < 100:
            time.sleep(2)
            print(f"Spider progress: {self.zap.spider.status(scan_id)}%")

        # Active scan
        print("Running active scan...")
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
OWASP ZAP (DAST)OWASP ZAP (DAST)
SQL Injection TestingSQL Injection Testing
XSS TestingXSS Testing
Authentication & Authorization TestingAuthentication & Authorization Testing
CSRF Protection TestingCSRF Protection Testing
Dependency Vulnerability ScanningDependency Vulnerability Scanning
Security Headers TestingSecurity Headers Testing
Secrets DetectionSecrets Detection

Best Practices

✅ DO

  • Run security scans in CI/CD
  • Test with real attack vectors
  • Scan dependencies regularly
  • Use security headers
  • Implement rate limiting
  • Validate and sanitize all input
  • Use parameterized queries
  • Test authentication/authorization thoroughly

❌ DON'T

  • Store secrets in code
  • Trust user input
  • Expose detailed error messages
  • Skip dependency updates
  • Use default credentials
  • Ignore security warnings
  • Test only happy paths
  • Commit sensitive data

Related skills

FAQ

What testing methods does security-testing cover?

security-testing covers SAST, DAST, manual penetration testing workflows, and dependency scanning. Agents use these methods to identify weaknesses threatening data protection and unauthorized access before release.

Which vulnerability classes does security-testing emphasize?

security-testing emphasizes OWASP Top 10 issues including SQL injection, XSS, and CSRF alongside dependency vulnerabilities. Triggers include security test, vulnerability scanning, and penetration testing requests.

Securityauditappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.