[44.2026] Обзор новых правил безопасности в пакетных индексах и менеджерах

Hex расширил проверку зафиксированных зависимостей, Composer исправил утечки учётных данных, а pnpm, uv и rebar3 пересмотрели доверие к сертификатам после инцидента eMudhra.

Hex теперь применяет политики к зависимостям в lock-файле

Вышедший 23 октября Hex 2.6 позволяет разрешить конкретное предупреждение безопасности, причину отзыва пакета или обход периода ожидания. Такое исключение больше не снимает остальные ограничения политики.

Команда mix hex.audit --policy проверяет уже зафиксированные зависимости. Настройка policy_enforce_lock: true включает проверку при их получении и обновлении. Если пакет нарушает политику, то Hex остановит процесс до записи lock-файла и загрузки пакетов. Минимальный возраст релиза при этом не проверяется.

В CI ключ организации теперь обменивается на токен со сроком действия до 30 минут, и на диске сохраняется только токен. Обмен нужно выполнять перед загрузкой зависимостей. Старые пользовательские ключи для репозиториев организаций перестанут работать 21 января 2027 года.

Composer закрыл обход запрета на незащищённые соединения и утечку заголовков

29 октября вышел стабильный Composer 2.11.0. В него вошли исправления из предварительной версии от 22 октября и новые защиты от утечек.

Релиз включает задержку установки свежих версий пакетов. Она выключена по умолчанию, срок ожидания команда задаёт сама. На Packagist возраст версии считается по времени публикации в индексе, которое автор пакета не может изменить. Задержка действует при выборе версий, а установка по готовому lock-файлу сохраняет закреплённые зависимости. Исправления уязвимостей тоже задерживаются, поэтому для срочного обновления ожидание можно отключить однократно.

Composer перестал отправлять заголовки с учётными данными чужим серверам с похожим доменным именем. Запрет загрузки без шифрования охватывает и некорректно оформленные адреса, и вложенные адреса в Git-зависимостях, которые позволяли обойти проверку.

При создании запускающих обёрток Composer экранирует данные пакета и отклоняет пути с управляющими символами оболочки. Это предотвращает выполнение лишних команд через подменённые пути и строки с указанием интерпретатора.

Исправлена и утечка токенов в composer.lock. Заголовки авторизации частного репозитория могли попасть туда из глобальной конфигурации разработчика, а затем — в историю проекта. После обновления нужно перезаписать lock-файл. Если токен уже оказался доступен посторонним, то его нужно отозвать и заменить.

pnpm исправил сбой при загрузке пакетов и результат аудита

В pnpm 11.28.9 от 27 октября исправили аварийное завершение при обработке специально сформированного ответа реестра. Аудит с настроенными исключениями возвращал успешный код даже при оставшихся уязвимостях заданного уровня. После исправления проверка завершается с ошибкой, по которой CI может остановить сборку.

sbt исправил запись файлов за пределами каталога распаковки

28 октября в системе сборки sbt повторно исправили уязвимость распаковки. Специально подготовленный ZIP- или JAR-архив мог записать файлы за пределами выбранного каталога. Исправления вошли в стабильные версии 1.13.1 и 2.0.12.

GitHub сделал lock-файлы для Actions общедоступными

С 28 октября lock-файлы Actions доступны всем. Они закрепляют коммиты подключённых компонентов сборки, включая те, которые эти компоненты вызывают сами. В сценарии можно оставить читаемый тег версии. Механизм подключается по отдельным сценариям, а обязательное использование задаётся политикой репозитория или организации.

Вызов сценария из другого репозитория нужно закреплять полным хешем коммита. Его внутренние зависимости фиксируются собственным lock-файлом в исходном репозитории.

pnpm, uv и rebar3 изменили проверку сертификатов

После предыдущего обзора обновления затронули встроенные среды инструментов. В автономных сборках pnpm 11.28.8 и 10.34.8 обновили Node.js, прекратив доверие к скомпрометированным сертификатам eMudhra. Обновлять нужно саму автономную сборку, отдельно от системного Node.js.

В uv 0.13.5 обновлены управляемые сборки CPython 3.11 и новее. Они содержат pip 26.2.2 с исправленным набором сертификатов, в том числе для создания виртуальных окружений. После обновления uv нужно выполнить uv python upgrade. Окружения с закреплённой патч-версией Python автоматически не перейдут на новую, а в существующих виртуальных окружениях pip нужно обновить отдельно.

Менеджер пакетов для Erlang rebar3 3.28.0 перешёл с Certifi на системное корневое хранилище. Системный набор доверенных сертификатов нужно проверить после обновления. На устройствах без такого хранилища можно явно задать файл сертификатов.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев