Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
trustlock — Um controlador de admissão de dependências nativo do Git. Avalia sinais de confiança em cada alteração de dependência e bloqueia commits ou builds quando pacotes falham na política da sua equipe. Hook de pré-commit + portão de CI com fluxo de aprovação integrado. | Kitploit
Ferramentas/GitHubGitHub/tayyabt/trustlock
Auditoria de ConfiguraçãoDevSecOpsDetecção de SegredosSegurança da Cadeia de Suprimentos
GitHubtayyabt/trustlock

trustlock

Um controlador de admissão de dependências nativo do Git. Avalia sinais de confiança em cada alteração de dependência e bloqueia commits ou builds quando pacotes falham na política da sua equipe. Hook de pré-commit + portão de CI com fluxo de aprovação integrado.

Ver Repositório
214há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

trustlock

npm version license

Um controlador de admissão de dependências nativo do Git. Avalia sinais de confiança em cada alteração de dependência.

trustlock demo

Como funciona

O trustlock é executado como um hook de pré-commit do Git (modo consultivo) e uma verificação de CI (modo de imposição):

  • Consultivo (pré-commit): avisa sobre violações, sai com 0, avança a linha de base confiável quando todos os pacotes são admitidos.
  • Imposição (--enforce): bloqueia em caso de violações, sai com 1, nunca avança a linha de base.

