Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
trustlock — Un controlador de admisión de dependencias nativo de Git. Evalúa señales de confianza en cada cambio de dependencia y bloquea commits o builds cuando los paquetes incumplen la política de tu equipo. Hook de pre-commit + puerta de CI con flujo de aprobación integrado. | Kitploit
Herramientas/GitHubGitHub/tayyabt/trustlock
Auditoría de ConfiguraciónDevSecOpsDetección de SecretosSeguridad de Cadena de Suministro
GitHubtayyabt/trustlock

trustlock

Un controlador de admisión de dependencias nativo de Git. Evalúa señales de confianza en cada cambio de dependencia y bloquea commits o builds cuando los paquetes incumplen la política de tu equipo. Hook de pre-commit + puerta de CI con flujo de aprobación integrado.

Ver Repositorio
214hace 4 mesesRevisado 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

trustlock

npm version license

Un controlador de admisión de dependencias nativo de Git. Evalúa señales de confianza en cada cambio de dependencia.

trustlock demo

Cómo funciona

trustlock se ejecuta como un hook pre-commit de Git (modo consultivo) y una verificación de CI (modo forzado):

  • Consultivo (pre-commit): advierte sobre infracciones, sale con 0, y avanza la línea base de confianza cuando todos los paquetes son admitidos.
  • Forzado (--enforce): bloquea en caso de infracciones, sale con 1, nunca avanza la línea base.

