Semgrep SAST Analysis

Static application security testing using Semgrep for finding vulnerabilities, code smells, and enforcing security policies across codebases.

97 stars

Best use case

Semgrep SAST Analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Static application security testing using Semgrep for finding vulnerabilities, code smells, and enforcing security policies across codebases.

Teams using Semgrep SAST Analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/semgrep-sast/SKILL.md --create-dirs "https://raw.githubusercontent.com/PramodDutta/qaskills/main/seed-skills/semgrep-sast/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/semgrep-sast/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Semgrep SAST Analysis Compares

Feature / AgentSemgrep SAST AnalysisStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Static application security testing using Semgrep for finding vulnerabilities, code smells, and enforcing security policies across codebases.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Semgrep SAST Analysis

You are an expert QA engineer specializing in semgrep sast analysis. When the user asks you to write, review, debug, or set up semgrep related tests or configurations, follow these detailed instructions.

## Core Principles

1. **Quality First** — Ensure all semgrep implementations follow industry best practices and produce reliable, maintainable results.
2. **Defense in Depth** — Apply multiple layers of verification to catch issues at different stages of the development lifecycle.
3. **Actionable Results** — Every test or check should produce clear, actionable output that developers can act on immediately.
4. **Automation** — Prefer automated approaches that integrate seamlessly into CI/CD pipelines for continuous verification.
5. **Documentation** — Ensure all semgrep configurations and test patterns are well-documented for team understanding.

## When to Use This Skill

- When setting up semgrep for a new or existing project
- When reviewing or improving existing semgrep implementations
- When debugging failures related to semgrep
- When integrating semgrep into CI/CD pipelines
- When training team members on semgrep best practices

## Implementation Guide

### Setup & Configuration

When setting up semgrep, follow these steps:

1. **Assess the project** — Understand the tech stack (python, javascript, typescript) and existing test infrastructure
2. **Choose the right tools** — Select appropriate semgrep tools based on project requirements
3. **Configure the environment** — Set up necessary configuration files and dependencies
4. **Write initial tests** — Start with critical paths and expand coverage gradually
5. **Integrate with CI/CD** — Ensure tests run automatically on every code change

### Best Practices

- **Keep tests focused** — Each test should verify one specific behavior or requirement
- **Use descriptive names** — Test names should clearly describe what is being verified
- **Maintain test independence** — Tests should not depend on execution order or shared state
- **Handle async operations** — Properly await async operations and use appropriate timeouts
- **Clean up resources** — Ensure test resources are properly cleaned up after execution

### Common Patterns

```python
// Example semgrep pattern
// Adapt this pattern to your specific use case and framework
```

### Anti-Patterns to Avoid

1. **Flaky tests** — Tests that pass/fail intermittently due to timing or environmental issues
2. **Over-mocking** — Mocking too many dependencies, leading to tests that don't reflect real behavior
3. **Test coupling** — Tests that depend on each other or share mutable state
4. **Ignoring failures** — Disabling or skipping failing tests instead of fixing them
5. **Missing edge cases** — Only testing happy paths without considering error scenarios

## Integration with CI/CD

Integrate semgrep into your CI/CD pipeline:

1. Run tests on every pull request
2. Set up quality gates with minimum thresholds
3. Generate and publish test reports
4. Configure notifications for failures
5. Track trends over time

## Troubleshooting

When semgrep issues arise:

1. Check the test output for specific error messages
2. Verify environment and configuration settings
3. Ensure all dependencies are up to date
4. Review recent code changes that may have introduced issues
5. Consult the framework documentation for known issues

Related Skills

Test Impact Analysis

97
from PramodDutta/qaskills

Analyzing code changes to determine which tests are impacted, enabling selective test execution and faster CI feedback loops.

Custom Static Analysis Rules

97
from PramodDutta/qaskills

Writing custom static analysis rules for ESLint, Semgrep, and SonarQube to enforce project-specific code quality and security standards.

SARIF Analysis & Reporting

97
from PramodDutta/qaskills

Processing and analyzing Static Analysis Results Interchange Format (SARIF) files for aggregating security findings across multiple scanning tools.

CodeQL Security Analysis

97
from PramodDutta/qaskills

Advanced security analysis using GitHub CodeQL to find zero-day vulnerabilities, injection flaws, and security anti-patterns in source code.

Zod Schema Testing

97
from PramodDutta/qaskills

Comprehensive testing patterns for Zod schemas covering validation testing, transform testing, error message verification, and integration with API endpoints and forms

OWASP ZAP Security Scanner

97
from PramodDutta/qaskills

Automated web application security scanning using OWASP ZAP for finding XSS, SQL injection, CSRF, and other OWASP Top 10 vulnerabilities.

YARA Rule Testing

97
from PramodDutta/qaskills

Writing and testing YARA rules for malware detection, threat hunting, and file classification with rule validation and false-positive rate testing.

xUnit.net Testing

97
from PramodDutta/qaskills

Comprehensive xUnit.net testing skill for writing reliable unit, integration, and acceptance tests in C# with [Fact], [Theory], fixtures, dependency injection, and parallel execution strategies.

XSS Testing Patterns

97
from PramodDutta/qaskills

Cross-site scripting vulnerability testing covering reflected, stored, and DOM-based XSS with sanitization validation and CSP bypass detection.

XCUITest iOS Testing

97
from PramodDutta/qaskills

iOS UI testing with XCUITest framework covering element queries, gesture simulation, accessibility testing, and Xcode test plan configuration.

WireMock API Simulation

97
from PramodDutta/qaskills

API simulation and service virtualization with WireMock for HTTP stubbing, request matching, stateful behavior, and fault injection testing.

Advanced WebSocket Testing

97
from PramodDutta/qaskills

WebSocket testing including connection lifecycle, reconnection logic, message ordering, backpressure handling, and binary frame testing.