sast-configuration
Install this skill
npx skills add wshobson/agentsWorks across Claude Code, Cursor, Codex, Copilot & Antigravity
The SAST configuration skill focuses on the technical orchestration of static analysis tools to identify security vulnerabilities during development. It covers the setup and fine-tuning of Semgrep, SonarQube, and CodeQL, ensuring that scanning patterns match specific project requirements. Rather than just running default audits, this skill emphasizes creating custom security rules, establishing quality gates, and managing technical debt. It provides workflows for integrating scanning into CI/CD pipelines and pre-commit hooks, while offering strategies to minimize false positives through targeted rule suppression and path filtering. This allows development teams to maintain a high security posture without impeding workflow velocity, ensuring that vulnerability detection is tailored to the specific language ecosystem and compliance needs of the underlying software repository.
When to Use This Skill
- β’Enforcing internal security policies for hardcoded secrets or insecure crypto usage
- β’Setting up automated security compliance checks for PCI-DSS or SOC 2 readiness
- β’Tuning existing scanning engines to reduce noise from legacy codebases
- β’Standardizing security analysis across polyglot repositories using diverse toolsets
How to Invoke This Skill
Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:
- βconfigure Semgrep rules for my Python project
- βhow to set up SonarQube quality gates in CI
- βwrite a custom CodeQL query to find SQL injection
- βhow to reduce false positives in SAST scans
- βintegrate static analysis into my GitHub workflow
Pro Tips
- π‘Prioritize integrating SAST scans as early as possible in your development workflow (e.g., pre-commit hooks, pull request checks) to catch issues before they escalate.
- π‘Regularly review and fine-tune your SAST tool's rules and configurations to minimize false positives and ensure relevant, actionable findings.
- π‘Combine this skill with dynamic application security testing (DAST) or software composition analysis (SCA) for a multi-layered, comprehensive security approach.
What this skill does
- β’Development of custom Semgrep patterns for internal security standards
- β’Automation of SAST scans within GitHub Actions and GitLab CI workflows
- β’Definition of SonarQube quality gates to block non-compliant code merges
- β’Authoring of CodeQL queries to detect complex data-flow vulnerabilities
- β’Generation of standardized SARIF output for cross-tool result aggregation
When not to use it
- βPerforming dynamic runtime analysis or penetration testing of running services
- βAuditing infrastructure-as-code configurations (use specific IaC scanning tools)
- βReplacing human code reviews for complex architectural security flaws
Example workflow
- Assess current repository language stack and identify necessary compliance rules
- Install and initialize tool-specific CLI or integration hooks
- Execute baseline scans to establish an initial vulnerability report
- Create custom rules to address high-risk findings and suppress verified noise
- Configure CI/CD gate triggers to fail builds on critical security violations
Prerequisites
- βAccess to project source code and CI/CD environment
- βBasic understanding of project-specific security threats
- βAbility to modify repository pipeline configuration files
Pitfalls & limitations
- !Over-blocking builds leads to developer friction and workflow abandonment
- !Default rule sets often generate significant noise in large, legacy codebases
- !Ignoring scan performance leads to excessively long CI/CD pipeline runtimes
FAQ
How it compares
Generic prompts often result in standard 'run this command' advice, whereas this skill provides specific configurations for rule tuning and pipeline integration that avoid common noise and performance bottlenecks.
π Full skill instructions β original source: wshobson/agents
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:latest
# CodeQL CLI setup
gh extension install github/gh-codeql
codeql database create mydb --language=python## Reference Documentation
- [Semgrep Rule Creation](references/semgrep-rules.md) - Pattern-based security rule development
- [SonarQube Configuration](references/sonarqube-config.md) - Quality gates and profiles
- [CodeQL Setup Guide](references/codeql-setup.md) - Query development and workflows
## Templates & Assets
- [semgrep-config.yml](assets/semgrep-config.yml) - Production-ready Semgrep configuration
- [sonarqube-settings.xml](assets/sonarqube-settings.xml) - SonarQube quality profile template
- [run-sast.sh](scripts/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](../owasp-top10-checklist/SKILL.md)
- [Container Security](../container-security/SKILL.md)
- [Dependency Scanning](../dependency-scanning/SKILL.md)
## 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
How to Use This Skill Unit
Option A: Project-Specific (Recommended)
- Click "Download" above
- In your project, create the directory:
.agent/skills/sast-configuration/ - Save the file as
SKILL.md - The agent will automatically discover the skill based on its description.
Option B: Global Installation (All Agents)
Save the file to these locations to make it available across all projects:
- Claude Code:
~/.claude/skills/wshobson/agents/sast-configuration/SKILL.md - Cursor:
~/.cursor/skills/wshobson/agents/sast-configuration/SKILL.md - Antigravity:
~/.gemini/antigravity/skills/wshobson/agents/sast-configuration/SKILL.md
π Install with CLI:npx skills add wshobson/agents