Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gh-safe-repo — CLI de Python que crea repositorios de GitHub con valores predeterminados seguros: protección de ramas, Dependabot, escaneo de secretos y escaneo de seguridad previo al vuelo, aplicados automáticamente. | Kitploit
Herramientas/GitHubGitHub/ariesq/gh-safe-repo
Utilidades de Propósito GeneralEscáneres de VulnerabilidadesScripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad en la NubeDevSecOpsDetección de Secretos
GitHubariesq/gh-safe-repo

gh-safe-repo

CLI de Python que crea repositorios de GitHub con valores predeterminados seguros: protección de ramas, Dependabot, escaneo de secretos y escaneo de seguridad previo al vuelo, aplicados automáticamente.

Ver Repositorio
38312hace 1 díaRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

gh-safe-repo

Crea repositorios de GitHub con valores predeterminados seguros aplicados automáticamente. Reemplaza la lista de verificación de configuración posterior a la creación de cinco minutos con un solo comando.``` gh-safe-repo create <owner/repo>

La protección de ramas, las etiquetas inmutables, Dependabot, los permisos restringidos de Actions y el escaneo de secretos con protección de push — todo configurado antes de que escribas tu primera línea de código.

> **Estado:** gh-safe-repo está en pleno desarrollo. Funciona bien para el caso de uso principal — crear un nuevo repositorio con valores predeterminados seguros — pero las opciones de la CLI todavía se están puliendo para ajustarse mejor a las expectativas de los usuarios. Espera cambios que rompan la compatibilidad hasta que las versiones y CI/CD estén definidos. ✌️

---

## Qué obtienes

Los valores predeterminados de GitHub están optimizados para la descubribilidad y la flexibilidad, no para la seguridad: cada repositorio nuevo se crea sin protección de ramas, sin Dependabot y con Actions que tienen acceso de escritura al repositorio y pueden aprobar sus propias pull requests.

`gh-safe-repo` soluciona todo eso de una vez, mostrándote primero un plan:

- **Privado por defecto** — pasa `--public` cuando quieras que el mundo lo vea
- **Protección de ramas** — PR obligatoria, 1 revisión aprobatoria, revisiones obsoletas descartadas, conversaciones resueltas, sin force pushes, sin eliminación de ramas
- **Etiquetas inmutables** — las etiquetas de release no se pueden reescribir ni eliminar
- **Actions bloqueadas** — token de solo lectura, sin PRs autoaprobadas, acciones fijadas por SHA, solo publicadores propiedad de GitHub y verificados
- **Dependabot activado** — alertas de vulnerabilidades más PRs de corrección automáticas
- **Escaneo de secretos con protección de push** — se bloquean los commits que contienen secretos compatibles
- **Informes privados de vulnerabilidades** — los investigadores pueden contactarte sin hacerlo público
- **Escaneo de secretos previo** — al hacer push de código existente (`--local` / `--from`), tu árbol de trabajo y el historial de git se escanean localmente antes de que nada llegue a GitHub
- **Extras opcionales** — wiki, projects e issues se dejan intactos a menos que solicites que se gestionen (`has_wiki = false` en la configuración)

Todo es configurable. Consulta [Valores predeterminados seguros en detalle](#safe-defaults-in-full) para ver la configuración exacta y [Configuración](#configuration) para saber cómo cambiarla.

## Requisitos

- **Python 3.10+**
- **[`gh` CLI](https://cli.github.com/)** autenticado (`gh auth login`), **o** `GITHUB_TOKEN` definido en tu entorno
- **[`uv`](https://docs.astral.sh/uv/)** para la instalación desde el código fuente
- **truffleHog v3** *(opcional)* — usado por el escáner previo; se detecta automáticamente desde PATH o se ejecuta mediante podman/docker, con un fallback de regex si ninguno existe

Hacer push de código con `--local` o `--from` requiere además tus credenciales normales de git para GitHub — consulta [Trabajar desde código local o existente](#working-from-local-or-existing-code).

## Instalación```bash
git clone https://github.com/AriESQ/gh-safe-repo
cd gh-safe-repo
uv tool install .

gh-safe-repo --help

Esto instala gh-safe-repo en el entorno de herramientas de uv y lo añade a tu PATH.

Para ejecutarlo sin instalarlo:```bash uv sync # creates .venv ./gh-safe-repo create <owner/repo>

## Tu primer repositorio

**1. Vista previa.** `--dry-run` no realiza ninguna llamada a la API — no se crea nada:```
$ 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.

Las filas SKIP anteriores corresponden a un repositorio privado del plan gratuito: esas características requieren un repositorio público o un plan de pago. Nada falla silenciosamente — consulta Limitaciones del plan de GitHub.

2. Aplicar. El mismo comando sin --dry-run. Obtienes el mismo plan y, a continuación, un mensaje de confirmación (--yes lo omite):```bash gh-safe-repo create AriESQ/demo-repo

**3. Empieza a trabajar.** Si tiene éxito, obtienes la URL del repositorio y comandos remotos listos para pegar:```
╭─ 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-…      │
╰──────────────────────────────────────────────────────────╯

Los remotos se listan con tu protocolo preferido primero (gh config get -h github.com git_protocol).

Tareas comunes

Crear un repositorio```bash

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

Un `create` simple inicializa el repositorio para que exista una rama por defecto (la protección de rama necesita una), luego elimina el `README.md` autogenerado para que empieces desde cero. Establece `auto_init = true` en la configuración para conservarlo.
Descargar herramienta