semgrep

Run parallel Semgrep static analysis scans and merge findings into SARIF reports.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/TECH-HY/SKILLS --skill semgrep-tech-hy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: semgrep
Source: https://github.com/TECH-HY/SKILLS/tree/main/skills/semgrep
Command: npx skills add https://github.com/TECH-HY/SKILLS --skill semgrep-tech-hy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Running comprehensive Semgrep security scans across multi-language codebases is slow and error-prone when done manually, and default configurations leak telemetry or miss third-party vulnerability rules. This Skill orchestrates language detection, ruleset selection, parallel scanning, and result merging into a controlled workflow. ## Core Features & Use Cases - Parallel multi-language scanning: Detects languages and frameworks, then spawns concurrent scanner subagents for Python, JavaScript/TypeScript, Go, Java, Docker, Terraform, and more. - Two scan modes: "Run all" for full ruleset coverage, or "Important only" for high-confidence security vulnerabilities filtered by severity, confidence, and impact metadata. - Semgrep Pro detection: Automatically checks for Pro availability to enable cross-file taint analysis, and enforces --metrics=off on every command to prevent telemetry leakage. - Merged SARIF output: Consolidates per-ruleset scan results into a single deduplicated results.sarif file using a merge script with a pure-Python fallback. - Use Case: Before a release, ask the agent to audit your repository; it detects a Python/Django and React stack, proposes rulesets including Trail of Bits third-party rules, waits for your approval, then runs all scans in parallel and reports findings by severity and category. ## Quick Start Ask the agent to scan this codebase for security vulnerabilities with Semgrep and approve the proposed scan plan when prompted.

Frequently Asked Questions about semgrep

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

FAQPage Schema
How do I run a Semgrep security scan on a multi-language codebase?

Invoke the skill with a scan request; it detects languages and frameworks, proposes rulesets per language, and spawns parallel scanner subagents after you approve the plan. Results from all rulesets are merged into a single SARIF file in the output directory.

What is the difference between run-all and important-only Semgrep scan modes?

Run-all reports every finding from all rulesets at all severity levels. Important-only pre-filters with --severity MEDIUM/HIGH/CRITICAL and post-filters JSON metadata to keep only security-category findings with medium-high confidence and impact.

Does Semgrep support cross-file taint analysis?

Cross-file taint tracking requires Semgrep Pro, which the skill detects automatically before scanning. In OSS mode, analysis is limited to single files, so the skill notes this limitation and suggests CodeQL as an alternative when Pro is unavailable.

Why does the skill require user approval before scanning?

Step 3 is a hard gate ensuring you review the exact target, engine, scan mode, and ruleset list before execution. The original scan request does not count as approval; you must explicitly confirm or modify the plan first.

When should I not use Semgrep for static analysis?

Avoid it for binary analysis, when a Semgrep CI pipeline already exists, or when you need cross-file analysis without a Pro license. For creating custom rules, use the semgrep-rule-creator skill instead.

How are Semgrep scan results merged into one report?

The merge_sarif.py script combines all per-ruleset SARIF files from the raw output directory, deduplicating findings by rule ID, file URI, and line number. It prefers the SARIF Multitool via npx and falls back to a pure-Python merge.