Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gh-safe-repo — CLI Python qui crée des dépôts GitHub avec des paramètres par défaut sécurisés — protection des branches, Dependabot, scanning des secrets et analyse de sécurité préalable — appliqués automatiquement. | Kitploit
Outils/GitHubGitHub/ariesq/gh-safe-repo
Utilitaires GénérauxScanners de VulnérabilitésScripting et AutomatisationAudit de ConfigurationSécurité CloudDevSecOpsDétection de Secrets
GitHubariesq/gh-safe-repo

gh-safe-repo

CLI Python qui crée des dépôts GitHub avec des paramètres par défaut sécurisés — protection des branches, Dependabot, scanning des secrets et analyse de sécurité préalable — appliqués automatiquement.

Voir le dépôt
38324il y a 5 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

gh-safe-repo

CI

Créez des dépôts GitHub avec des paramètres par défaut sécurisés appliqués, en une seule commande.

gh-safe-repo create <owner/repo>

La protection des branches, les tags immuables, les Actions verrouillées, Dependabot, l'analyse des secrets avec protection push et le signalement privé des vulnérabilités sont tous configurés avant que vous ne poussiez votre premier commit. Le même outil audite et corrige les dépôts que vous possédez déjà, et analyse le code local à la recherche de secrets avant qu'il ne quitte votre machine.

Statut : le workflow principal est stable et vérifié de bout en bout, mais la CLI est encore en cours de finalisation. Attendez-vous à d'occasionnels changements cassants avant la 1.0.

Sommaire

  • Ce que vous obtenez
  • Installation
  • Démarrage rapide
  • Commandes
  • Référence CLI
  • Sortie — tableau du plan, JSON, vérification, codes de sortie
  • Valeurs par défaut sûres
  • Pousser du code — --local et --from
  • Scanner de pré-vol
  • Configuration
  • Limitations des plans GitHub
  • Utilisation avec un agent IA
  • Fonctionnement
  • Développement

Ce que vous obtenez

Les valeurs par défaut de GitHub privilégient la découvrabilité à la sécurité : un nouveau dépôt n'a ni protection de branche, ni Dependabot, et des Actions qui peuvent écrire dans le dépôt et approuver leurs propres pull requests. gh-safe-repo change cela, et vous montre le plan avant de toucher à quoi que ce soit :

  • Privé par défaut. Passez --public pour le rendre public.
  • Protection de branche. PR requise, une revue approbatrice, revues obsolètes rejetées, conversations résolues, pas de force push, pas de suppression de branche.
  • Tags immuables. Les tags de release ne peuvent être réécrits ni supprimés.
  • Actions verrouillées. Token en lecture seule, pas de PR auto-approuvées, actions épinglées par SHA, uniquement les éditeurs appartenant à GitHub et vérifiés.
  • Dependabot activé. Alertes de vulnérabilité plus PR de correction automatiques.
  • Analyse des secrets avec protection push. Les commits contenant des secrets pris en charge sont bloqués.
  • Signalement privé des vulnérabilités. Les chercheurs peuvent vous contacter en privé.
  • Analyse de secrets de pré-vol. Lors de la poussée de code existant, l'arbre de travail et l'historique git sont analysés localement au préalable.
  • Extras optionnels. Wiki, projets et issues sont laissés de côté sauf si vous les gérez dans la configuration.

Chaque paramètre est configurable. Voir Valeurs par défaut sûres pour les valeurs exactes et Configuration pour savoir comment les modifier.

Installation

Prérequis :

  • Python 3.10+
  • La CLI gh connectée (gh auth login), ou GITHUB_TOKEN défini dans l'environnement
  • uv pour installer depuis les sources
  • truffleHog v3 (optionnel) pour le scanner de pré-vol. Il est trouvé dans le PATH ou exécuté via podman/docker ; sans l'un ou l'autre, un scanner à expressions régulières est utilisé.

Pousser du code avec --local ou --from nécessite également vos identifiants git habituels pour GitHub. Voir Pousser du code.

git clone https://github.com/AriESQ/gh-safe-repo
cd gh-safe-repo
uv tool install .
gh-safe-repo --help

Pour exécuter sans installation :

uv sync
./gh-safe-repo create <owner/repo>

Démarrage rapide

1. Aperçu. --dry-run n'effectue aucun appel API et ne crée rien.

$ gh-safe-repo create AriESQ/demo-repo --dry-run

Configuring AriESQ/demo-repo...

Planned Changes
Type    Category           Setting                                 Value / Note
------  -----------------  --------------------------------------  ----------------------------------------------------------------
ADD     repo               repository                              AriESQ/demo-repo
DELETE  file               readme                                  README.md
UPDATE  actions            allowed_actions                         'all' → 'selected'
UPDATE  actions            verified_allowed                        False → True
UPDATE  actions            sha_pinning_required                    False → True
UPDATE  actions            default_workflow_permissions            'write' → 'read'
UPDATE  actions            can_approve_pull_request_reviews        True → False
SKIP    branch_protection  branch_protection                       Branch protection requires a public repo or paid GitHub plan
SKIP    security           dependabot_alerts                       Requires a public repo or paid GitHub plan
SKIP    security           secret_scanning                         Requires a public repo or paid GitHub plan
SKIP    security           dependabot_security_updates             Requires a public repo or paid GitHub plan
SKIP    security           private_vulnerability_reporting         Requires a public repo or paid GitHub plan
SKIP    security           enable_dependency_graph                 Requires a public repo or paid GitHub plan
SKIP    security           enable_secret_scanning_push_protection  Requires a public repo or paid GitHub plan
SKIP    tag_protection     tag_protection                          Tag protection rulesets require a public repo or paid GitHub plan

7 change(s) to apply, 8 skipped

Dry run — no changes made.

Les lignes SKIP correspondent à ce à quoi ressemble un dépôt privé sur un plan gratuit. Ces fonctionnalités nécessitent un dépôt public ou un plan payant, et l'outil l'indique plutôt que d'échouer silencieusement. Voir Limitations des plans GitHub.

2. Appliquer. Retirez --dry-run. Vous voyez le même plan, puis une invite de confirmation (--yes la contourne).

gh-safe-repo create AriESQ/demo-repo

3. Commencez à travailler. En cas de succès, vous obtenez une section Verified (chaque paramètre relu depuis GitHub) et une bannière avec des commandes prêtes à coller :

╭─ Done ───────────────────────────────────────────────────╮
│   Repository created successfully!                       │
│   https://github.com/AriESQ/demo-repo                    │
│                                                          │
│   Add remote to existing repo:                           │
│   SSH  : git remote add origin [email protected]:AriESQ/…   │
│   HTTPS: git remote add origin https://github.com/…      │
│                                                          │
│   Clone fresh:                                           │
│   SSH  : git clone [email protected]:AriESQ/demo-repo.git   │
│   HTTPS: git clone https://github.com/AriESQ/demo-…      │
╰──────────────────────────────────────────────────────────╯

Votre protocole préféré (gh config get -h github.com git_protocol) est listé en premier.

Commandes

Créer un nouveau dépôt

gh-safe-repo create <owner/repo>            # private (default)
gh-safe-repo create <owner/repo> --public   # public: branch and tag protection apply

Le dépôt est initialisé afin qu'une branche par défaut existe (la protection de branche en a besoin), puis le fichier README.md généré automatiquement est supprimé pour que vous partiez d'une base propre. Définissez auto_init = true dans la configuration pour le conserver. Le propriétaire doit correspondre à votre compte authentifié ; cela protège contre les erreurs sur les systèmes multi-comptes.

Pousser un projet local existant

Télécharger l’outil