Aller au contenu principal

Commands

Endpoint Protection est piloté par les commandes sous ggshield machine. Le scan est géré par trois d'entre elles.

CommandeCe qu'elle faitEnvoie des données à GitGuardian
ggshield machine scanScanne la machine et stocke les résultats en local.Non
ggshield machine reportScanne la machine, puis envoie les résultats.Oui
ggshield machine submitEnvoie les résultats du dernier scan local, sans scanner à nouveau.Oui

ggshield machine dashboard ouvre le dashboard local pour parcourir les résultats du dernier scan sur la machine elle-même.

Configurer et vérifier une machine

Deux commandes supplémentaires, disponibles à partir de ggshield 1.53.0, gèrent les protections qui résident sur la machine plutôt que le scan lui-même.

CommandeCe qu'elle fait
ggshield machine setupConfigure l'AI Hook pour chaque assistant de codage IA détecté, installe les hooks git pre-commit et pre-push, et implante un honeytoken. Idempotente, elle fait donc aussi office de réparation.
ggshield machine doctorIndique si ces protections sont en place et si le token dispose des scopes dont elles ont besoin. En lecture seule, et se termine avec un code non nul si une vérification échoue.

Supprimez n'importe quelle partie de la configuration avec --no-ai-hooks, --no-git-hooks ou --no-honeytokens, et restreignez les assistants qui reçoivent le hook avec --agent ou --exclude-agent. Exécutez machine setup en tant que root, ou passez --system, pour installer les hooks git à l'échelle de la machine pour tous les utilisateurs.

Comme machine doctor se termine avec un code non nul en cas d'échec, il fonctionne directement comme un script d'audit MDM. Voir Déployer et vérifier.

Quelle commande de scan utiliser ?

  • Déploiement de flotte (MDM, tâche planifiée, CI) : ggshield machine report. Une seule invocation « fire-and-forget » qui scanne à neuf et téléverse le résultat. C'est la commande à placer dans votre tâche quotidienne.
  • Évaluation sur votre propre machine : ggshield machine scan --dashboard pour scanner et examiner en local, puis ggshield machine submit lorsque vous souhaitez les résultats dans GitGuardian.
  • Local uniquement, rien de téléversé : ggshield machine scan. Les résultats restent dans la base de données de résultats locale et ne quittent jamais la machine.

submit envoie le dernier scan terminé et ne prend aucune option de scan : le périmètre et le mode ont été décidés lors de l'exécution de machine scan. L'horodatage du téléversement est l'heure du scan, et non l'heure de l'envoi, si bien que renvoyer un ancien scan ne fait pas paraître l'endpoint comme récemment scanné.

remarque

Un scan exécuté avec sudo stocke ses résultats dans la base de données système. Exécutez submit avec sudo également, afin que les deux commandes utilisent la même base de données.

ggshield machine inventory est déprécié

ggshield machine inventory fonctionne toujours comme un alias de report (scan, puis envoi) afin que les tâches existantes continuent de s'exécuter, et il affiche un avis de dépréciation. Mettez à jour vos scripts MDM et vos tâches planifiées vers ggshield machine report.

Exemples

# Scan and send in one step (MDM / automation)
ggshield machine report

# Scan locally, review in the local dashboard, send later
ggshield machine scan --dashboard
ggshield machine submit

# Build the payload locally without sending anything
ggshield machine report --no-upload -o inventory.json

# Self-hosted instance
ggshield machine --instance https://gitguardian.example.com report

L'envoi nécessite des identifiants GitGuardian : le token stocké par ggshield auth login, ou une clé API dans la variable d'environnement GITGUARDIAN_API_KEY. Voir Déployer à grande échelle avec un token de compte de service pour les déploiements sans surveillance.