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.

FeedsContactoPrivacidad© 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
38324hace 6 díasRevisado 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

CI

Crea repositorios de GitHub con configuraciones seguras predeterminadas aplicadas, con un solo comando.

gh-safe-repo create <owner/repo>

La protección de ramas, las etiquetas inmutables, las Actions restringidas, Dependabot, el escaneo de secretos con protección de push y la notificación privada de vulnerabilidades se configuran antes de que hagas tu primer commit. La misma herramienta audita y corrige repositorios que ya tienes, y escanea el código local en busca de secretos antes de que salga de tu máquina.

Estado: el flujo de trabajo principal es estable y está verificado de extremo a extremo, pero la CLI aún se está puliendo. Es posible que haya cambios disruptivos ocasionales antes de la versión 1.0.

Contenido

  • Lo que obtienes
  • Instalación
  • Inicio rápido
  • Comandos
  • Referencia de la CLI
  • Salida — tabla del plan, JSON, verificación, códigos de salida
  • Valores predeterminados seguros
  • Subir código — --local y --from
  • Escáner previo
  • Configuración
  • Limitaciones de los planes de GitHub
  • Uso con un agente de IA
  • Cómo funciona
  • Desarrollo

Lo que obtienes

Los valores predeterminados de GitHub favorecen la descubribilidad sobre la seguridad: un repositorio nuevo no tiene protección de ramas, ni Dependabot, y tiene Actions que pueden escribir en el repositorio y aprobar sus propias pull requests. gh-safe-repo cambia eso, y te muestra el plan antes de tocar nada:

  • Privado por defecto. Usa --public para hacerlo público.
  • Protección de ramas. Se requiere PR, una revisión aprobatoria, las revisiones obsoletas se descartan, las conversaciones resueltas, sin force pushes, sin eliminación de ramas.
  • Etiquetas inmutables. Las etiquetas de versión no se pueden reescribir ni eliminar.
  • Actions restringidas. Token de solo lectura, sin PRs autoaprobadas, actions fijadas por SHA, solo publicadores propiedad de GitHub y verificados.
  • Dependabot activado. Alertas de vulnerabilidades más PRs de corrección automáticos.
  • Escaneo de secretos con protección de push. Los commits que contienen secretos compatibles se bloquean.
  • Notificación privada de vulnerabilidades. Los investigadores pueden contactarte de forma privada.
  • Escaneo de secretos previo. Al subir código existente, el árbol de trabajo y el historial de git se escanean localmente primero.
  • Extras opcionales. Wiki, proyectos e issues se dejan intactos a menos que los gestiones en la configuración.

Cada ajuste es configurable. Consulta Valores predeterminados seguros para conocer los valores exactos y Configuración para saber cómo cambiarlos.

Instalación

Requisitos:

  • Python 3.10+
  • La CLI gh con sesión iniciada (gh auth login), o GITHUB_TOKEN definido en el entorno
  • uv para instalar desde el código fuente
  • truffleHog v3 (opcional) para el escáner previo. Se busca en PATH o se ejecuta mediante podman/docker; sin ninguno de los dos, se usa un escáner basado en regex.

Subir código con --local o --from también requiere tus credenciales de git habituales para GitHub. Consulta Subir código.

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

Para ejecutar sin instalar:

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

Inicio rápido

1. Vista previa. --dry-run no realiza llamadas a la API y no 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 son lo que parece un repositorio privado en un plan gratuito. Esas funciones requieren un repositorio público o un plan de pago, y la herramienta lo indica en lugar de fallar silenciosamente. Consulta Limitaciones del plan de GitHub.

2. Aplicar. Elimina --dry-run. Verás el mismo plan, luego un mensaje de confirmación (--yes lo omite).

gh-safe-repo create AriESQ/demo-repo

3. Empieza a trabajar. Si todo va bien, obtendrás una sección Verified (cada ajuste releído desde GitHub) y un banner con comandos 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-…      │
╰──────────────────────────────────────────────────────────╯

Tu protocolo preferido (gh config get -h github.com git_protocol) aparece en primer lugar.

Comandos

Crear un nuevo repositorio

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

El repositorio se inicializa para que exista una rama predeterminada (la protección de ramas necesita una), luego se elimina el README.md autogenerado para que empieces limpio. Establece auto_init = true en la configuración para conservarlo. El propietario debe coincidir con tu cuenta autenticada; esto protege contra errores en sistemas con múltiples cuentas.

Subir un proyecto local existente

gh-safe-repo create <owner/repo> --local ~/projects/myapp
Descargar herramienta