Aller au contenu principal

Ce qui est scanné

Le scan machine ggshield fonctionne selon trois modes qui contrôlent la profondeur de couverture :

  • Quick mode : se concentre sur les chemins riches en identifiants (historique du shell, fichiers de configuration, dotfiles). Le plus rapide, avec la plus faible surcharge.
  • Standard mode : parcours complet du système de fichiers plus des sources supplémentaires telles que les variables d'environnement et le répertoire temporaire. Le mode par défaut pour ggshield machine report.
  • Full mode : identique au mode standard mais inclut également les artefacts de build et les répertoires de dépendances qui sont ignorés par défaut.

Fichiers​

Le moteur effectue un parcours complet du système de fichiers, couvrant tout fichier susceptible de contenir un secret :

  • Fichiers d'historique du shell (.zsh_history, .bash_history, etc.)
  • Fichiers de configuration (.env, .gitconfig, .npmrc, configurations SSH, fichiers d'identifiants)
  • Magasins d'identifiants cloud (par exemple ~/.aws, GCP, ou caches de la CLI Azure)
  • Caches et historiques d'agents de codage IA (Cursor, Claude Code, Copilot, configurations MCP, etc.)
  • Répertoires temporaires et stockage des navigateurs
  • Fichiers de données structurées (CSV, SQL, XLSX, PDF, SQLite)
  • Archives (.zip, .jar, .war, .ear) et fichiers compressés (.gz, .bz2, .xz, .zst)
  • Tout fichier correspondant à des motifs associés aux secrets (clés API, tokens, certificats, clés privées)

Les équipes de sécurité peuvent définir des listes d'exclusion pour exclure des répertoires ou types de fichiers spécifiques du périmètre de scan.

remarque

Le scan machine se concentre sur l'accumulation d'identifiants sur l'ensemble du système de fichiers et ne se limite pas aux dépôts Git.

Sources non-fichiers​

Le scan machine scanne également des sources locales qui ne sont pas des fichiers ordinaires. Celles-ci sont incluses par défaut dans les modes standard et full :

SourceCe qui est scannéDésactivation
Variables d'environnementValeurs d'environnement du processus courant.--no-scan-env
Registre WindowsEmplacements d'identifiants du registre lisibles par l'utilisateur sous Windows.--no-scan-registry
Répertoire temporaire$TMPDIR, /tmp, et les racines temporaires de la plateforme. Sous macOS, uniquement la racine temporaire propre à l'utilisateur.--no-scan-temp

Le quick mode se concentre sur les chemins d'identifiants et peut ne pas inclure toutes les sources supplémentaires selon le wrapper de commande.

Exclusions de répertoires intégrées​

En mode standard, ggshield ignore automatiquement les répertoires qui sont généralement volumineux, générés, riches en binaires ou peu susceptibles de contenir des secrets utilisateur :

CatégorieExemples
Dépendances et sortie de buildnode_modules, .venv, venv, target, dist, build, .next, .nuxt, Pods, DerivedData
Caches et caches de paquets.cache, __pycache__, .npm/_cacache, .cargo/registry, .m2/repository, .gradle/caches, .pnpm-store
Internes de gestion de versions.git, .svn, .hg
Médias et bibliothèques utilisateurMovies, Music, Pictures, Photos Library.photoslibrary
Machines virtuelles et runtimesOrbStack, Parallels, VMs VirtualBox, .colima, .lima, .multipass, .vagrant.d
Caches de navigateurs et d'applicationsCaches Chrome/Edge et caches de service workers, rapports de plantage Firefox, logs Slack
État du scanner.ggshield, .gitguardian

Pour inclure les répertoires de build et de dépendances, utilisez --thorough avec le plugin ou --full sur la CLI native. Pour des remplacements persistants, utilisez scan.extra_skip_dirs et scan.include_dirs dans votre fichier de configuration.

Zones ignorées par défaut​

Certaines zones sont délibérément exclues sauf si vous choisissez de les inclure, pour des raisons de confidentialité, de performance ou de sécurité :

ZoneRaison de l'exclusionActivation
Répertoires protégés par TCC macOSDesktop, Documents, Downloads, Mail, Messages, Safari et chemins similaires déclenchent des invites de confidentialité macOS.--include-protected
Systèmes de fichiers distants et réseauLes lecteurs réseau (NFS, SMB, SSHFS) et les lecteurs cloud (OneDrive, Google Drive, Dropbox, iCloud Drive, Box) peuvent être lents, partagés ou déclencher des téléchargements cloud.--include-remote-fs (plugin 0.64.0 ou ultérieur) ; config : scan.skip_remote_fs: false
Pseudo-systèmes de fichiers du noyauLes entrées procfs, sysfs, cgroupfs, debugfs peuvent indiquer une taille erronée et diffuser des données illimitées.--include-pseudo-fs
Répertoires personnels d'autres utilisateursNécessite des privilèges élevés et modifie la frontière de confidentialité.--scan-all-users ; ajoutez --include-root pour les répertoires personnels de root
Checkouts de dépôts publicsLes clones open-source créent souvent du bruit sans rapport avec le risque de la machine locale.scan.skip_public_repositories: false
remarque

Avec --include-remote-fs, les fichiers stockés uniquement dans le cloud sont téléchargés lorsque le scan les lit.