PluginBench
Skill
Pass
Audit score 90

sast-configuration

wshobson/agents

Configure SAST tools like Semgrep, SonarQube, and CodeQL for automated vulnerability detection in CI/CD pipelines.

What is sast-configuration?

This skill guides setup and configuration of Static Application Security Testing (SAST) tools for automated code vulnerability scanning. Use it when implementing DevSecOps practices, creating custom security rules, configuring quality gates, or integrating security scanning into CI/CD pipelines.

  • Configure Semgrep with custom pattern-matching rules across 30+ programming languages
  • Set up SonarQube quality gates, security hotspot analysis, and technical debt tracking
  • Integrate CodeQL for GitHub Advanced Security and custom vulnerability query development
  • Establish CI/CD pipeline integration with GitHub Actions, GitLab CI, and Jenkins
  • Implement false positive management, performance optimization, and compliance scanning (PCI-DSS, SOC 2)
  • Create pre-commit hooks and incremental scanning strategies for large codebases

How to install sast-configuration

npx skills add https://github.com/wshobson/agents --skill sast-configuration
Prerequisites
  • Basic understanding of CI/CD pipelines and version control
  • Familiarity with your codebase's primary programming languages
  • Access to CI/CD platform (GitHub Actions, GitLab CI, Jenkins, etc.)
  • Docker installed (for SonarQube deployment option)
  • Python or package manager for installing Semgrep CLI
Claude Code
Cursor
Windsurf
Cline

How to use sast-configuration

  1. 1.Identify your codebase's primary programming languages and compliance requirements
  2. 2.Choose a SAST tool (Semgrep for custom rules, SonarQube for code quality, CodeQL for deep analysis)
  3. 3.Install the tool using provided commands (pip install semgrep, Docker for SonarQube, gh extension for CodeQL)
  4. 4.Run an initial baseline scan to establish current security posture
  5. 5.Configure tool-specific settings: Semgrep rules, SonarQube quality profiles, or CodeQL queries
  6. 6.Integrate into CI/CD pipeline using provided YAML examples for GitHub Actions or other platforms
  7. 7.Create custom rules or policies for organization-specific security patterns
  8. 8.Establish false positive management through allow lists and documented suppressions

Use cases

Good for
  • Setting up security scanning in a new project with language-specific SAST rules
  • Integrating multiple SAST tools into an existing CI/CD pipeline for defense-in-depth coverage
  • Creating custom security rules to detect organization-specific vulnerability patterns
  • Configuring compliance-focused scans for PCI-DSS or SOC 2 requirements
  • Tuning SAST tool configurations to reduce false positives and improve developer adoption
Who it's for
  • DevSecOps engineers implementing security automation
  • Security architects designing code scanning strategies
  • Development teams adopting shift-left security practices
  • Compliance officers managing vulnerability detection requirements
  • Security champions establishing organizational security standards

sast-configuration FAQ

Which SAST tool should I choose?

Semgrep excels at custom rules and fast scans across 30+ languages; SonarQube combines security with code quality tracking; CodeQL is best for deep analysis and GitHub-native workflows. Start with Semgrep for quick adoption or SonarQube for comprehensive code quality integration.

How do I reduce false positives?

Review and tune rule sensitivity, add path filters to exclude test files, use organization-specific rule exceptions, and document legitimate suppressions. Gradually expand rules rather than enabling all at once.

Can I run SAST scans on large codebases without performance issues?

Yes—enable incremental scanning, parallelize scans across modules, optimize rule patterns, exclude generated code and test files, and cache results in CI/CD.

How do I integrate SAST into an existing CI/CD pipeline?

Use the provided CI/CD integration examples (GitHub Actions, GitLab CI, Jenkins). Most tools offer pre-built actions or plugins; configure with your tool's API token and desired rule sets.

What's the best way to get developer buy-in for SAST scanning?

Start with a baseline scan, prioritize critical findings, implement blocking only for critical issues initially, provide security training, and establish a security champions program for internal guidance.

Full instructions (SKILL.md)

Source of truth, from wshobson/agents.


name: sast-configuration description: Configure Static Application Security Testing (SAST) tools for automated vulnerability detection in application code. Use when setting up security scanning, implementing DevSecOps practices, or automating code vulnerability detection.

SAST Configuration

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

Overview

This skill provides comprehensive guidance for setting up and configuring SAST tools including Semgrep, SonarQube, and CodeQL. Use this skill when you need to:

  • 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

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:10.8-community

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

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

  • STRIDE Analysis Patterns
  • Threat Mitigation Mapping

Tool Comparison

ToolBest ForLanguage SupportCostIntegration
SemgrepCustom rules, fast scans30+ languagesFree/EnterpriseExcellent
SonarQubeCode quality + security25+ languagesFree/CommercialGood
CodeQLDeep analysis, research10+ languagesFree (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