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
git-secrets — Te impide comprometer secretos y credenciales en repositorios git | Kitploit
Herramientas/GitHubGitHub/awslabs/git-secrets
Análisis de CódigoAuditoría de ConfiguraciónDevSecOpsDetección de SecretosTop en Detección de Secretos #4
GitHubawslabs/git-secrets

git-secrets

Te impide comprometer secretos y credenciales en repositorios git

Ver Repositorio
13.4k1.3k109hace 1 añoRevisado 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

=========== git-secrets


Evita que comprometas contraseñas y otra información sensible en un repositorio de git.

.. contents:: :depth: 2

Sinopsis

::

git secrets --scan [-r|--recursive] [--cached] [--no-index] [--untracked] [<files>...]
git secrets --scan-history
git secrets --install [-f|--force] [<target-directory>]
git secrets --list [--global]
git secrets --add [-a|--allowed] [-l|--literal] [--global] <pattern>
git secrets --add-provider [--global] <command> [arguments...]
git secrets --register-aws [--global]
git secrets --aws-provider [<credentials-file>]

Descripción

git-secrets escanea commits, mensajes de commit y fusiones --no-ff para evitar agregar secretos en tus repositorios git. Si un commit, mensaje de commit o cualquier commit en un historial de fusión --no-ff coincide con uno de tus patrones de expresiones regulares prohibidas configurados, entonces el commit es rechazado.

Instalación de git-secrets

git-secrets debe estar ubicado en algún lugar de tu PATH para que git lo reconozca al ejecutar git secrets.

*nix (Linux/macOS)


Puedes usar el objetivo ``install`` del Makefile proporcionado para instalar ``git secrets`` y la página de manual. Puedes personalizar la ruta de instalación usando las variables PREFIX y MANPREFIX.

::

    make install

Windows
~~~~~~~

Ejecuta el script de PowerShell ``install.ps1`` proporcionado. Esto copiará los archivos necesarios a un directorio de instalación (``%USERPROFILE%/.git-secrets`` por defecto) y agregará el directorio al ``PATH`` del usuario actual.

::

    PS > ./install.ps1

Homebrew (para usuarios de macOS)

::

brew install git-secrets

.. warning::

**¡Aún no has terminado! DEBES instalar los hooks de git para cada repositorio con el que desees usar** ``git secrets --install``.

Aquí hay un ejemplo rápido de cómo asegurarse de que un repositorio git sea escaneado en busca de secretos en cada commit::

cd /path/to/my/repo
git secrets --install
git secrets --register-aws

Configuración avanzada

Agrega una plantilla de configuración si deseas agregar hooks a todos los repositorios que inicialices o clones en el futuro.

::

git secrets --register-aws --global

Agrega hooks a todos tus repositorios locales.

::

git secrets --install ~/.git-templates/git-secrets
git config --global init.templateDir ~/.git-templates/git-secrets

Agrega proveedores personalizados para escanear credenciales de seguridad.

::

git secrets --add-provider -- cat /path/to/secret/file/patterns

Antes de hacer público un repositorio

Con git-secrets también es posible escanear un repositorio incluyendo todas las revisiones:

::

git secrets --scan-history

Opciones

Modos de operación


Cada una de estas opciones debe aparecer primero en la línea de comandos.

``--install``
    Instala los hooks de git para un repositorio. Una vez que los hooks están instalados para un repositorio git, los commits y las fusiones no fast-forward de ese repositorio se evitarán que comprometan secretos.

``--scan``
    Escanea uno o más archivos en busca de secretos. Cuando un archivo contiene un secreto, el texto coincidente del archivo escaneado se escribirá en la salida estándar y el script saldrá con un estado distinto de cero. Cada línea coincidente se escribirá con el nombre del archivo que coincidió, dos puntos, el número de línea que coincidió, dos puntos y luego la línea de texto que coincidió. Si no se proporcionan archivos, se escanean todos los archivos devueltos por ``git ls-files``.

``--scan-history``
    Escanea el repositorio incluyendo todas las revisiones. Cuando un archivo contiene un secreto, el texto coincidente del archivo escaneado se escribirá en la salida estándar y el script saldrá con un estado distinto de cero. Cada línea coincidente se escribirá con el nombre del archivo que coincidió, dos puntos, el número de línea que coincidió, dos puntos y luego la línea de texto que coincidió.

``--list``
    Lista la configuración de ``git-secrets`` para el repositorio actual o en la configuración global de git.

``--add``
    Agrega un patrón prohibido o permitido.

``--add-provider``
    Registra un proveedor de secretos. Los proveedores de secretos son ejecutables que, cuando se invocan, generan patrones prohibidos que ``git-secrets`` debe tratar como prohibidos.

``--register-aws``
    Agrega patrones comunes de AWS a la configuración de git y garantiza que las claves presentes en ``~/.aws/credentials`` no se encuentren en ningún commit. Se agregan las siguientes comprobaciones:

    - IDs de clave de acceso de AWS mediante ``(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}``
    - Claves de API de Amazon Bedrock. De larga duración mediante ``ABSK[A-Za-z0-9+/]{109,}=*`` y de corta duración mediante ``bedrock-api-key-YmVkcm9jay5hbWF6b25hd3MuY29t``
    - Asignaciones de clave secreta de acceso de AWS mediante ":" o "=" rodeados de comillas opcionales
    - Asignaciones de ID de cuenta de AWS mediante ":" o "=" rodeados de comillas opcionales
    - Patrones permitidos para claves de AWS de ejemplo (``AKIAIOSFODNN7EXAMPLE`` y ``wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY``)
    - Credenciales conocidas de ``~/.aws/credentials``

    .. note::

        Si bien los patrones registrados por este comando deberían detectar la mayoría de las instancias de credenciales de AWS, estos patrones **no** garantizan detectarlas **todas**. ``git-secrets`` debe usarse como un medio adicional de seguro; aún debes hacer tu debida diligencia para asegurarte de no comprometer credenciales en un repositorio.

``--aws-provider``
    Proveedor de secretos que genera las credenciales encontradas en un archivo INI. Opcionalmente puedes proporcionar la ruta a un archivo INI.


Opciones para ``--install``

-f, --force Sobrescribe los hooks existentes si están presentes.

<target-directory> Cuando se proporciona, instala los hooks de git en el directorio dado. Se asume el directorio actual si no se proporciona <target-directory>.

Si el ``<target-directory>`` proporcionado no está en un repositorio git, se creará el directorio y los hooks se colocarán en ``<target-directory>/hooks``. Esto puede ser útil para crear directorios de plantilla de git para usar con ``git init --template <target-directory>``.

Puedes ejecutar ``git init`` en un repositorio que ya ha sido inicializado. De la `documentación de git init <https://git-scm.com/docs/git-init>`_:

    De la documentación de git: Ejecutar ``git init`` en un repositorio existente es seguro. No sobrescribirá cosas que ya están allí. La razón principal para volver a ejecutar ``git init`` es recoger plantillas recién agregadas (o para mover el repositorio a otro lugar si se proporciona ``--separate-git-dir``).

Se instalan los siguientes hooks de git:

1. ``pre-commit``: Se usa para comprobar si alguno de los archivos modificados en el commit utiliza patrones prohibidos.
2. ``commit-msg``: Se usa para determinar si un mensaje de commit contiene un patrón prohibido.
3. ``prepare-commit-msg``: Se usa para determinar si un commit de fusión introducirá un historial que contenga un patrón prohibido en algún punto. Ten en cuenta que este hook solo se invoca para fusiones no fast-forward.

.. note::
Descargar herramienta