SAST Configuration

VerifiedCaution

Static Application Security Testing (SAST) tool setup, configuration, and custom rule creation for comprehensive security scanning across multiple programming languages.

Sby Skills Guide Bot
SecurityIntermediate
7/27/2026
Claude CodeCursorWindsurfCopilotCodex
#sast#semgrep#sonarqube#codeql#ci-cd

Recommended for

Automated summary

This skill guides the setup and configuration of SAST tools (Semgrep, SonarQube, CodeQL), from writing custom rules to wiring scans into CI/CD pipelines.

Strengths

  • Covers three major tools with concrete quick-start commands (pip install semgrep, Docker SonarQube, CodeQL CLI).
  • Ships directly reusable integration patterns: GitHub Actions workflow and a pre-commit hook config.
  • Lays out a staged rollout: baseline scan, incremental rule adoption, false-positive tuning, remediation tracking.
  • Explicitly addresses tooling safety, warning against leaking secrets into scan artifacts and logs.

Limitations

  • Reference material is truncated: the false-positive management section and template assets are not fully shown.
  • Does not cover DAST or manual penetration testing, and gives no organizational policy guidance.
  • Community-sourced with an unset risk level; the YAML snippets and commands should be validated before production use.
When to use it

Use it when you need to pick, configure, or integrate a SAST scanner into CI/CD with quality gates and custom rules.

When not to use it

Skip it when the need is dynamic testing or manual pentesting, or when source code and pipeline access are unavailable.

Security analysis

Caution
Quality score90/100

The skill is for setting up legitimate security scanning tools. It contains bash/docker/network commands that are powerful but not inherently destructive or exfiltrating. No obfuscation, no dangerous operations like rm -rf, no token exfiltration. It includes safety guidance. Rating caution due to execution of installation and scanning commands.

Findings
  • •Includes commands to install and run tools (pip, docker, gh, codeql) that execute code and may pull remote resources.
  • •Mentions running SAST scans in CI/CD, which involves network access and credential handling.
  • •Advises avoiding third-party services and secret leaks, showing security awareness.
How this analysis is made

Examples

Semgrep in GitHub Actions
Set up Semgrep in our GitHub Actions pipeline with p/security-audit and p/owasp-top-ten, and make the job fail only on high-severity findings.
Custom Semgrep rule
Write a custom Semgrep rule that flags Python code calling requests.get with verify=False, and show how to suppress it with a documented justification.
SonarQube quality gate
Configure a SonarQube quality gate for our Java and TypeScript repos that blocks merges on new critical vulnerabilities and keeps coverage above 70%.

name: sast-configuration description: "Static Application Security Testing (SAST) tool setup, configuration, and custom rule creation for comprehensive security scanning across multiple programming languages." risk: unknown source: community date_added: "2026-02-27"

SAST Configuration

Static Application Security Testing (SAST) tool setup, configuration, and custom rule creation for comprehensive security scanning across multiple programming languages.

Use this skill when

  • Set up SAST scanning in CI/CD pipelines
  • Create custom security rules for your codebase
  • Configure quality gates and compliance policies
  • Optimize scan performance and reduce false positives
  • Integrate multiple SAST tools for defense-in-depth

Do not use this skill when

  • You only need DAST or manual penetration testing guidance
  • You cannot access source code or CI/CD pipelines
  • You need organizational policy decisions rather than tooling setup

Instructions

  1. Identify languages, repos, and compliance requirements.
  2. Choose tools and define a baseline policy.
  3. Integrate scans into CI/CD with gating thresholds.
  4. Tune rules and suppressions based on false positives.
  5. Track remediation and verify fixes.

Safety

  • Avoid scanning sensitive repos with third-party services without approval.
  • Prevent leaks of secrets in scan artifacts and logs.

Overview

This skill provides comprehensive guidance for setting up and configuring SAST tools including Semgrep, SonarQube, and CodeQL.

Core Capabilities

1. Semgrep Configuration

  • Custom rule creation with pattern matching
  • Language-specific security rules (Python, JavaScript, Go, Java, etc.)
  • CI/CD integration (GitHub Actions, GitLab CI, Jenkins)
  • False positive tuning and rule optimization
  • Organizational policy enforcement

2. SonarQube Setup

  • Quality gate configuration
  • Security hotspot analysis
  • Code coverage and technical debt tracking
  • Custom quality profiles for languages
  • Enterprise integration with LDAP/SAML

3. CodeQL Analysis

  • GitHub Advanced Security integration
  • Custom query development
  • Vulnerability variant analysis
  • Security research workflows
  • SARIF result processing

Quick Start

