CodeQL
Overview
CodeQL est un moteur d'analyse de code sémantique développé par GitHub, permettant de créer des requêtes personnalisées pour détecter les vulnérabilités et les bugs dans le code sourceCodeQL modélise le code comme une base de données, permettant d'écrire des requêtes complexes pour identifier des patterns de vulnérabilitésIl supporte de nombreux langages (JavaScript, Python, Java, C/C++, etc.) et offre une base de requêtes riche.
CodeQL se distingue par son approche sémantique, sa capacité à détecter des vulnérabilités complexes, et son intégration native avec GitHubIl est particulièrement adapté aux environnements nécessitant une analyse approfondie du code.
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://codeql.github.com/ |
| Licence | Propriétaire (gratuit pour open source) |
| Nationalité | États-Unis (GitHub/Microsoft) |
| Déploiement | CLI, intégration GitHub Actions, CI/CD |
| Difficulté | Intermédiaire à avancé |
| Technologies | Datalog, multi-langage |
TL;DR
CodeQL est idéal pour l'analyse sémantique approfondie du code, avec requêtes personnalisables et détection de vulnérabilités complexes, intégration native GitHub.
Points clés à retenir :
- Analyse sémantique approfondie
- Requêtes personnalisables
- Support multi-langage
- Intégration native GitHub
- Détection de vulnérabilités complexes
Compatibilité et intégrations
- Supporte JavaScript, Python, Java, C/C++, et nombreux langages
- Intégration native GitHub Actions
- Compatible avec les formats SARIF, JSON
- Base de requêtes riche
- API pour requêtes personnalisées
Avantages
- Analyse sémantique approfondie
- Requêtes personnalisables
- Support multi-langage
- Intégration GitHub native
- Détection de vulnérabilités complexes
Limites
- Courbe d'apprentissage élevée
- Nécessite expertise pour requêtes personnalisées
- Consommation de ressources importante
- Gratuit uniquement pour open source
Ressources
- Documentation CodeQL : https://codeql.github.com/docs/
- GitHub : https://github.com/github/codeql