Городская лента

pnpm закрыл обход правил запуска сборочных скриптов через подмену имени пакета

· 8

Вышедший 21 октября pnpm 12.15 отклоняет метаданные, если имя пакета в ответе реестра отличается от запрошенного, и завершает установку ошибкой ERR_PNPM_REGISTRY_NAME_MISMATCH. То же исправление получила ветка 11 в версии 11.28.7.

Раньше pnpm ставил пакет под именем из ответа реестра, и правила allowBuilds для запрошенного пакета к нему не применялись — так ответ реестра мог обойти локальные ограничения на запуск скриптов. В обеих ветках также появилась настройка maxTarballUnpackedSize, которая ограничивает суммарный размер файлов пакета после распаковки: по умолчанию это 4 ГиБ.

После компрометации промежуточных удостоверяющих центров eMudhra 20 октября вышли uv 0.13.4, Hex 2.5.4 и rustup 1.29.2. Эти программы проверяют HTTPS по собственным наборам доверенных сертификатов, поэтому обновлять их нужно отдельно от браузера.

В uv из встроенного набора удалён корневой сертификат emSign ECC Root CA — G3, через который выстраивалось доверие к серверам из цепочки eMudhra. Проверять сертификаты по хранилищу операционной системы позволяет флаг —system-certs, а путь к своему файлу или каталогу задают переменные SSL_CERT_FILE и SSL_CERT_DIR — их тоже нужно сверить с обновлённым списком. Hex 2.5.4 перестал доверять трём корневым сертификатам emSign, в rustup 1.29.2 обновлены зависимости проверки сертификатов.

20 октября GitHub открыл публичный предпросмотр package firewall для GitHub Enterprise Cloud. Сервис работает как прокси между рабочей станцией или CI и реестром npm, пропуская запросы метаданных и загрузки пакетов, а администратор может задать минимальный возраст версии, проверки по GitHub Advisory Database и изменений в подтверждениях происхождения. Пока поддерживаются только npm-пакеты, на время предпросмотра сервис бесплатен, а перед подключением стоит проверить настройки реестров в CI, на рабочих станциях и у агентов разработки.