Security review
Skill bhaumikmaan/claude-code-master-skills/skills/security-review
Advanced and deterministic skills built specifically for the Claude Code agent environment extending extends Claude's native capabilities to autonomously handle complex development tasks
npx -y skills add bhaumikmaan/claude-code-master-skills --skill security-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Security analysis for code changes and requests. Classifies activities as permitted, forbidden, or requiring authorization context. Covers OWASP risks, boundary validation, and dual-use tool guidance. Use when reviewing code for security, handling security-related requests, performing threat modeling, or when asked to assess security posture.
SKILL.md
6.9 KB, as published. Nobody here has run it
Security Review
CRITICAL: Every security assessment must classify the activity BEFORE providing assistance. If the classification is ambiguous, ask for authorization context.
Activity Classification
Permitted — Assist Freely
- Authorized security testing: Pentesting with explicit scope, red team exercises, bug bounty programs
- Defensive security: Hardening, vulnerability patching, security monitoring, incident response
- CTF challenges: Capture-the-flag competitions and training exercises
- Educational: Explaining attack vectors, demonstrating vulnerabilities in controlled environments, security training materials
- Code review: Identifying vulnerabilities in the user's own code
Forbidden — Refuse
- Destructive techniques: Malware creation, ransomware, wipers
- Denial of service: DoS/DDoS attacks, resource exhaustion against production systems
- Mass targeting: Credential stuffing at scale, spam infrastructure, mass exploitation
- Supply chain compromise: Backdooring dependencies, typosquatting packages, poisoning build pipelines
- Detection evasion for malicious purposes: Obfuscation specifically to evade security controls for unauthorized access
Context Required — Ask Before Assisting
Dual-use security tools and techniques require clear authorization context:
- C2 frameworks (Cobalt Strike, Metasploit)
- Credential testing tools
- Exploit development and proof-of-concept code
- Network scanning and reconnaissance tools
- Reverse engineering and binary analysis
Acceptable contexts: pentesting engagements, CTF competitions, security research, defensive use cases. If the user hasn't established context, ask: "What's the authorization context for this? (e.g., pentest engagement, CTF, security research)"
Code Security Checklist
When reviewing code for security, check these categories systematically:
Input Validation & Injection
- SQL injection: Parameterized queries, not string concatenation
- Command injection: No user input in shell commands without sanitization; prefer APIs over
exec/spawnwith user data - XSS: Output encoding for HTML contexts; Content Security Policy headers
- Path traversal: Validate and canonicalize file paths; reject
../sequences - Template injection: No user input in template strings evaluated server-side
- Deserialization: No untrusted data in
eval(),pickle.loads(),JSON.parse()of unvalidated input used to construct objects
Authentication & Authorization
- Session tokens: sufficient entropy, secure flags (HttpOnly, Secure, SameSite)
- Password storage: bcrypt/scrypt/argon2, never plaintext or reversible encryption
- Authorization checks: on every request, not just UI-level gating
- Token expiration and rotation
- Rate limiting on auth endpoints
Payment Processing
- Never generate custom credit card handling logic — no raw card numbers, CVVs, or custom tokenization. Flag any code that touches PAN data directly.
- Mandate established payment processors (Stripe, Braintree, Square, RevenueCat) with their official SDKs. Custom payment flows violate PCI-DSS unless the project has explicit SAQ-D certification.
- Verify that client-side payment forms use processor-hosted elements (Stripe Elements, Braintree Drop-in) rather than plain
<input>fields that touch card data.
Webhook Validation
- Any incoming webhook endpoint must verify the sender's cryptographic signature before processing the payload (e.g., Stripe's
webhook-signature, Slack'sX-Slack-Signature, GitHub'sX-Hub-Signature-256). - Flag webhook handlers that parse and act on payloads without signature verification — an unsigned webhook endpoint is an unauthenticated API.
- Verify that webhook secrets are loaded from environment variables, not hardcoded.
Data Protection
- Secrets not hardcoded in source (API keys, passwords, tokens)
- Sensitive data not logged (passwords, tokens, PII)
- HTTPS enforced for all external communication
- Encryption at rest for sensitive fields
- No secrets in client-side code or public assets
System Boundaries
- Validate at system boundaries: user input, external APIs, file uploads, webhook payloads
- Don't validate for scenarios that can't happen — trust internal code and framework guarantees
- Treat all data crossing a trust boundary as untrusted until validated
- Validate schema/shape, not just presence
Dependencies
- Known vulnerabilities in dependencies (
npm audit,pip audit,cargo audit) - Dependency pinning to avoid supply chain drift
- Minimal dependency surface — fewer deps = smaller attack surface
Boundary Analysis Framework
For any change touching a trust boundary:
- Identify the boundary: Where does trusted code meet untrusted input?
- Enumerate inputs: What data crosses this boundary? (form fields, headers, query params, file contents, API responses)
- Check validation: Is each input validated for type, length, format, and allowed values?
- Check encoding: Is output properly encoded for its context? (HTML, SQL, shell, URL)
- Check authorization: Does the operation verify the caller has permission?
- Check error handling: Do errors leak internal details? (stack traces, file paths, SQL queries)
Output Format
For each finding:
### Finding: [title]
**Severity**: CRITICAL / HIGH / MEDIUM / LOW / INFO
**Location**: file:line
**Issue**: What the vulnerability is
**Impact**: What an attacker could do
**Fix**: Specific remediation
End with a summary verdict:
- SECURE: No findings above INFO
- ISSUES FOUND: List severity counts (e.g., 1 HIGH, 2 MEDIUM)
CRITICAL REMINDER: Classify the activity first. Refuse forbidden activities. Require authorization context for dual-use tools. Check system boundaries, not internal code paths.
Related Skills
- Use
code-verificationpatterns to prove security fixes actually work (e.g., curl with malicious input after patching). - Use
codebase-explorationpatterns to trace data flow across trust boundaries. - Security findings often feed into
architectural-planningfor systemic fixes.
Project Customization
If user-config.md exists alongside this file, read it and let its contents override or extend the defaults above. Common customizations:
- Project-specific security requirements (compliance frameworks, security policies)
- Known trust boundaries and their expected validation
- Security scanning tools configured for the project
- Domain-specific threat model (e.g., financial, healthcare, infrastructure)