rune-sast

Runs ESLint, Semgrep, Bandit, Clippy, and govulncheck with unified severity reporting.

1|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/dangvu008/VietTruyen --skill rune-sast-dangvu008
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rune-sast
Source: https://github.com/dangvu008/VietTruyen/tree/main/.agents/skills/rune-sast
Command: npx skills add https://github.com/dangvu008/VietTruyen --skill rune-sast-dangvu008

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Regex-based pattern matching misses subtle vulnerabilities like tainted data flowing through multiple function calls or unsafe deserialization behind wrappers. This Skill runs dedicated static analysis tools that understand data flow and language-specific vulnerability patterns, then normalizes their disparate outputs into one actionable report. ## Core Features & Use Cases - Multi-Tool Orchestration: Automatically detects project language from config files (package.json, pyproject.toml, Cargo.toml, go.mod) and runs all applicable analyzers including ESLint, Bandit, Semgrep, Clippy, and govulncheck. - Unified Severity Normalization: Maps every tool's output to a consistent BLOCK/WARN/INFO severity scale so findings are comparable across languages and tools. - Graceful Tool Handling: Skips missing tools with explicit install instructions instead of failing silently, and reports full tool coverage transparency. - Use Case: Before merging an authentication module, run a SAST scan to catch SQL injection via string formatting in Python, unverified JWT usage in TypeScript, and known vulnerable dependencies in Go, all in one consolidated report. ## Quick Start Run a static analysis scan on my changed files and report any security findings by severity.

Frequently Asked Questions about rune-sast

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run static security analysis on my code?

Invoke the SAST scan on changed files or the full project. It detects your language from config files like package.json or pyproject.toml, runs all available analyzers such as ESLint, Bandit, or Semgrep, and returns findings normalized to BLOCK, WARN, and INFO severities.

What is the difference between SAST tools and regex-based security scanning?

Regex scanning catches obvious patterns like hardcoded secrets or SQL string concatenation. SAST tools like Semgrep and Bandit understand data flow and taint tracking, catching subtle issues like tainted data flowing through multiple function calls into a sink.

Which static analysis tools work for Python security scanning?

Bandit is the primary Python security scanner, run with medium-plus severity filtering in JSON mode. Ruff with security rules serves as a fallback, and Semgrep provides additional cross-language pattern analysis when installed.

What happens if a static analysis tool is not installed?

The scan marks missing tools as SKIP with an explicit install instruction rather than failing. It continues with whatever tools are available and reports full tool coverage so you know exactly what ran and what was skipped.

Does Semgrep analysis work for all programming languages?

Semgrep runs regardless of the primary language when installed, using community rules with cross-language support. Output is filtered to ERROR and WARNING severities to reduce noise from informational findings.

When should I use deep static analysis instead of lint checks?

Use deep static analysis for security-sensitive code paths such as authentication, cryptography, and payments, or when a review flags suspicious patterns. Standard lint and type checks cover correctness but not taint flow or vulnerability patterns.