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
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
2115hace 5 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

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

# 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

# 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

# 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

# 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
# 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:

{
  "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:

# 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

Descargar herramienta