Pular para o conteúdo
ecdsa.com
npm audit signatures (npm 9.5+)Gerenciadores de pacotes

Mensagem de erro

1 package has an invalid registry signature:

Também aparece como

  • Someone might have tampered with this package since it was published on the registry!
  • packages have invalid registry signatures:
  • has a registry signature with keyid: SHA256:demo-registry-key-2026 but no corresponding public key can be found

Forma no plural: “N packages have invalid registry signatures:”. Uma assinatura cujo `keyid` não está entre as chaves do registro falha com o código `EMISSINGSIGNATUREKEY` (“…has a registry signature with keyid: … but no corresponding public key can be found”); atestados de proveniência inválidos são listados sob “…has an invalid attestation”.

npm audit signatures (npm 9.5+) — registry signature check of installed packages

O que significa

O npm baixou as chaves de assinatura públicas do registro e verificou a assinatura do registro de cada pacote instalado — uma assinatura ECDSA sobre `name@version:integrity` —, e, em pelo menos um pacote, ela não conferiu. Ou os metadados do pacote (inclusive o hash de integridade do tarball) mudaram depois que o registro os assinou, ou o registro de onde você instalou assina com chaves que não publica. O npm lista os pacotes afetados e termina com “Someone might have tampered with this package since it was published on the registry!”.

Por que acontece

Como corrigir

  1. 1.

    Comparar com o registro público

    Se o hash de integridade que o registro público tem para a mesma versão corresponde ao do seu lockfile, o problema está no espelho; caso contrário, o lockfile ou o pacote foi alterado.

    bash
    # Same version, straight from the public registry: does the integrity match your lockfile?
    npm view left-pad-lite@1.0.0 dist.integrity --registry https://registry.npmjs.org/
    grep -A3 '"node_modules/left-pad-lite"' package-lock.json | grep integrity
  2. 2.

    Executar a verificação no CI

    Rodar `npm audit signatures` depois de `npm ci` faz o build falhar em dependências sem assinatura, com assinatura incorreta ou com proveniência divergente.

    yaml
    # CI: fail the build on missing or invalid signatures and provenance
    - run: npm ci
    - run: npm audit signatures

Erros relacionados

Ver toda a base de erros de assinatura