В PyPI внедрили поддержку механизма цифровой аттестации для проверки подлинности опубликованных пакетов
14 ноября 2024 года разработчики репозитория Python-пакетов PyPI сообщили о внедрении поддержки механизма цифровой аттестации для проверки подлинности опубликованных пакетов.
Это проверка пришла на смену верификации с использованием PGP-подписей. Ключевым отличием механизма цифровой аттестации является то, что публикация пакета заверяется не разработчиком, а третьим лицом (каталогом пакетов) после подтверждения достоверности публикации через внешнего провайдера OpenID Connect. Например, после проверки, что публикуемый пакет соотносится со связанным с ним репозиторием на GitHub или GitLab.
По информации OpenNET, Система аттестации устраняет недостатки, свойственные механизму верификации по PGP-подписям, который ранее объявили в PyPI устаревшим. Новое решение принято из-за проблем с проверкой принадлежности разработчикам открытых PGP-ключей, используемых для проверки цифровых подписей. Например, из 1069 PGP-ключей, использованных с 2020 года для формирования подписей в PyPI, 29% открытых ключей отсутствовали на крупных публичных серверах ключей, а 35% ключей оказалось невозможно подтвердить в ходе аудита. При этом подтверждённые 36% PGP-ключей охватывали лишь 0.3% от всех подписанных файлов.
В новой системе цифровой аттестации используемые для заверения пакетов подписи создаются с использованием короткоживущих эфемерных ключей, генерируемых на основе полномочий, подтверждённых провайдерами OpenID Connect. В момент генерации ключей, необходимых для создания цифровой подписи, разработчик идентифицирует себя через провайдера OpenID, подтверждающего его связь с основным проектом. Инфраструктура для цифровой аттестации построена при помощи системы Sigstore и инструментария in-toto Attestation Framework.
Из достоинств аттестации
Читать на habr.com