Skip to content
Security
Skill

/sast-lite

Static security analysis for Python source via AST walking — finds command injection, insecure deserialization, eval/exec, weak crypto, SQL injection, disabled TLS verification, hardcoded secrets and more, each tagged with a CWE. Use when the user asks to "audit this code for

From plugin
claude-security-skills
118 skills
Install
$ npx -y skills add NovaCode37/claude-security-skills --skill sast-lite --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sast-lite

Context preview

The summary Claude sees to decide when to auto-load this skill.

Static security analysis for Python source via AST walking — finds command injection, insecure deserialization, eval/exec, weak crypto, SQL injection, disabled TLS verification, hardcoded secrets and more, each tagged with a CWE. Use when the user asks to "audit this code for

SKILL.md

sast-lite.SKILL.md
name: sast-lite
description: >-
  Static security analysis for Python source via AST walking — finds command
  injection, insecure deserialization, eval/exec, weak crypto, SQL injection,
  disabled TLS verification, hardcoded secrets and more, each tagged with a
  CWE. Use when the user asks to "audit this code for vulnerabilities", "run a
  SAST scan", "security review this Python file", or before merging untrusted
  code.
license: MIT

SAST Lite

An AST-based static analyzer for Python. Instead of fragile regex matching, it parses each file into an abstract syntax tree and inspects how dangerous APIs are actually called — so `subprocess.run(cmd, shell=True)` is flagged while `subprocess.run(["ls"])` is not. **No third-party dependencies.**

When to use this skill

  • "Audit / security-review this Python code."
  • "Run a SAST scan on the project."
  • Reviewing a PR or untrusted snippet before running it.
  • A pre-merge CI gate for security regressions.

What it detects

| Rule | CWE | Severity | |------|-----|----------| | `eval()` / `exec()` on dynamic input | CWE-95 | critical/high | | `os.system` / `subprocess(shell=True)` | CWE-78 | high | | `pickle`/`marshal` deserialization | CWE-502 | high | | `yaml.load` without SafeLoader | CWE-20 | high | | SQL via f-string / concat / `.format` / `%` | CWE-89 | high | | `requests(verify=False)` | CWE-295 | high | | Hardcoded password/secret literal | CWE-798 | high | | Weak hash (md5/sha1) | CWE-327 | medium | | `tempfile.mktemp` | CWE-377 | medium | | `Flask(debug=True)` | CWE-489 | medium | | Jinja2 `autoescape=False` | CWE-79 | medium | | `assert` used for a security check | CWE-617 | medium |

How to run it

# Scan a directory
python skills/sast-lite/analyzer.py src/

# JSON for tooling / CI
python skills/sast-lite/analyzer.py . --json

# Only show high+ severity
python skills/sast-lite/analyzer.py . --min-severity high

**Exit codes:** `0` clean · `1` issues found · `2` usage/parse error — ready for CI gating.

Recommended workflow for Claude

1. Run with `--json` and parse the issue list. 2. For each issue, open `path:line` and confirm the data flow is genuinely attacker-controllable (the analyzer is intra-procedural, so it may flag patterns that are safe in context). 3. Propose a concrete fix per finding — e.g. parameterized queries for `py.sql-injection`, `yaml.safe_load` for `py.yaml-load`, list-form `subprocess` calls for `py.subprocess-shell`. 4. Summarize by severity and CWE.

Limitations

This is a *lite* analyzer: single-file, no cross-function taint tracking. It is designed for fast, high-signal triage — not a replacement for a full SAST suite. Treat findings as leads to verify, not automatic verdicts.

Read more
Ships withclaude-security-skills

Security skills for Claude Code. Install them once and ask Claude, in plain language, to scan a repo for leaked secrets, review Python code, red-team an LLM for prompt injection, or audit HTTP headers, JWTs, Dockerfiles, CORS, and dependencies.

Get the whole plugin
Stats
11
Stars
6
Forks
Active
Maintenance
Python
Language
MIT
License
6d ago
Last commit
3mo ago
Created

Repo: NovaCode37/claude-security-skills

Other skills on claude-security-skills.