Aller au contenu

Scan de Code Source

Le Scan de Code Source vous aide à identifier les vulnérabilités de sécurité directement dans votre code source avant qu'elles n'atteignent la production. En connectant votre dépôt de code source à Ostorlab, vous pouvez analyser vos projets pour détecter les problèmes de sécurité courants, examiner les résultats exploitables et hiérarchiser les corrections dès le début du cycle de développement.

Ce guide vous accompagne dans la configuration d'une intégration de code source et le lancement de votre premier scan.


⚙️ Configurer une Intégration de Code Source

Avant de pouvoir scanner un dépôt, vous devez connecter votre fournisseur de code source à Ostorlab.

  1. Ouvrez le Tableau de bord Ostorlab.
  2. Cliquez sur le Menu Hamburger dans le coin supérieur gauche.
  3. Accédez à Integrations. Sélectionner Integrations
  4. Sélectionnez la catégorie Source Code. Sélectionner la catégorie Code Source
  5. Choisissez le fournisseur de code source que vous souhaitez connecter (GitHub, GitLab, Bitbucket, Azure DevOps ou Self-Hosted Git).
  6. Suivez les étapes de configuration spécifiques au fournisseur pour autoriser l'accès à vos dépôts.

Une fois l'intégration terminée, vos dépôts seront disponibles lors de la création d'un scan de code source.


🚀 Créer un Nouveau Scan de Code Source

Étape 1 : Lancer un Nouveau Scan

Après avoir configuré votre intégration :

  1. Ouvrez le Tableau de bord Ostorlab.
  2. Cliquez sur l'icône Menu Hamburger dans la barre latérale et sélectionnez Scanning -> New Scan. Lancer un Nouveau Scan
  3. (Optionnel) Saisissez un titre descriptif pour votre audit de sécurité. Saisir un titre descriptif

Étape 2 : Sélectionner l'Actif à Scanner

Lors de la création d'un nouveau scan :

  1. Sélectionnez Code Repository comme actif de scan. Sélectionner Code Repository
  2. Choisissez le dépôt que vous souhaitez scanner. Choisir le dépôt
  3. Sélectionnez le Target Type approprié.
  4. Cliquez sur Continue.

Étape 3 : Configurer le Fournisseur d'IA & l'Effort

Le Scan de Code Source est un scan agentique piloté par l'IA qui peut s'exécuter à l'aide des Cybermodels d'Ostorlab ou de votre clé API personnalisée via Bring Your Own Key (BYOK).

  1. Sélectionnez le fournisseur d'IA que vous souhaitez utiliser pour le scan, soit Cybermodels, soit via BYOK. Sélectionner le fournisseur d'IA
  2. Ou sélectionnez BYOK comme fournisseur d'IA. Sélectionner BYOK

Étape 4 : Configurer le Niveau d'Effort

Le niveau d'Effort détermine l'étendue de l'analyse de votre dépôt par Ostorlab. Des niveaux d'effort plus élevés offrent une couverture de code plus large et une analyse mais peuvent augmenter la durée du scan et la consommation de jetons d'IA.

  1. Choisissez le niveau d'effort qui correspond le mieux à votre dépôt et à vos exigences de sécurité :
    • Core (50 jetons) : Effectue une analyse de référence rapide, idéale pour des vérifications de sécurité rapides pendant le développement.
    • Advanced (200 jetons) : Fournit une analyse plus approfondie avec une couverture de code plus large pour identifier un éventail plus vaste de problèmes de sécurité.
    • Elite (400 jetons) : Effectue l'analyse la plus complète, maximisant la couverture pour détecter les vulnérabilités complexes et difficiles à trouver. Configurer le niveau d'effort
  2. Cliquez sur Continue.

Étape 5 : Sélectionner un Profil de Scan

Sélectionnez le profil de scan Repository Scan Profile, puis cliquez sur Submit pour lancer l'analyse. Sélectionner le profil de scan

Étape 6 : Examiner les Résultats

Une fois le scan terminé, vous pouvez examiner les vulnérabilités détectées dans le tableau de bord d'Ostorlab.

Chaque vulnérabilité inclut sa sévérité, les fichiers affectés et des conseils de remédiation pour vous aider à hiérarchiser et résoudre les problèmes de sécurité.

Examiner les résultats du scan


🌍 Langages Supportés

Le niveau de profondeur et les techniques d'analyse diffèrent selon que le dépôt est analysé avec Fast Scan (SAST déterministe, détection de secrets et SCA) ou Deep Agentic Scan (raisonnement autonome par IA, flux de données inter-fichiers et validation des failles de logique métier).

Langage / Écosystème Fast Scan Deep Agentic Scan Portée et Analyseurs
Python Supporté Supporté Règles SAST, lockfiles OSV (requirements.txt, Pipfile.lock, poetry.lock), traçage de contexte IA, failles logiques
JavaScript / TypeScript Supporté Supporté Règles SAST, OSV (package-lock.json, yarn.lock, pnpm-lock.yaml), TruffleHog, analyse de teinte IA, pollution de prototype
Java Supporté Supporté Règles SAST, OSV (pom.xml, build.gradle), audit Spring Security, chaînage d'exploits IA
Kotlin Supporté Supporté Règles SAST, OSV (build.gradle.kts), sécurité applicative Android et backend
Go (Golang) Supporté Supporté Règles SAST, OSV (go.sum, go.mod), concurrence, analyse logique IA
C / C++ Supporté Supporté Modèles SAST, sécurité mémoire, gestion des tampons, évaluation sémantique IA
C# / .NET Supporté Supporté Règles SAST, OSV (packages.lock.json), sécurité ASP.NET, désérialisation
PHP Supporté Supporté Règles SAST, OSV (composer.lock), injection SQL, injection d'objets, flux d'authentification IA
Ruby Supporté Supporté Règles SAST, OSV (Gemfile.lock), modèles de sécurité Rails, assignation de masse
Rust Supporté Supporté Règles SAST, OSV (Cargo.lock), blocs unsafe, audit de panics
Scala Supporté Supporté Règles SAST, OSV (build.sbt), sécurité fonctionnelle
Swift / Objective-C Supporté Supporté Règles SAST, OSV (Package.resolved, Podfile.lock), stockage sécurisé iOS et IPC
Dart / Flutter Supporté Supporté OSV (pubspec.lock), détection de secrets, logique mobile
Solidity / Smart Contracts Secrets et Statique Supporté Réentrance, contournement de contrôle d'accès, manipulation d'oracles, raisonnement IA
Terraform / IaC / Docker Supporté Supporté Mauvaises configurations IaC, escalade de privilèges de conteneur, exposition de secrets
Autres Langages (Elixir, Erlang, Haskell, Julia, Lua, Perl, COBOL, Fortran, etc.) Secrets et SCA Supporté Analyse de secrets TruffleHog, SCA des lockfiles (via OSV) et raisonnement de code LLM généralisé