Aperçu
Le SAST natif de l’IA est la solution de scan de code nouvelle génération de Corgea. Elle détecte et corrige les vulnérabilités du code applicatif, en mettant particulièrement l’accent sur les failles de logique métier, d’authentification et de code. Contrairement aux outils traditionnels de test statique de sécurité des applications (SAST), le SAST natif de l’IA s’appuie sur des techniques avancées pilotées par l’IA pour améliorer la précision de la détection, réduire les faux positifs et fournir des informations directement exploitables aux développeurs et aux équipes de sécurité. En combinant la puissance des grands modèles de langage (LLM) et l’analyse statique, le SAST natif de l’IA acquiert une compréhension contextuelle plus fine du code et détecte des vulnérabilités qui peuvent échapper aux outils SAST classiques. Ce document présente son fonctionnement technique, les vulnérabilités qu’il peut détecter et son intégration aux workflows de développement.Caractéristiques clés
Détection améliorée par IA
Détection améliorée par IA
- Combine les capacités de raisonnement des LLM avec l’analyse statique du code
- Détecte avec précision les vulnérabilités grâce à une compréhension contextuelle
- Identifie aussi bien les vulnérabilités de logique métier que les vulnérabilités SAST classiques
Expérience développeur
Expérience développeur
- Un faible taux de faux positifs réduit le bruit dans les résultats d’analyse
- Des analyses exploitables avec des explications claires
- Intégration fluide avec les pipelines CI/CD et les pull requests
Couverture de sécurité
Couverture de sécurité
- Détection des vulnérabilités en logique métier
- Failles d’authentification et d’autorisation
- Détection complète des vulnérabilités dans plusieurs catégories
Classes de vulnérabilité détectées
Le SAST natif de l’IA excelle dans la détection des vulnérabilités de logique métier, qui échappent souvent aux outils SAST traditionnels. Voici quelques-unes des vulnérabilités qu’il détecte :Contrôle d’accès
Contrôle d’accès
- Contrôle d’accès défaillant (CWE-639): absence de contrôles d’autorisation permettant un accès non autorisé
- Références directes non sécurisées à des objets (CWE-639): accès direct à des objets sans autorisation adéquate
- Path traversal (CWE-22): traversée de répertoires permettant d’accéder à des fichiers non autorisés
- Autorisation non sécurisée (CWE-285): contrôles d’accès insuffisants
- Escalade des privilèges (CWE-269): Gestion inappropriée des privilèges
- Contrôle d’accès au niveau de fonction manquant (CWE-285): Fonctions administratives non protégées
Vulnérabilités liées à l’injection
Vulnérabilités liées à l’injection
- Injection SQL (CWE-89): requêtes SQL non assainies permettant de manipuler la base de données
- Injection de commandes (CWE-78): injection de commandes du système d’exploitation
- Cross-site scripting (XSS) (CWE-79): injection de scripts malveillants dans les pages web
- Injection LDAP (CWE-90): manipulation de requêtes LDAP
- Injection XML (CWE-91): manipulation de contenu XML
- Injection de code (CWE-94): Vulnérabilités d’exécution dynamique de code
- Injection de langage d’expression (CWE-917): Injection dans les langages d’expression
- Injection de template (CWE-1336): injection de templates côté serveur
Authentification et autorisation
Authentification et autorisation
- Authentification non sécurisée (CWE-287): absence de MFA ou gestion non sécurisée des tokens
- Authentification défaillante (CWE-287): Mécanismes d’authentification faibles
- Mauvaise gestion des sessions (CWE-384): Mauvaise gestion de l’ID de session
- Gestion des identifiants (CWE-255): stockage ou transmission inadéquats des identifiants
- Exigences de mot de passe faibles (CWE-521): Application insuffisante de la complexité des mots de passe
Défaillances cryptographiques
Défaillances cryptographiques
- Stockage de données non sécurisé (CWE-311): Chiffrement faible ou stockage en clair
- Cryptographie faible (CWE-327): Utilisation d’algorithmes cryptographiques défaillants ou risqués
- Entropie insuffisante (CWE-330): Génération prévisible de nombres aléatoires
- Secrets codés en dur (CWE-798): Identifiants intégrés
- Exposition aux données sensibles (CWE-200): Fuites d’informations
- Validation incorrecte des certificats (CWE-295): échecs de validation SSL/TLS
Gestion et validation des données
Gestion et validation des données
- Traitement non sécurisé des données (CWE-20): validation insuffisante des entrées
- Encodage incorrect des sorties (CWE-116) : échappement insuffisant des sorties
- Affectation de masse (CWE-915): liaison de paramètres de requête à des objets internes
- Entité externe XML (XXE) (CWE-611): vulnérabilités des parseurs XML
- Désérialisation des données non fiables (CWE-502): Désérialisation d’objets non sécurisés
Mauvaise configuration de sécurité
Mauvaise configuration de sécurité
- Mauvaise configuration de sécurité (CWE-16): Mauvais réglages de sécurité
- Configurations par défaut (CWE-1188): Utilisation de paramètres par défaut non sécurisés
- En-têtes de sécurité manquants (CWE-693): absence d’en-têtes HTTP de protection
- Messages d’erreur trop détaillés (CWE-209): divulgation d’informations dans les erreurs
- Listing de répertoire (CWE-548): exposition du contenu des répertoires
Logique métier et flux de code
Logique métier et flux de code
- Vulnérabilités de la logique métier (CWE-840): Défauts qui permettent aux utilisateurs de manipuler ou de contourner des processus critiques
- Vulnérabilités de la logique de code (CWE-633): Erreurs dans les conditions ou boucles menant à des comportements inattendus
- Vulnérabilités dépendantes du contexte (CWE-696): Erreurs basées sur le temps ou dépendantes de l’état
- Conditions de concurrence (CWE-362): synchronisation ou ordre des opérations non maîtrisé
- Attaques temporelles (CWE-208): fuites d’informations fondées sur le temps d’exécution
Server-Side Request Forgery
Server-Side Request Forgery
- SSRF (CWE-918): falsification de requête côté serveur permettant des requêtes internes non autorisées
- Redirection d’URL (CWE-601): redirections et transferts non validés
- DNS rebinding (CWE-350): attaques SSRF fondées sur le DNS
Défaillances de journalisation et de surveillance
Défaillances de journalisation et de surveillance
- Journalisation incorrecte (CWE-532): Données sensibles dans les journaux
- Journalisation insuffisante (CWE-778): Journalisation des événements de sécurité manquants
- Mauvaise gestion des erreurs (CWE-209): Fuites d’informations dans les messages d’erreur
- Gestion incorrecte des exceptions (CWE-248): Risques de sécurité liés à une mauvaise gestion des exceptions
- Trace d’audit manquante (CWE-778): Suivi insuffisant de l’activité
Détection de code malveillant
Détection de code malveillant
- Code malveillant (CWE-506): Actions nuisibles non autorisées
- Portes dérobées (CWE-288): Mécanismes d’accès cachés
- Bombes à retardement (CWE-511): Actions malveillantes déclenchées
- Attaques sur la chaîne d’approvisionnement (CWE-1357): Dépendances ou mises à jour compromises
Confidentialité et ressources
Confidentialité et ressources
- Exfiltration de données (CWE-319): Transmission de données non autorisée
- Collecte de données non éthique (CWE-359): Collecte de données inappropriée
- Activité réseau malveillante (CWE-293): connexions suspectes
- Minage de cryptomonnaies (CWE-400): Utilisation non autorisée des ressources
- Épuisement des ressources (CWE-400): Refus de service par consommation de ressources
Analyse des secrets
Couverture complète des vulnérabilités
Le SAST natif de l’IA de Corgea offre une couverture étendue des vulnérabilités, au-delà des référentiels du secteur tels que l’OWASP Top 10 et le Top 25 des CWE. Notre plateforme enrichit continuellement sa base de vulnérabilités pour anticiper les menaces émergentes et traiter un large éventail de problèmes de sécurité dans différents langages et frameworks.Profondeur et étendue de la couverture
Notre couverture des vulnérabilités s’étend à plusieurs dimensions afin de garantir une analyse approfondie de votre code :Vulnérabilités propres à chaque langage
Vulnérabilités propres à chaque langage
Vulnérabilités propres à chaque framework
Vulnérabilités propres à chaque framework
Vulnérabilités multilangages
Vulnérabilités multilangages
- Pratiques cryptographiques non sécurisées
- Validation d’entrée incorrecte
- Conditions de concurrence
- Failles d’authentification et d’autorisation
Menaces émergentes
Menaces émergentes
Pourquoi une couverture complète est essentielle
Réduction du risque
Conformité
Efficacité
Amélioration continue
Examiner l’analyse de taint
Pour les problèmes de code dont Corgea peut identifier le flux de données, la Vue complète comporte un onglet Analyse de taint. Celui-ci permet de suivre le cheminement de données non fiables depuis leur source, à travers l’application, jusqu’au sink vulnérable, y compris lorsque le flux traverse plusieurs fichiers.Ouvrez un problème
Ouvrir la vue complète

