agentsclimarketplace

Sast lite

Skill NovaCode37/claude-security-skills/skills/sast-lite

Production-ready Claude Code skills for cybersecurity — secret scanning, SAST, prompt-injection testing, HTTP/JWT/dependency auditing. Zero dependencies.

Install
npx -y skills add NovaCode37/claude-security-skills --skill sast-lite

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 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

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.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

2.7 KB, as published. Nobody here has run it

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

RuleCWESeverity
eval() / exec() on dynamic inputCWE-95critical/high
os.system / subprocess(shell=True)CWE-78high
pickle/marshal deserializationCWE-502high
yaml.load without SafeLoaderCWE-20high
SQL via f-string / concat / .format / %CWE-89high
requests(verify=False)CWE-295high
Hardcoded password/secret literalCWE-798high
Weak hash (md5/sha1)CWE-327medium
tempfile.mktempCWE-377medium
Flask(debug=True)CWE-489medium
Jinja2 autoescape=FalseCWE-79medium
assert used for a security checkCWE-617medium

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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.