Señales de confianza evaluadas por paquete:

  • Enfriamiento — cuánto tiempo ha pasado desde que la versión fue publicada en el registro
  • Procedencia — si el paquete tiene atestaciones SLSA
  • Fijación — si el archivo de bloqueo usa versiones exactas
  • Scripts de instalación — si el paquete ejecuta scripts en el momento de la instalación
  • Fuentes — si el paquete proviene del registro, una URL de git, una ruta local o una URL
  • Nuevas dependencias — primeras incorporaciones al proyecto
  • Sorpresa transitiva — salto inesperado en el recuento de dependencias transitivas
  • Cambio de publicador — si la identidad del publicador del paquete cambió entre versiones
  • Instalación

    root@kitploit:~
    npm install -g trustlock
    

    Requiere Node.js >= 18.3.

    Archivos de bloqueo compatibles

    Archivo de bloqueoEcosistemaVersiones
    package-lock.jsonnpmv1, v2, v3
    pnpm-lock.yamlpnpmv5, v6, v9
    yarn.lockyarnclassic (v1), berry (v2/v3)
    requirements.txtPython (pip)—
    uv.lockPython (uv)—

    Inicio rápido

    Flujo de trabajo 1 — Incorporación de un proyecto

    root@kitploit:~
    # 1. Inicializar trustlock en tu proyecto
    trustlock init
    
    # 2. Instalar el hook pre-commit de Git
    trustlock install-hook
    
    # 3. Opcionalmente revisar la postura actual de tus dependencias
    trustlock audit
    

    Después de init, trustlock crea:

    • .trustlockrc.json — configuración de políticas
    • .trustlock/baseline.json — instantánea de dependencias de confianza
    • .trustlock/approvals.json — registros de aprobaciones
    • .trustlock/.cache/ — caché del registro (ignorado por git)

    Haz commit de .trustlockrc.json y .trustlock/baseline.json a tu repositorio.

    Flujo de trabajo 2 — Verificar y admitir una actualización de dependencia

    root@kitploit:~
    # Ejecutar la instalación de dependencias como de costumbre
    npm install [email protected]
    
    # La verificación de trustlock se ejecuta automáticamente mediante el hook pre-commit.
    # Para ejecutarla manualmente:
    trustlock check
    
    # Salida cuando todos los paquetes son admitidos:
    # ✔ [email protected] — admitido
    

    Cuando todos los paquetes pasan, trustlock check avanza la línea base automáticamente (solo en modo consultivo) y sale con 0.

    Flujo de trabajo 3 — Manejar una dependencia bloqueada

    root@kitploit:~
    # Un nuevo paquete falla la regla de enfriamiento:
    trustlock check
    # ✖ [email protected] — bloqueado
    #   exposure:cooldown  Publicado hace 2h (la política requiere 72h)
    #   Ejecuta para aprobar: trustlock approve [email protected] --override cooldown --reason "..." --expires 7d
    
    # Aprobar la excepción y luego volver a verificar:
    trustlock approve [email protected] \
      --override cooldown \
      --reason "Necesario para la funcionalidad X; verificado seguro por revisión del equipo" \
      --expires 7d
    
    trustlock check
    # ✔ [email protected] — admitido con aprobación
    

    Flujo de trabajo 4 — Comparar la postura de dependencias entre proyectos

    root@kitploit:~
    # Detectar desviaciones de versiones e inconsistencias de procedencia en paquetes de monorepo
    trustlock audit --compare packages/frontend packages/backend packages/shared
    

    Comandos

    ComandoDescripción
    trustlock initInicializar trustlock en el proyecto actual
    trustlock checkEvaluar cambios de dependencias contra la política
    trustlock approve <paquete>@<versión>Aprobar un paquete bloqueado
    trustlock auditEscanear todo el árbol de dependencias para evaluar la postura de confianza
    trustlock audit --compare <directorio...>Comparar la postura de dependencias entre múltiples proyectos
    trustlock clean-approvalsEliminar entradas de aprobación vencidas
    trustlock install-hookInstalar el hook pre-commit de Git

    Perfiles de política

    trustlock incluye dos perfiles integrados seleccionables con --profile:

    PerfilEfecto
    strict168h de enfriamiento, se requiere procedencia para todos los paquetes
    relaxed24h de enfriamiento, no bloquea por regresión de procedencia o cambio de publicador
    root@kitploit:~
    # Usar perfil estricto en CI
    trustlock check --enforce --profile strict
    

    Herencia de políticas organizacionales

    Los equipos pueden centralizar la política en una URL compartida y extenderla por repositorio:

    root@kitploit:~
    {
      "extends": "https://policy.example.com/trustlockrc.json",
      "cooldown_hours": 96
    }
    

    Las configuraciones de repositorio solo pueden endurecer la política organizacional — la aplicación de un piso impide que los repositorios reduzcan los umbrales establecidos por la organización.

    Documentación

    • USAGE.md — Referencia completa de comandos, todas las banderas, códigos de salida, mensajes de error
    • POLICY-REFERENCE.md — Cada opción de .trustlockrc.json
    • ARCHITECTURE.md — Decisiones de diseño y mapa de módulos
    • examples/ — Ejemplos de configuración y flujos de CI

    Integración con CI

    Agrega trustlock a tu pipeline de CI:

    root@kitploit:~
    # GitHub Actions — ver examples/ci/github-actions.yml
    - run: npx trustlock check --enforce
    

    Consulta examples/ para configuraciones de GitHub Actions, Lefthook y Husky.

    ##Dónde se ubica trustlock en la línea de tiempo

    Trustlock evalúa los cambios en el archivo de bloqueo en el momento del commit. No intercepta ni aísla npm install. Si un paquete malicioso ejecuta un script postinstall, eso ocurre antes de que trustlock lo vea. Trustlock evita que el archivo de bloqueo comprometido sea confirmado y fusionado, limitando el radio de explosión a una sola máquina de desarrollador en lugar de a todo el equipo y la producción. Para el bloqueo de scripts en tiempo de instalación, usa --ignore-scripts o los controles predeterminados de ciclo de vida de pnpm.

    Lo que trustlock NO hace

    • No es un escáner de malware — trustlock no inspecciona el código fuente de los paquetes ni detecta firmas maliciosas conocidas. Usa un escáner dedicado para eso.
    • No es un entorno aislado en tiempo de instalación — trustlock no intercepta npm install. Usa --ignore-scripts para eso.
    • No es un rastreador de CVEs — usa npm audit o Snyk para bases de datos de vulnerabilidades.
    • No es un verificador de licencias — usa license-checker o similar.
    • No reemplaza trustPolicy de pnpm o min-release-age de npm — esos son controles del lado del servidor aplicados por el registro. trustlock es una puerta de admisión del lado del cliente en el límite del repositorio.

    Acerca de

    trustlock fue creado por la frustración con lo pasiva que es la cadena de herramientas estándar de Node.js respecto a lo que realmente se incorpora a un proyecto. npm install descargará cualquier cosa — un paquete publicado hace dos minutos, uno que ejecuta scripts arbitrarios en la instalación, uno que cambió de un tarball del registro a una URL de git de la noche a la mañana — y la única retroalimentación que recibes es un diff del archivo de bloqueo.

    El modelo de amenazas que trustlock aborda es estrecho pero real: la ventana entre que se publica una versión maliciosa y es retirada o señalada. Los escáneres de vulnerabilidades operan después del hecho. trustlock opera en el punto de admisión, antes de que algo llegue a tu repositorio o a tu CI.

    El diseño es intencionalmente mínimo. trustlock no tiene dependencias en tiempo de ejecución — es en sí mismo una herramienta de cero riesgo en la cadena de suministro. No reemplaza un escáner de vulnerabilidades ni una auditoría de dependencias; aplica continuidad de confianza. Una vez que una versión está en tu línea base, es confiable. Cualquier cosa nueva debe ganarse la admisión contra la política que declaras.

    El flujo de trabajo de aprobación existe para equipos que necesitan una salida de emergencia sin perder auditabilidad. Cada excepción tiene marca de tiempo, está limitada a reglas específicas y expira. clean-approvals es un comando de primera clase, no una ocurrencia tardía.

    Descargar herramienta