Sinais de confiança avaliados por pacote:

  • Cooldown — há quanto tempo a versão foi publicada no registro
  • Proveniência — se o pacote possui atestações SLSA
  • Fixação — se o lockfile usa versões exatas
  • Scripts de instalação — se o pacote executa scripts no momento da instalação
  • Origens — se o pacote vem do registro, de uma URL git, de um caminho local ou de uma URL
  • Novas dependências — primeiras adições ao projeto
  • Surpresa transitiva — salto inesperado na contagem de dependências transitivas
  • Mudança de publicador — se a identidade do publicador do pacote mudou entre versões
  • Instalação

    root@kitploit:~
    npm install -g trustlock
    

    Requer Node.js >= 18.3.

    Lockfiles suportados

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

    Início rápido

    Fluxo 1 — Integração de um projeto

    root@kitploit:~
    # 1. Inicializar o trustlock no projeto
    trustlock init
    
    # 2. Instalar o hook de pré-commit do Git
    trustlock install-hook
    
    # 3. Opcionalmente, revisar a postura atual das dependências
    trustlock audit
    

    Após init, o trustlock cria:

    • .trustlockrc.json — configuração de política
    • .trustlock/baseline.json — snapshot de dependências confiáveis
    • .trustlock/approvals.json — registros de aprovação
    • .trustlock/.cache/ — cache do registro (ignorado pelo git)

    Faça commit de .trustlockrc.json e .trustlock/baseline.json no seu repositório.

    Fluxo 2 — Verificar e admitir uma atualização de dependência

    root@kitploit:~
    # Execute a instalação da dependência normalmente
    npm install [email protected]
    
    # A verificação trustlock é executada automaticamente via hook de pré-commit.
    # Para executá-la manualmente:
    trustlock check
    
    # Saída quando todos os pacotes são admitidos:
    # ✔ [email protected] — admitido
    

    Quando todos os pacotes passam, trustlock check avança a linha de base automaticamente (apenas no modo consultivo) e sai com 0.

    Fluxo 3 — Lidar com uma dependência bloqueada

    root@kitploit:~
    # Um novo pacote falha na regra de cooldown:
    trustlock check
    # ✖ [email protected] — bloqueado
    #   exposição:cooldown  Publicado há 2h (política exige 72h)
    #   Execute para aprovar: trustlock approve [email protected] --override cooldown --reason "..." --expires 7d
    
    # Aprove a substituição e depois verifique novamente:
    trustlock approve [email protected] \
      --override cooldown \
      --reason "Necessário para a funcionalidade X; verificado como seguro pela revisão da equipe" \
      --expires 7d
    
    trustlock check
    # ✔ [email protected] — admitido com aprovação
    

    Fluxo 4 — Comparar postura de dependências entre projetos

    root@kitploit:~
    # Detectar desvios de versão e inconsistências de proveniência entre pacotes do monorepo
    trustlock audit --compare packages/frontend packages/backend packages/shared
    

    Comandos

    ComandoDescrição
    trustlock initInicializa o trustlock no projeto atual
    trustlock checkAvalia as alterações de dependência em relação à política
    trustlock approve <pkg>@<ver>Aprova um pacote bloqueado
    trustlock auditEscaneia toda a árvore de dependências para avaliar a postura de confiança
    trustlock audit --compare <dir...>Compara a postura de dependências entre vários projetos
    trustlock clean-approvalsRemove entradas de aprovação expiradas
    trustlock install-hookInstala o hook de pré-commit do Git

    Perfis de política

    O trustlock inclui dois perfis internos selecionáveis com --profile:

    PerfilEfeito
    strictCooldown de 168h, proveniência exigida para todos os pacotes
    relaxedCooldown de 24h, sem bloqueio por regressão de proveniência ou mudança de publicador
    root@kitploit:~
    # Usar perfil strict no CI
    trustlock check --enforce --profile strict
    

    Herança de política organizacional

    Equipes podem centralizar a política em uma URL compartilhada e estendê-la por repositório:

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

    As configurações do repositório só podem endurecer a política organizacional — a imposição mínima impede que repositórios reduzam limites obrigatórios definidos pela organização.

    Documentação

    • USAGE.md — Referência completa de comandos, todas as flags, códigos de saída, mensagens de erro
    • POLICY-REFERENCE.md — Todas as opções de .trustlockrc.json
    • ARCHITECTURE.md — Decisões de design e mapa de módulos
    • examples/ — Exemplos de configuração e fluxo de CI

    Integração com CI

    Adicione o trustlock ao seu pipeline de CI:

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

    Consulte examples/ para configurações de GitHub Actions, Lefthook e Husky.

    Onde o trustlock se encaixa na linha do tempo

    O trustlock avalia as alterações no lockfile no momento do commit. Ele não intercepta nem isola o npm install. Se um pacote malicioso executa um script de pós-instalação, isso acontece antes do trustlock tomar conhecimento. O trustlock impede que o lockfile comprometido seja commitado e mesclado, limitando o estrago a uma única máquina de desenvolvedor, em vez de toda a equipe e produção. Para bloqueio de scripts em tempo de instalação, use --ignore-scripts ou os controles padrão de script de ciclo de vida do pnpm.

    O que o trustlock NÃO faz

    • Não é um scanner de malware — o trustlock não inspeciona o código-fonte do pacote nem detecta assinaturas conhecidas de malwares. Use um scanner dedicado para isso.
    • Não é uma sandbox de instalação — o trustlock não intercepta o npm install. Use --ignore-scripts para isso.
    • Não é um rastreador de CVE — use npm audit ou Snyk para bancos de dados de vulnerabilidades.
    • Não é um verificador de licenças — use license-checker ou similar.
    • Não substitui o pnpm trustPolicy ou o npm min-release-age — esses são controles do lado do servidor, aplicados pelo registro. O trustlock é um portão de admissão do lado do cliente, na fronteira do repositório.

    Sobre

    O trustlock foi construído a partir da frustração com o quão passiva é a toolchain padrão do Node.js em relação ao que realmente entra em um projeto. npm install buscará qualquer coisa — um pacote publicado há dois minutos, um que executa scripts arbitrários no momento da instalação, um que trocou de tarball do registro para uma URL git da noite para o dia — e o único feedback que você recebe é um diff do lockfile.

    O modelo de ameaça que o trustlock aborda é estreito, mas real: a janela entre o momento em que uma versão maliciosa é publicada e o momento em que é removida ou sinalizada. Scanners de vulnerabilidade operam após o fato. O trustlock opera no ponto de admissão, antes que qualquer coisa chegue ao seu repositório ou ao seu CI.

    O design é intencionalmente mínimo. O trustlock não tem dependências em tempo de execução — ele próprio é uma ferramenta de risco zero na cadeia de suprimentos. Ele não substitui um scanner de vulnerabilidades nem uma auditoria de dependências; ele impõe continuidade de confiança. Uma vez que uma versão está na sua linha de base, ela é confiável. Qualquer novidade precisa conquistar a admissão de acordo com a política que você declarou.

    O fluxo de aprovação existe para equipes que precisam de uma saída de emergência sem perder a auditabilidade. Cada substituição tem timestamp, é limitada a regras específicas e expira. clean-approvals é um comando de primeira classe, não um pensamento posterior.

    Baixar ferramenta