Commands
Endpoint Protection est piloté par les commandes sous ggshield machine. Le scan est
géré par trois d'entre elles.
| Commande | Ce qu'elle fait | Envoie des données à GitGuardian |
|---|---|---|
ggshield machine scan | Scanne la machine et stocke les résultats en local. | Non |
ggshield machine report | Scanne la machine, puis envoie les résultats. | Oui |
ggshield machine submit | Envoie 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.
| Commande | Ce qu'elle fait |
|---|---|
ggshield machine setup | Configure 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 doctor | Indique 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 --dashboardpour scanner et examiner en local, puisggshield machine submitlorsque 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é.
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.