Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
gh-safe-repo — CLI Python che crea repository GitHub con impostazioni sicure predefinite — protezione dei branch, Dependabot, scansione dei segreti e scansione di sicurezza pre-flight — applicate automaticamente. | Kitploit
Strumenti/GitHubGitHub/ariesq/gh-safe-repo
Utilità GenericheScanner di VulnerabilitàScripting e AutomazioneAudit di ConfigurazioneSicurezza CloudDevSecOpsRilevamento Segreti
GitHubariesq/gh-safe-repo

gh-safe-repo

CLI Python che crea repository GitHub con impostazioni sicure predefinite — protezione dei branch, Dependabot, scansione dei segreti e scansione di sicurezza pre-flight — applicate automaticamente.

Vedi Repository
383246 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

gh-safe-repo

CI

Crea repository GitHub con impostazioni sicure predefinite, con un solo comando.

gh-safe-repo create <owner/repo>

La protezione dei branch, i tag immutabili, le Actions bloccate, Dependabot, la scansione dei segreti con push protection e la segnalazione privata delle vulnerabilità sono tutte configurate prima che tu effettui il primo commit. Lo stesso strumento verifica e corregge i repository che possiedi già, e scansiona il codice locale alla ricerca di segreti prima che lasci la tua macchina.

Stato: il flusso di lavoro principale è stabile e verificato end to end, ma la CLI è ancora in fase di rifinitura. Aspettati occasionali breaking change prima della 1.0.

Contenuti

  • Cosa ottieni
  • Installazione
  • Avvio rapido
  • Comandi
  • Riferimento CLI
  • Output — tabella del piano, JSON, verifica, codici di uscita
  • Default sicuri
  • Push del codice — --local e --from
  • Scanner pre-flight
  • Configurazione
  • Limitazioni dei piani GitHub
  • Uso con un agente AI
  • Come funziona
  • Sviluppo

Cosa ottieni

I default di GitHub privilegiano la reperibilità rispetto alla sicurezza: un nuovo repository non ha protezione dei branch, né Dependabot, e le Actions possono scrivere nel repository e approvare le proprie pull request. gh-safe-repo cambia tutto questo, e ti mostra il piano prima di toccare qualsiasi cosa:

  • Privato per default. Passa --public per renderlo pubblico.
  • Protezione dei branch. PR obbligatoria, una revisione approvatoria, revisioni obsolete scartate, conversazioni risolte, nessun force push, nessuna cancellazione dei branch.
  • Tag immutabili. I tag di release non possono essere riscritti o eliminati.
  • Actions bloccate. Token in sola lettura, nessuna PR auto-approvata, actions con SHA fissato, solo publisher di proprietà GitHub e verificati.
  • Dependabot attivo. Avvisi sulle vulnerabilità più PR di correzione automatiche.
  • Scansione dei segreti con push protection. I commit contenenti segreti supportati vengono bloccati.
  • Segnalazione privata delle vulnerabilità. I ricercatori possono contattarti privatamente.
  • Scansione pre-flight dei segreti. Quando effettui il push di codice esistente, il working tree e la cronologia git vengono scansionati localmente prima.
  • Extra opzionali. Wiki, progetti e issue vengono lasciati invariati a meno che tu non li gestisca nella configurazione.

Ogni impostazione è configurabile. Vedi Default sicuri per i valori esatti e Configurazione per come modificarli.

Installazione

Requisiti:

  • Python 3.10+
  • gh CLI autenticato (gh auth login), oppure GITHUB_TOKEN impostato nell'ambiente
  • uv per installare dal sorgente
  • truffleHog v3 (opzionale) per lo scanner pre-flight. Viene cercato nel PATH o eseguito tramite podman/docker; in assenza di entrambi, viene usato uno scanner regex.

Il push del codice con --local o --from richiede anche le tue normali credenziali git per GitHub. Vedi Push del codice.

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

Per eseguire senza installare:

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

Avvio rapido

1. Anteprima. --dry-run non effettua chiamate API e non crea nulla.

$ 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.

Le righe SKIP sono ciò che un repo privato su un piano gratuito mostra. Tali funzionalità richiedono un repo pubblico o un piano a pagamento, e lo strumento lo segnala invece di fallire silenziosamente. Vedi Limitazioni del piano GitHub.

2. Applica. Rimuovi --dry-run. Vedi lo stesso piano, poi un prompt di conferma (--yes lo salta).

gh-safe-repo create AriESQ/demo-repo

3. Inizia a lavorare. In caso di successo ottieni una sezione Verified (ogni impostazione riletta da GitHub) e un banner con comandi pronti da incollare:

╭─ 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-…      │
╰──────────────────────────────────────────────────────────╯

Il tuo protocollo preferito (gh config get -h github.com git_protocol) è elencato per primo.

Comandi

Creare un nuovo repository

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

Il repository viene inizializzato in modo che esista un branch predefinito (la protezione del branch ne richiede uno), poi il file README.md generato automaticamente viene eliminato per iniziare da zero. Imposta auto_init = true nella configurazione per conservarlo. Il proprietario deve corrispondere al tuo account autenticato; questo protegge da errori su sistemi con più account.

Eseguire il push di un progetto locale esistente

gh-safe-repo create <owner/repo> --local ~/projects/myapp
Scarica lo strumento