Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Semgrep IaC

cloud

Définition

Semgrep est un outil d'analyse statique de code (SAST) polyvalent qui supporte également la sécurité IaC via des règles pour Terraform, CloudFormation, Kubernetes YAML, Dockerfile et d'autres formats. Sa puissance réside dans son langage de règles déclaratif qui permet d'écrire des règles de détection en utilisant la syntaxe native du fichier analysé (HCL pour Terraform, YAML pour Kubernetes), rendant les règles très lisibles et faciles à écrire. Pour les fichiers Terraform, Semgrep analyse l'AST (Abstract Syntax Tree) du HCL et permet de détecter des patterns comme : des ressources S3 sans chiffrement activé, des Security Groups avec des règles trop permissives, des providers cloud sans contrainte de version, et des secrets hardcodés dans les configurations. La bibliothèque Semgrep Registry contient des centaines de règles IaC maintenues par la communauté et l'équipe Semgrep. Semgrep se distingue par ses capacités d'analyse inter-fichiers (taint tracking) permettant de suivre le flux des données entre les fichiers Terraform : détecter une variable déclarée dans un module, transmise à un autre module, et utilisée dans une configuration dangereuse. Cette analyse contextuelle réduit les faux positifs en comprenant le contexte complet de la configuration. L'intégration de Semgrep dans les workflows CI/CD est simplifiée via semgrep ci (commande dédiée pour les pipelines) qui analyse uniquement les fichiers modifiés dans un diff (PR/MR), réduisant le temps d'analyse dans les grandes bases de code IaC. Les résultats sont publiés comme commentaires de PR via l'intégration GitHub/GitLab. Semgrep Pro (payant) ajoute des capacités avancées : l'analyse inter-fichiers étendue, les règles propriétaires pour les frameworks enterprise, et l'intégration avec les systèmes de gestion des vulnérabilités. La version open source est gratuite et suffit pour la plupart des cas d'usage IaC.

Règles Semgrep pour Terraform

Exemples de règles Semgrep Terraform (format YAML) : détecter aws_s3_bucket sans server_side_encryption_configuration (pattern: resource.aws_s3_bucket[...] sans block server_side_encryption_configuration), ou détecter des aws_security_group_rule avec cidr_blocks contenant 0.0.0.0/0 sur le port 22. La syntaxe Semgrep HCL est proche du Terraform natif, rendant les règles accessibles aux développeurs connaissant Terraform.

Semgrep vs Checkov vs KICS

Checkov et KICS offrent une bibliothèque de règles de sécurité IaC prêtes à l'emploi, couvrant rapidement 80% des cas courants. Semgrep excelle pour les règles personnalisées complexes nécessitant une compréhension du flux de données ou des patterns spécifiques à votre organisation (ex: toutes les ressources AWS doivent utiliser des VPC spécifiques). Utilisez les deux en complémentarité : Checkov/KICS pour la couverture standard, Semgrep pour les politiques organisationnelles spécifiques.

Secrets et Semgrep

Semgrep détecte les secrets hardcodés dans les fichiers Terraform, CloudFormation et Kubernetes YAML via ses règles secrets (semgrep --config=p/secrets). Il utilise des patterns regex et sémantiques pour identifier les credentials AWS (AKIA...), les clés API, les mots de passe, et les tokens dans les configurations IaC. Combinez avec GitLeaks ou TruffleHog pour une couverture complète des secrets dans tous les fichiers du dépôt.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis