IBM Cloud Docs
Configuration des analyses Detect-Secrets

Configuration des analyses Detect-Secrets

Detect-secrets est un outil de sécurité côté client qui détecte les secrets dans un codebase pour corriger et empêcher les fuites de secrets.

Pour plus d'informations, voir IBM/detect-secrets.

Detect-secrets analyse la totalité du codebase en cours et génère un instantané des secrets actuellement identifiés. La liste des secrets est ensuite utilisée pour auditer les secrets identifiés en tant que vrais positifs ou faux positifs, les chaînes d'outils DevSecOps créent ensuite des problèmes Git pour les vrais positifs.

Utilisation du fichier de version de référence

Un fichier de version de référence est l'instantané d'une analyse de secret de détection. Le fichier répertorie les secrets potentiels sur chaque exécution et marque les faux positifs, qui ne sont pas marqués comme problèmes lors des exécutions suivantes.

Le fichier de version de référence doit être mis à jour régulièrement. Mettez à jour et auditez le fichier de version de référence en le validant et en le repoussant dans le référentiel. L'inclusion de ces faux positifs dans la version de référence garantit qu'aucun problème n'est créé pour ces fichiers existants lors de futurs examens.

Classification des secrets

Lorsqu'une analyse de secrets de détection est terminée, les secrets détectés doivent encore être classifiés en tant que vrais positifs ou faux positifs.

Trois conditions classifient un secret potentiellement détecté:

  • Non audité-Un secret est catégorisé comme non audité s'il s'agit d'un secret potentiel qui doit être révisé dans le processus d'audit.
  • Audité comme réel-Un secret est catégorisé comme étant réel s'il est marqué comme étant un vrai positif lors d'un audit et que le fichier de référence contient toujours le secret.
  • En direct-Un secret est catégorisé en tant que secret actif si le secret est confirmé en tant que secret actif par les plug-in utilisés par detect-secrets.

Gestion de la version de référence

Les commandes suivantes permettent de gérer la version de référence des secrets:

  • La commande detect-secrets scan génère un fichier de version de référence ou met à jour le fichier existant pour qu'il contienne une image instantanée de tous les secrets potentiels détectés lors de l'exécution.
  • La commande detect-secrets audit étiquette les secrets afin que vous puissiez affiner votre liste de contrôle des secrets à migrer.

Les audits identifient les secrets détectés comme vrais ou faux positifs. Vous pouvez ensuite mettre à jour le fichier de référence afin que les faux positifs puissent être exclus des exécutions d'analyse ultérieures.

mise à jour de la version de référence

Pour mettre à jour votre version de référence, procédez comme suit:

  1. Installez detect-secrets sur votre ordinateur local:

    pip install --upgrade "git+https://github.com/ibm/detect-secrets.git@master#egg=detect-secrets"

  2. Exécutez les commandes suivantes pour analyser, générer ou mettre à jour le fichier de version de référence dans votre référentiel:

    1. Exécutez la commande suivante pour analyser le dossier de référentiel:

      detect-secrets scan --update .secrets.baseline

      Vous pouvez utiliser l'indicateur --exclude-files lorsque vous souhaitez ignorer certains fichiers qui contiennent des faux positifs ou qui ne nécessitent pas d'analyse. Les règles d'exclusion sont basées sur le format des expressions régulières.

      Pour effectuer une analyse avec des exclusions de fichier et de dossier, utilisez la commande suivante:

      detect-secrets scan --update .secrets.baseline --exclude-files '<folder_to_ignore>|<file_to_ignore>'

      Exemple: detect-secrets scan --update .secrets.baseline --exclude-files "package-lock.json|go.sum"

      La liste des fichiers exclus est enregistrée dans le fichier de référence.

      Si aucune option --exclude-files n'est fournie dans les examens suivants, la détection des secrets respecte automatiquement la liste d'exclusion existante du fichier de référence.

      Toutefois, si vous souhaitez spécifier une nouvelle liste d'exclusion lors de la detect-secrets scan, la nouvelle liste remplace la liste d'exclusion existante dans le fichier de version de référence.

    2. Exécutez la commande suivante pour examiner et auditer le fichier de version de référence créé avec l'étape d'analyse:

      detect-secrets audit .secrets.baseline

      Cette commande permet d'afficher un terminal interactif pour marquer les faux positifs. Vous pouvez indiquer (y) es si le secret trouvé est un secret réel ou (n) o s'il s'agit d'un faux positif.

    3. Validez et transférez le fichier .secrets.baseline dans le référentiel, son processus doit être effectué localement sur une base périodique.

Paramètres d'analyse Detect-secrets

Si vous disposez d'un fichier de version de référence existant, l'examen utilise la configuration existante. Vos résultats et paramètres d'audit précédents ne sont pas écrasés. S'il n'existe aucun fichier de version de référence, une version de référence temporaire est créée automatiquement pour l'exécution.

Le paramètre detect-secrets-baseline-filename spécifie un nom de fichier personnalisé pour le fichier de version de référence utilisé par detect-secrets. Par défaut, detect-secrets recherche un fichier nommé .secrets.baseline dans le répertoire racine du référentiel. Toutefois, si vous nommez votre fichier de version de référence différemment, vous pouvez fournir son nom de fichier à l'aide de ce paramètre.

Le paramètre detect-secrets-exclusion-list remplace la liste d'exclusion par défaut lorsqu'une exécution est effectuée sans fichier de version de référence existant. Ce paramètre identifie les fichiers à ignorer afin que les problèmes qui leur sont liés ne soient pas créés.

Le paramètre detect-secrets-image peut être utilisé pour spécifier une autre image detect-secrets à utiliser, telle qu'une image personnalisée ou une version spécifique de l'image detect-secrets officielle.

Le paramètre detect-secrets-verbose, lorsqu'il est défini sur 1, consigne le nom du fichier en cours d'analyse.

Tableau 1. Secrets-paramètres d'analyse
Nom Type Description Requise ou facultative
detect-secrets-baseline-filename Chaîne Nom du fichier de version de référence dans votre référentiel d'applications. La valeur par défaut est .secrets.baseline. Obligatoire si votre fichier de version de référence n'est pas le nom par défaut .secrets.baseline.
detect-secrets-exclusion-list Chaîne Liste d'expressions régulières de fichiers à exclure dans l'analyse detect-secrets. La valeur par défaut est requirements.txt|go.mod|go.sum|pom.xml|build.gradle|package-lock.json. Facultatif, cette liste de fichiers remplace la liste d'exclusion générale uniquement si aucun fichier .secrets.baseline n'est présent.
detect-secrets-image Chaîne Indique une autre image de secrets de détection, y compris des images personnalisées ou des versions spécifiques de l'image officielle. Facultatif
detect-secrets-verbose Chaîne Affiche le nom du fichier en cours d'analyse. La valeur par défaut est 0. Facultatif, indicateur de débogage 0-off, 1-on.