Configuration SAST

VérifiéPrudence

Configuration d'outils de test de sécurité statique (SAST), configuration et création de règles personnalisées pour une analyse de sécurité complète sur plusieurs langages de programmation.

Spar Skills Guide Bot
SecuriteIntermédiaire
27/07/2026
Claude CodeCursorWindsurfCopilotCodex
#sast#semgrep#sonarqube#codeql#ci-cd

Recommandé pour

Synthèse automatique

Ce skill guide la mise en place et la configuration d'outils SAST (Semgrep, SonarQube, CodeQL), de la création de règles personnalisées à l'intégration dans les pipelines CI/CD.

Points forts

  • Couvre trois outils majeurs avec des commandes de démarrage rapide concrètes (pip install semgrep, Docker SonarQube, CLI CodeQL).
  • Fournit des modèles d'intégration directement réutilisables : GitHub Actions, hook pre-commit.
  • Inclut une démarche structurée par étapes : baseline, adoption incrémentale, gestion des faux positifs, suivi de remédiation.
  • Aborde explicitement la sécurité de l'outillage lui-même (pas de fuite de secrets dans les artefacts et logs).

Limites

  • Le contenu de référence est tronqué : la section sur la gestion des faux positifs et les fichiers de templates ne sont pas détaillés.
  • Ne couvre pas le DAST ni les tests d'intrusion manuels, et n'apporte pas d'arbitrage de politique organisationnelle.
  • Skill issu de la communauté avec un niveau de risque non renseigné ; les extraits YAML et commandes doivent être vérifiés avant usage en production.
Quand l'utiliser

À utiliser lorsqu'il faut choisir, configurer ou intégrer un scanner SAST dans une chaîne CI/CD avec des seuils de qualité et des règles sur mesure.

Quand l'éviter

À éviter si le besoin porte sur des tests dynamiques, un pentest manuel, ou si l'accès au code source et aux pipelines n'est pas disponible.

Analyse de sécurité

Prudence
Score qualité90/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.

Points d'attention
  • •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.
Comment cette analyse est faite

Exemples

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

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/sast-configuration-ms2s7cht/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

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. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

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 doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/sast-configuration-ms2s7cht'

openskills read 'sast-configuration-ms2s7cht'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/sast-configuration-ms2s7cht/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires