Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 305

Pinning de dependências

O que é Pinning de dependências?

Pinning de dependênciasPrática de declarar as dependências de software em versões exatas, frequentemente acompanhadas de hashes criptográficos, para que as builds consumam sempre os mesmos artefactos e resistam à manipulação da cadeia de fornecimento.


O pinning de dependências substitui intervalos amplos ("^1.0.0") por versões exatas e, idealmente, digests criptográficos num lockfile (package-lock.json, poetry.lock, Pipfile.lock, Gemfile.lock, go.sum, Cargo.lock). As builds tornam-se reprodutíveis e resistentes a atualizações silenciosas, dependency confusion, typosquatting e versões comprometidas. A prática moderna também fixa as GitHub Actions e outros plugins de CI a SHAs de commit em vez de tags mutáveis. O pinning deve ser combinado com monitorização ativa de vulnerabilidades (SCA, Dependabot, Renovate) para que os patches continuem a chegar, sob pena de as aplicações ficarem desatualizadas. O hash pinning é um controlo-chave referenciado por SLSA, NIST SSDF, OWASP e iniciativas de builds reprodutíveis.

Exemplos

  1. 01

    Fixar todas as GitHub Actions de terceiros a SHAs de commit em vez de tags como v3.

  2. 02

    Utilizar pip --require-hashes com um requirements.txt totalmente hash-eado em CI.

Perguntas frequentes

O que é Pinning de dependências?

Prática de declarar as dependências de software em versões exatas, frequentemente acompanhadas de hashes criptográficos, para que as builds consumam sempre os mesmos artefactos e resistam à manipulação da cadeia de fornecimento. Pertence à categoria Segurança de aplicações da cibersegurança.

O que significa Pinning de dependências?

Prática de declarar as dependências de software em versões exatas, frequentemente acompanhadas de hashes criptográficos, para que as builds consumam sempre os mesmos artefactos e resistam à manipulação da cadeia de fornecimento.

Como funciona Pinning de dependências?

O pinning de dependências substitui intervalos amplos ("^1.0.0") por versões exatas e, idealmente, digests criptográficos num lockfile (package-lock.json, poetry.lock, Pipfile.lock, Gemfile.lock, go.sum, Cargo.lock). As builds tornam-se reprodutíveis e resistentes a atualizações silenciosas, dependency confusion, typosquatting e versões comprometidas. A prática moderna também fixa as GitHub Actions e outros plugins de CI a SHAs de commit em vez de tags mutáveis. O pinning deve ser combinado com monitorização ativa de vulnerabilidades (SCA, Dependabot, Renovate) para que os patches continuem a chegar, sob pena de as aplicações ficarem desatualizadas. O hash pinning é um controlo-chave referenciado por SLSA, NIST SSDF, OWASP e iniciativas de builds reprodutíveis.

Como se defender contra Pinning de dependências?

As defesas contra Pinning de dependências costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para Pinning de dependências?

Nomes alternativos comuns: Fixação de versões, Hash pinning.

Termos relacionados