Help us improve
Share bugs, ideas, or general feedback.
From playbooks-virtuoso
Guides application security reviews and implementation covering OWASP Top 10, input validation, auth, secrets management, and antipatterns.
npx claudepluginhub krzysztofsurdy/code-virtuoso --plugin agents-virtuosoHow this skill is triggered — by the user, by Claude, or both
Slash command
/playbooks-virtuoso:securityThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Security is not a feature — it is a property of every feature. Every endpoint, every form, every data flow, every integration point must be designed with security in mind from the start. Bolting security on after the fact is expensive, error-prone, and often incomplete.
Provides OWASP Top 10 guidelines, secure Python/Flask coding patterns, prevention strategies, and remediation for access control and cryptographic vulnerabilities.
Hardens code against vulnerabilities with OWASP Top 10 prevention patterns. Validates input, parameterizes queries, sets security headers, and enforces authentication best practices.
Guides secure backend coding with expertise in input validation, authentication, API security, and vulnerability prevention. Activate for security implementations or code reviews.
Share bugs, ideas, or general feedback.
Security is not a feature — it is a property of every feature. Every endpoint, every form, every data flow, every integration point must be designed with security in mind from the start. Bolting security on after the fact is expensive, error-prone, and often incomplete.
This skill provides stack-agnostic guidance for building secure applications. It covers the OWASP Top 10, input validation, authentication and authorization patterns, data protection, secrets management, security headers, and common antipatterns.
Consult this skill when:
The OWASP Top 10 (2021 edition) represents the most critical security risks to web applications. Use this as a starting checklist — not an exhaustive list.
| # | Vulnerability | What It Is | Primary Defense |
|---|---|---|---|
| A01 | Broken Access Control | Users act outside intended permissions | Deny by default, enforce server-side |
| A02 | Cryptographic Failures | Sensitive data exposed due to weak/missing crypto | Use strong algorithms, encrypt in transit and at rest |
| A03 | Injection | Untrusted data sent to interpreter as part of a command/query | Parameterized queries, input validation |
| A04 | Insecure Design | Missing or ineffective security controls by design | Threat modeling, secure design patterns |
| A05 | Security Misconfiguration | Insecure default configs, incomplete setup | Hardened defaults, automated config validation |
| A06 | Vulnerable Components | Using components with known vulnerabilities | Dependency scanning, timely updates |
| A07 | Auth Failures | Broken authentication/identification | MFA, rate limiting, secure password storage |
| A08 | Integrity Failures | Code/data integrity not verified | Signed updates, CI/CD integrity checks |
| A09 | Logging Failures | Insufficient logging and monitoring | Log security events, set up alerting |
| A10 | SSRF | Server tricked into making unintended requests | Allowlist destinations, sanitize URLs |
Input validation is the first line of defense. Validate at every system boundary — not just at the UI.
Core principles:
Type coercion dangers:
Loose type comparisons can bypass security checks. A string "0" might equal integer 0 or boolean false depending on the language. Always use strict comparison operators and explicit type casting.
Parameterized queries:
Never concatenate user input into SQL, LDAP, or OS commands. Always use parameterized queries or prepared statements. This applies to ORMs too — raw query methods bypass ORM protections. See secure coding reference for details.
Authentication verifies identity — "who are you?" See auth patterns reference for detailed guidance.
Password hashing:
Multi-factor authentication (MFA):
Session management:
HttpOnly, Secure, SameSite=Lax (or Strict)Token-based auth (JWT caveats):
alg: noneOAuth2 flows:
Authorization determines permissions — "what are you allowed to do?" Authorization is not authentication. See auth patterns reference for details.
Principle of least privilege:
Role-Based Access Control (RBAC):
Attribute-Based Access Control (ABAC):
Common authorization mistakes:
Encryption at rest:
Encryption in transit:
PII handling:
Secure deletion:
Never in code or config files:
.gitignore for local config files, but do not rely on it as your only protectionEnvironment variables:
Secret managers:
Rotation strategy:
Configure these HTTP response headers on every response. Each addresses a specific class of attack.
| Header | Purpose | Recommended Value |
|---|---|---|
Content-Security-Policy (CSP) | Prevents XSS by controlling which sources can load content | Start with a restrictive policy; avoid unsafe-inline and unsafe-eval |
Strict-Transport-Security (HSTS) | Forces HTTPS for all future requests | max-age=63072000; includeSubDomains; preload |
X-Content-Type-Options | Prevents MIME-type sniffing | nosniff |
X-Frame-Options | Prevents clickjacking by controlling iframe embedding | DENY or SAMEORIGIN |
Referrer-Policy | Controls how much referrer info is sent | strict-origin-when-cross-origin |
Permissions-Policy | Controls browser features (camera, mic, geolocation) | Disable features you do not use |
CORS (Cross-Origin Resource Sharing):
Access-Control-Allow-Origin: * for authenticated endpointsAccess-Control-Allow-Methods and Access-Control-Allow-HeadersThese are frequently encountered mistakes that create vulnerabilities:
Access-Control-Allow-Origin: * combined with credentials is a vulnerability. Be specific about allowed origins.Use this checklist when reviewing code, designing features, or preparing for release:
Input/Output:
Authentication:
Authorization:
Data:
Configuration:
Monitoring: