Перейти к содержимому
ecdsa.com
npm audit signatures (npm 9.5+)Менеджеры пакетов

Сообщение об ошибке

1 package has an invalid registry signature:

Также выводится как

  • 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

Форма множественного числа: «N packages have invalid registry signatures:». Подпись, чей `keyid` не входит в ключи реестра, не проходит проверку с кодом `EMISSINGSIGNATUREKEY` («…has a registry signature with keyid: … but no corresponding public key can be found»); недействительные аттестации происхождения перечисляются с текстом «…has an invalid attestation».

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

Что это означает

npm скачал открытые ключи подписи реестра и проверил подпись реестра у каждого установленного пакета — подпись ECDSA над `name@version:integrity` — и как минимум у одного пакета проверка не прошла. Либо метаданные пакета (включая хеш целостности архива tarball) изменились после того, как реестр их подписал, либо реестр, из которого вы устанавливали пакеты, подписывает их ключами, которые не публикует. npm перечисляет затронутые пакеты и в конце выводит «Someone might have tampered with this package since it was published on the registry!».

Почему это происходит

Как исправить

  1. 1.

    Сравните с публичным реестром

    Если хеш целостности (integrity) той же версии в публичном реестре совпадает с вашим lock-файлом, проблема в зеркале; если нет, изменён lock-файл или сам пакет.

    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.

    Запускайте проверку в CI

    `npm audit signatures` после `npm ci` прерывает сборку, если среди зависимостей есть неподписанные, подписанные неверно или с несовпадающим происхождением.

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

Связанные ошибки

Открыть всю базу ошибок подписей