Ouvrir l’onglet Analyse de taint
Cliquez sur la trace

- Source — où une entrée non fiable entre dans l’application
- Propagation — fonctions ou fichiers intermédiaires qui transmettent la valeur contaminée
- Sink — point où les données atteignent l’opération vulnérable
Technologie du SAST natif de l’IA
Le SAST natif de l’IA repose sur la technologie propriétaire CodeIQ de Corgea, qui associe l’IA aux arbres syntaxiques abstraits (AST) pour offrir une analyse complète :Analyse au niveau du projet
Intelligence contextuelle
Réduction des faux positifs
Comparaison avec les méthodes traditionnelles
Intégration et flux de travail
Points d’intégration
- Pipelines CI/CD: scan automatique lors des commits et des pull requests
- Revues de pull requests: analyse des vulnérabilités avant fusion
- Intégration à l’IDE: retour en temps réel pendant le développement
Langages et frameworks pris en charge
Corgea prend entièrement en charge le scan, la détection des faux positifs et la correction automatique dans de nombreux langages de programmation et frameworks courants, avec une couverture d’environ 900 Common Weakness Enumerations (CWE).Langages pris en charge
C#
C#
Python
Python
Ruby
Ruby
Go
Go
JavaScript & TypeScript
JavaScript & TypeScript
Java
Java
PHP
PHP
Kotlin
Kotlin
Swift
Swift
C & C++
C & C++
Capacités clés
Analyse complète
Détection de faux positifs
Correction automatisée
Analyse propre au framework
Filtrage intelligent des fichiers
Pour optimiser les performances et la précision du scan, Corgea exclut automatiquement les fichiers qui ne sont pas pertinents pour l’analyse de sécurité :Fichiers exclus
Fichiers non sources
Fichiers non sources
- Fichiers multimédias (images, vidéos, polices)
- Fichiers de style (CSS, SCSS, LESS)
- Documentation et fichiers Markdown
- Archives de configuration et fichiers compressés
Développement et essais
Développement et essais
- Fichiers de test et répertoires de test
- Données de mocks et fixtures
- Rapports de couverture du code
Code généré et traité
Code généré et traité
- Fichiers de code générés automatiquement
- Code minifié ou bundlé
- Fichiers de migration de base de données
- Fichiers de définition de type
Artefacts de build
Artefacts de build
- Binaires compilés et sorties de compilation
Fichiers utilisés pour le contexte
Même s’ils ne sont pas directement scannés à la recherche de vulnérabilités, certains fichiers peuvent être consultés par Corgea afin d’améliorer le contexte de l’analyse, notamment les fichiers README, les exemples de configuration et les fichiers de paramètres de l’application.Configuration personnalisée
Vous pouvez personnaliser davantage le comportement des scans à l’aide d’un fichier de configurationcorgea.yaml placé à la racine de votre dépôt :
Pourquoi nous filtrons
Notre approche de filtrage intelligent :- Améliore la précision en se concentrant sur le code applicatif réel
- Réduit le bruit provenant des fichiers de test et du code tiers
- Optimise les performances pour des résultats d’analyse plus rapides
- Priorise les résultats dans le code que vous maintenez
