Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Vérification de la configuration des Git Hooks

Vérifie les configurations de hooks pre-commit, lefthook et husky : dépôts de hooks en HTTP non chiffré, révisions de branche, hooks qui envoient curl dans un shell, jetons dans les fichiers de hooks, outils de hooks sans version épinglée et scanners de secrets absents ou ignorés.

$5.00

Ce que vous recevez : 1 fichier · 58.59 KB · ZIP

Voir les options d'achat

Description du produit

Un .pre-commit-config.yaml avec rev: stable semble épinglé, mais pre-commit ne met jamais à jour une révision de branche, et chaque nouveau clone récupère ce que contient cette branche ce jour-là. Un hook local dont l'entry est bash -c 'curl ... | sh' exécute un script téléchargé à chaque commit, sur l'ordinateur portable de chaque développeur. Un hook gitleaks listé sous ci: skip n'analyse jamais les commits qui l'ont ignoré en local. Ce skill détecte ces erreurs ainsi que les autres erreurs de hooks git ci-dessous, et vous indique comment corriger chacune d'elles.

Votre agent exécute un scanner sur .pre-commit-config.yaml (avec sa section ci: pour pre-commit.ci) et .pre-commit-hooks.yaml, les configurations lefthook en YAML, JSON ou TOML (fichiers lefthook-local et remotes compris) et les scripts de .lefthook/, les scripts de hooks husky dans .husky/, les scripts de hooks dans .githooks/ et les dossiers similaires, simple-git-hooks et l'ancienne configuration husky dans package.json, ainsi que les scripts shell, Makefiles et scripts package.json qui installent ou contournent des hooks. Il ignore les commentaires, joint les lignes continuées, utilise le propre test de pre-commit pour les révisions de branche et traite $VAR et ${{ secrets.X }} comme des valeurs conservées hors du fichier. Il n'exécute jamais de hook, git ni aucun outil et n'utilise jamais le réseau. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.

Ce qui est vérifié

BLOCK (à corriger avant la livraison)

  • G01 : dépôts de hooks récupérés via http:// ou git:// (repo: de pre-commit, git_url d'un remote lefthook)
  • G02 : révisions pre-commit qui désignent une branche, HEAD, un tag mobile ou rien du tout (rev: main, rev: stable, rev: '')
  • G03 : hooks qui téléchargent du code et l'exécutent (curl ou wget redirigé vers un shell ou un interpréteur qui lit le téléchargement comme son programme, sh -c "$(curl ...)", bash <(wget ...), iex (irm ...), ou un fichier téléchargé exécuté sans vérification de somme de contrôle) ; les indications d'installation qu'un hook se contente d'afficher ne sont pas comptées
  • G04 : jetons, mots de passe et clés dans les configurations et scripts de hooks (valeurs env, arguments --token et --password, en-têtes Authorization, mot de passe dans une URL de dépôt, formats de jetons connus) ; les noms de fichiers, chemins et mots de paramètres comme enabled ne sont pas signalés

REVIEW (à vérifier avant la publication)

  • G11 : révisions pre-commit épinglées sur des tags plutôt que sur des SHA de commits
  • G12 : remotes lefthook sans ref ou avec une branche comme ref
  • G13 : outils de hooks récupérés sans version (additional_dependencies, images Docker sans tag ou avec :latest, npx --yes, bunx, pnpm et yarn dlx, uvx, pipx run, go run @latest)
  • G14 : projets avec des hooks git mais sans hook d'analyse des secrets
  • G15 : scanners de secrets ignorés dans pre-commit.ci, limités au stage manual, exclus de tous les fichiers ou réglés sur skip dans lefthook
  • G16 : contournements de hooks dans les scripts et messages de hooks (--no-verify, git commit -n, HUSKY=0, LEFTHOOK=0, SKIP= nommant un scanner de secrets, core.hooksPath défini sur /dev/null)
  • G17 : scripts du projet qui définissent core.hooksPath avec --global ou --system
  • G18 : vérifications TLS ou de clé d'hôte désactivées dans les hooks (curl -k, http.sslVerify false, NODE_TLS_REJECT_UNAUTHORIZED=0, --trusted-host et autres)
  • G19 : configurations de hooks que l'outil ne charge jamais (configuration husky v4 avec husky 5 ou ultérieur, .pre-commit-config.yml, deux configurations lefthook dans un même dossier)

Ce qui est inclus

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec la raison, l'approche plus sûre et la source officielle de chaque règle
  • Un exemple risqué et un exemple sûr (une API avec pre-commit, une application web avec lefthook, une application mobile avec husky), ainsi que le rapport réel produit par le scanner sur l'exemple risqué

Limites

Chaque fichier est lu tel qu'il est écrit. Les dépôts de hooks distants et les configurations distantes de lefthook sont nommés mais pas récupérés, donc le code qu'ils apportent n'est pas vérifié. Les hooks déjà installés dans .git/hooks, le core.hooksPath défini dans votre configuration git, les scripts appelés par un hook et les workflows CI qui exécutent pre-commit ne sont pas lus. G11 (révisions épinglées sur des tags) et G14 (aucun hook d'analyse des secrets) se déclenchent sur la plupart des configurations, y compris l'exemple de démarrage rapide de pre-commit et les projets husky par défaut ; l'agent les présente comme des conseils de renforcement, pas comme des problèmes. G14 ne peut pas voir l'analyse côté serveur comme GitHub push protection. NOT FLAGGED n'est pas une garantie.

Contenu

Un fichier ZIP de 22 fichiers : SKILL.md, le scanner dans scripts/ (10 fichiers Python), references/rules.md (chaque règle avec sa raison et son approche plus sûre) et examples/ (11 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple risqué).

Utilisation : Il s'agit d'un skill d'agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de codage IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou ultérieur, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.

Ce que vous recevez

1 fichier · 58.59 KB

  • git-hooks-config-check-1.0.0.zipZIP · 58.59 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.

Publié12 nov. 2026
Taille du fichier58.59 KB
Format du fichierZIP
Versionv1.0

Tags

git-hookspre-commitlefthookhuskysupply-chainai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 58.59 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00