Zum Inhalt springen
ecdsa.com
npm audit signatures (npm 9.5+)Paketmanager

Fehlermeldung

1 package has an invalid registry signature:

Auch ausgegeben als

  • 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

Pluralform: „N packages have invalid registry signatures:“. Eine Signatur, deren `keyid` nicht zu den Schlüsseln der Registry gehört, führt zum Code `EMISSINGSIGNATUREKEY` („…has a registry signature with keyid: … but no corresponding public key can be found“); ungültige Provenance-Attestierungen werden unter „…has an invalid attestation“ aufgeführt.

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

Was der Fehler bedeutet

npm hat die öffentlichen Signaturschlüssel der Registry heruntergeladen und die Registry-Signatur jedes installierten Pakets geprüft – eine ECDSA-Signatur über `name@version:integrity` –, und bei mindestens einem Paket ist die Prüfung fehlgeschlagen. Entweder haben sich die Paketmetadaten (einschließlich des Integritäts-Hashes des Tarballs) geändert, nachdem die Registry sie signiert hat, oder die Registry, aus der du installiert hast, signiert mit Schlüsseln, die sie nicht veröffentlicht. npm listet die betroffenen Pakete auf und endet mit „Someone might have tampered with this package since it was published on the registry!“.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Mit der öffentlichen Registry vergleichen

    Stimmt der Integritäts-Hash, den die öffentliche Registry für dieselbe Version angibt, mit deinem Lockfile überein, liegt das Problem beim Mirror; wenn nicht, wurde das Lockfile oder das Paket verändert.

    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.

    Prüfung in der CI ausführen

    `npm audit signatures` nach `npm ci` lässt den Build bei unsignierten, falsch signierten oder nicht zur Provenance passenden Abhängigkeiten fehlschlagen.

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

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen