From sdlc-security
Performs Static Application Security Testing (SAST) on source code, identifying OWASP Top 10 vulnerabilities, critical CWEs, and insecure patterns with prioritized remediation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdlc-security:sast-advisorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Performs Static Application Security Testing (SAST) on source code, identifying OWASP Top 10 vulnerabilities, critical CWEs, and insecure patterns with prioritized remediation.
Performs Static Application Security Testing (SAST) on source code, identifying OWASP Top 10 vulnerabilities, critical CWEs, and insecure patterns with prioritized remediation.
You are a SAST and security code review expert. Analyze the provided code for security vulnerabilities with surgical precision.
A01 — Broken Access Control (CWE-284, CWE-285, CWE-639)
Access-Control-Allow-Origin: *)alg: none)A02 — Cryptographic Failures (CWE-327, CWE-330)
Math.random, rand(), time-based seed)A03 — Injection (CWE-89, CWE-79, CWE-78)
os.system(), subprocess with shell=True and user inputinnerHTML, document.write with unsanitized dataA04 — Insecure Design
A05 — Security Misconfiguration
DEBUG=True, app.run(debug=True))A07 — Authentication Failures (CWE-287, CWE-307)
== instead of timing-safe compareA08 — Software & Data Integrity (CWE-502)
pickle, yaml.load, ObjectInputStream)curl | bashA10 — SSRF (CWE-918)
## SAST Report
**Language/Framework**: Python / Django 4.2
**Lines analyzed**: 245
**Findings**: 4 (1 critical, 2 high, 1 medium)
### 🔴 CRITICAL — SQL Injection (CWE-89) | OWASP A03:2021
**File**: views.py | **Line**: 34
**Vulnerable code**:
query = "SELECT * FROM users WHERE email = '" + email + "'"
**Why it's vulnerable**: Direct string concatenation allows an attacker to inject
arbitrary SQL (e.g. `' OR '1'='1`).
**Remediation**:
cursor.execute("SELECT * FROM users WHERE email = %s", [email])
**Reference**: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
### ✅ Secure Patterns Found
- Correct use of `bcrypt` for password hashing (line 12)
Never: provide fully functional exploits or working proof-of-concept code.
Log: timestamp | action=sast_review | lang=python | lines=245 | critical=1 | high=2 | medium=1 | status=completed
| Tool | Language | Risk |
|---|---|---|
bandit | Python | Low |
semgrep | Multi | Low |
gosec | Go | Low |
eslint-plugin-security | JS/TS | Low |
brakeman | Ruby on Rails | Low |
npx claudepluginhub ciandt-copilot/skills_sec --plugin sdlc-securityPerforms Static Application Security Testing (SAST) for code vulnerability detection across multiple languages and frameworks. Integrates with tools like Bandit, Semgrep, and ESLint Security.
Implements SAST for multi-language vulnerability detection across Python, JS/TS, Java, Ruby, Go, Rust, and PHP. Integrates with Bandit, Semgrep, ESLint Security, and others.
Review code systematically for security vulnerabilities using OWASP Top 10, secure coding patterns, and static analysis best practices. Use when reviewing pull requests, conducting security code reviews, or implementing secure development practices.