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:
Guide
Contents
OWASP ZAP (DAST)
OWASP ZAP (DAST)
SQL Injection Testing
SQL Injection Testing
XSS Testing
XSS Testing
Authentication & Authorization Testing
Authentication & Authorization Testing
CSRF Protection Testing
CSRF Protection Testing
Dependency Vulnerability Scanning
Dependency Vulnerability Scanning
Security Headers Testing
Security Headers Testing
Secrets Detection
Secrets 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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: aj-geddes-useful-ai-prompts-security-testing3description: Security Testing4---56# Security Testing78## Table of Contents910- [Overview](#overview)11- [When to Use](#when-to-use)12- [Quick Start](#quick-start)13- [Reference Guides](#reference-guides)14- [Best Practices](#best-practices)1516## Overview1718Security 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.1920## When to Use2122- Testing for OWASP Top 10 vulnerabilities23- Scanning dependencies for known vulnerabilities24- Testing authentication and authorization25- Validating input sanitization26- Testing API security27- Checking for sensitive data exposure28- Validating security headers29- Testing session management3031## Quick Start3233Minimal working example:3435```python36# security_scan.py37from zapv2 import ZAPv238import time3940class SecurityScanner:41 def __init__(self, target_url, api_key=None):42 self.zap = ZAPv2(apikey=api_key, proxies={43 'http': 'http://localhost:8080',44 'https': 'http://localhost:8080'45 })46 self.target = target_url4748 def scan(self):49 """Run full security scan."""50 print(f"Scanning {self.target}...")5152 # Spider the application53 print("Spidering...")54 scan_id = self.zap.spider.scan(self.target)55 while int(self.zap.spider.status(scan_id)) < 100:56 time.sleep(2)57 print(f"Spider progress: {self.zap.spider.status(scan_id)}%")5859 # Active scan60 print("Running active scan...")61// ... (see reference guides for full implementation)62```6364## Reference Guides6566Detailed implementations in the `references/` directory:6768| Guide | Contents |69|---|---|70| [OWASP ZAP (DAST)](references/owasp-zap-dast.md) | OWASP ZAP (DAST) |71| [SQL Injection Testing](references/sql-injection-testing.md) | SQL Injection Testing |72| [XSS Testing](references/xss-testing.md) | XSS Testing |73| [Authentication & Authorization Testing](references/authentication-authorization-testing.md) | Authentication & Authorization Testing |74| [CSRF Protection Testing](references/csrf-protection-testing.md) | CSRF Protection Testing |75| [Dependency Vulnerability Scanning](references/dependency-vulnerability-scanning.md) | Dependency Vulnerability Scanning |76| [Security Headers Testing](references/security-headers-testing.md) | Security Headers Testing |77| [Secrets Detection](references/secrets-detection.md) | Secrets Detection |7879## Best Practices8081### ✅ DO8283- Run security scans in CI/CD84- Test with real attack vectors85- Scan dependencies regularly86- Use security headers87- Implement rate limiting88- Validate and sanitize all input89- Use parameterized queries90- Test authentication/authorization thoroughly9192### ❌ DON'T9394- Store secrets in code95- Trust user input96- Expose detailed error messages97- Skip dependency updates98- Use default credentials99- Ignore security warnings100- Test only happy paths101- Commit sensitive data102103---104> Converted and distributed by [TomeVault](https://tomevault.io/claim/aj-geddes) — claim your Tome and manage your conversions.105<!-- tomevault:4.0:skill_md:2026-04-11 -->
Run npx skillmds@latest add tomevault-io/aj-geddes-useful-ai-prompts-security-testing in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Security Testing It is listed under Security on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.