Initial Assessment

  1. Identify primary programming languages in your codebase
  2. Determine compliance requirements (PCI-DSS, SOC 2, etc.)
  3. Choose SAST tool based on language support and integration needs
  4. Review baseline scan to understand current security posture

Basic Setup

# Semgrep quick start
pip install semgrep
semgrep --config=auto --error

# SonarQube with Docker
docker run -d --name sonarqube -p 9000:9000 sonarqube:latest

# CodeQL CLI setup
gh extension install github/gh-codeql
codeql database create mydb --language=python

Reference Documentation

  • Semgrep Rule Creation - Pattern-based security rule development
  • SonarQube Configuration - Quality gates and profiles
  • CodeQL Setup Guide - Query development and workflows

Templates & Assets

  • semgrep-config.yml - Production-ready Semgrep configuration
  • sonarqube-settings.xml - SonarQube quality profile template
  • run-sast.sh - Automated SAST execution script

Integration Patterns

CI/CD Pipeline Integration

# GitHub Actions example
- name: Run Semgrep
  uses: returntocorp/semgrep-action@v1
  with:
    config: >-
      p/security-audit
      p/owasp-top-ten

Pre-commit Hook

# .pre-commit-config.yaml
- repo: https://github.com/returntocorp/semgrep
  rev: v1.45.0
  hooks:
    - id: semgrep
      args: ['--config=auto', '--error']

Best Practices

  1. Start with Baseline

    • Run initial scan to establish security baseline
    • Prioritize critical and high severity findings
    • Create remediation roadmap
  2. Incremental Adoption

    • Begin with security-focused rules
    • Gradually add code quality rules
    • Implement blocking only for critical issues
  3. False Positive Management

    • Document legitimate suppressions
    • Create allow lists for known safe patterns
    • Regularly review suppressed findings
  4. Performance Optimization

    • Exclude test files and generated code
    • Use incremental scanning for large codebases
    • Cache scan results in CI/CD
  5. Team Enablement

    • Provide security training for developers
    • Create internal documentation for common patterns
    • Establish security champions program

Common Use Cases

New Project Setup

./scripts/run-sast.sh --setup --language python --tools semgrep,sonarqube

Custom Rule Development

# See references/semgrep-rules.md for detailed examples
rules:
  - id: hardcoded-jwt-secret
    pattern: jwt.encode($DATA, "...", ...)
    message: JWT secret should not be hardcoded
    severity: ERROR

Compliance Scanning

# PCI-DSS focused scan
semgrep --config p/pci-dss --json -o pci-scan-results.json

Troubleshooting

High False Positive Rate

  • Review and tune rule sensitivity
  • Add path filters to exclude test files
  • Use nostmt metadata for noisy patterns
  • Create organization-specific rule exceptions

Performance Issues

  • Enable incremental scanning
  • Parallelize scans across modules
  • Optimize rule patterns for efficiency
  • Cache dependencies and scan results

Integration Failures

  • Verify API tokens and credentials
  • Check network connectivity and proxy settings
  • Review SARIF output format compatibility
  • Validate CI/CD runner permissions

Related Skills

  • OWASP Top 10 Checklist
  • Container Security
  • Dependency Scanning

Tool Comparison

| Tool | Best For | Language Support | Cost | Integration | |------|----------|------------------|------|-------------| | Semgrep | Custom rules, fast scans | 30+ languages | Free/Enterprise | Excellent | | SonarQube | Code quality + security | 25+ languages | Free/Commercial | Good | | CodeQL | Deep analysis, research | 10+ languages | Free (OSS) | GitHub native |

Next Steps

  1. Complete initial SAST tool setup
  2. Run baseline security scan
  3. Create custom rules for organization-specific patterns
  4. Integrate into CI/CD pipeline
  5. Establish security gate policies
  6. Train development team on findings and remediation

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/sast-configuration-ms2s7cht/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/sast-configuration-ms2s7cht' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/sast-configuration-ms2s7cht/download' --output '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md.part' && mv '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md.part' '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && test -s '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/sast-configuration' && cp -R '.skill-downloads/sast-configuration-ms2s7cht' '.claude/skills/sast-configuration'

Cursor
test -f '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && test -s '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/sast-configuration' && cp -R '.skill-downloads/sast-configuration-ms2s7cht' '.cursor/skills/sast-configuration'

Codex
test -f '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && test -s '.skill-downloads/sast-configuration-ms2s7cht/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/sast-configuration' && cp -R '.skill-downloads/sast-configuration-ms2s7cht' '.agents/skills/sast-configuration'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/sast-configuration-ms2s7cht'

openskills read 'sast-configuration-ms2s7cht'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/sast-configuration-ms2s7cht/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills