Configure SAST for Secure Code Scanning
Configures SAST tools (Semgrep, SonarQube, CodeQL) with custom rules, CI/CD gates, and false-positive tuning.
Maintainer of this project? Claim this page to edit the listing.
13.1.0Add to Favorites
Why it matters
Automate the setup and configuration of Static Application Security Testing (SAST) tools to identify vulnerabilities in your codebase. This skill helps integrate security scanning into your CI/CD pipelines and create custom rules for comprehensive code analysis.
Outcomes
What it gets done
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
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-sast-configuration | bash Overview
SAST Configuration
Configures SAST tools (Semgrep, SonarQube, CodeQL) with custom rules, CI/CD quality gates, and false-positive tuning. Use when setting up SAST scanning in CI/CD, writing custom security rules, or tuning false positives.
What it does
Provides comprehensive guidance for setting up and configuring Static Application Security Testing (SAST) tools - Semgrep, SonarQube, and CodeQL - including custom rule creation, CI/CD integration, quality gates, and false-positive tuning across multiple programming languages.
When to use - and when NOT to
Use this skill to set up SAST scanning in CI/CD pipelines, create custom security rules, configure quality gates and compliance policies, optimize scan performance, or integrate multiple SAST tools for defense-in-depth. Not a fit when only DAST or manual penetration testing guidance is needed, when source code or CI/CD pipeline access isn't available, or when the task is an organizational policy decision rather than tooling setup.
Inputs and outputs
Covers three tools in depth: Semgrep (custom pattern-matching rules, language-specific security rules, CI/CD integration across GitHub Actions/GitLab CI/Jenkins, false-positive tuning), SonarQube (quality gate configuration, security hotspot analysis, code coverage and technical debt tracking, custom quality profiles, LDAP/SAML enterprise integration), and CodeQL (GitHub Advanced Security integration, custom query development, vulnerability variant analysis, SARIF result processing).
The workflow runs five steps: identify languages, repos, and compliance requirements; choose tools and define a baseline policy; integrate scans into CI/CD with gating thresholds; tune rules and suppressions based on false positives; and track remediation and verify fixes. Quick-start commands cover installing and running Semgrep (semgrep --config=auto --error), spinning up SonarQube via Docker, and setting up the CodeQL CLI (codeql database create). Includes a GitHub Actions Semgrep integration example, a pre-commit hook configuration, a custom rule example for detecting hardcoded JWT secrets, and a PCI-DSS-focused compliance scan command. Safety guidance flags avoiding third-party scans of sensitive repos without approval and preventing secret leaks in scan artifacts and logs.
Integrations
Integrates Semgrep, SonarQube, and CodeQL into CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins) and pre-commit hooks, with SonarQube supporting LDAP/SAML enterprise auth and CodeQL integrating natively with GitHub Advanced Security and SARIF-format results.
Best practices it encodes
Start with a baseline scan to establish current security posture, prioritize critical and high-severity findings, and build a remediation roadmap. Adopt incrementally - begin with security-focused rules, add code quality rules gradually, and reserve blocking gates for critical issues only. Manage false positives by documenting legitimate suppressions, maintaining allow lists for known-safe patterns, and periodically reviewing suppressed findings. Optimize performance by excluding test files and generated code, using incremental scanning on large codebases, and caching scan results in CI/CD. For a high false-positive rate specifically, it recommends tuning rule sensitivity, adding path filters for test files, and creating organization-specific rule exceptions.
It also includes a tool-comparison reference: Semgrep is best for custom rules and fast scans (30+ languages, free/enterprise tiers), SonarQube for combined code quality and security (25+ languages, free/commercial), and CodeQL for deep analysis and security research (10+ languages, free for open source, native GitHub integration).
Who it's for
Security engineers and platform teams setting up static analysis scanning across a codebase who need working tool configurations and CI/CD gating patterns rather than starting from each tool's documentation independently.
semgrep --config=auto --error
Source README
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
- Identify languages, repos, and compliance requirements.
- Choose tools and define a baseline policy.
- Integrate scans into CI/CD with gating thresholds.
- Tune rules and suppressions based on false positives.
- 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
- Identify primary programming languages in your codebase
- Determine compliance requirements (PCI-DSS, SOC 2, etc.)
- Choose SAST tool based on language support and integration needs
- 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
Start with Baseline
- Run initial scan to establish security baseline
- Prioritize critical and high severity findings
- Create remediation roadmap
Incremental Adoption
- Begin with security-focused rules
- Gradually add code quality rules
- Implement blocking only for critical issues
False Positive Management
- Document legitimate suppressions
- Create allow lists for known safe patterns
- Regularly review suppressed findings
Performance Optimization
- Exclude test files and generated code
- Use incremental scanning for large codebases
- Cache scan results in CI/CD
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
- Complete initial SAST tool setup
- Run baseline security scan
- Create custom rules for organization-specific patterns
- Integrate into CI/CD pipeline
- Establish security gate policies
- Train development team on findings and remediation
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.