Рубрики
Без рубрики

Подписание пакета в PIP – это работает, в круглае

Несколько дней назад я сделал это Dev.to сообщение о том, как Pyphon Pip не хватает подписания пакета GPG. Ну, это ту … Помечено Python, безопасность, обсуждение, производительность.

Несколько дней назад я сделал это Dev.to сообщение о том, как Pyphon Pip не хватает подписания пакета GPG. Ну, оказывается, что я ошибаюсь! В конце концов, у него есть процесс подписания посылки, только его один из самых ручных, архаичных и громоздких практик безопасности, которые я видел до даты.

Я узнал об этом, когда я приземлился на Этот блог пост вчера ядро Python Developer вчера. Для проверки подписания пакета в описанном виде я создал тестовый пакет под названием Siterank , маленький скрипт, чтобы получить рейтинг Alexa данных сайтов.

Во-первых, это важно, чтобы вы использовали только шпагат Чтобы загрузить подписанный пакет на PYPI, потому что есть только шпагат, имеет эту функцию. Во-вторых, их документация, похоже, устарела, потому что некоторые аргументы, похоже, не работают. Например, --sign Аргумент для указания подписанных файлов явно не работал для меня:

-s, --sign            Sign files to upload using GPG

Что сработало, было загрузке файла пакета и сгенерированного файла подписи (* .asc) В преемственности, как это:

twine upload siterank-0.2.tar.gz siterank-0.2.tar.gz.asc

Также обратите внимание, что вы будете никуда не видите загрузку файла подписи на вашем Пакет на Pypi Отказ Но есть два разных способа проверки подписи:

  1. Во-первых, вы можете использовать Pypi JSON API Отказ Содержит все загруженные версии в JSON Формат, обратите внимание, что во второй версии пакета has_sig Атрибут был установлен на true!
  2. Второй способ – добавить .asc.asc.asc.asc. Расширение ссылки на ваш файл установки, в моем случае это: https://files.pythonhosted.org/packages/16/f9/1dfce544610b9dcbbfcb4095c8e143c6cfd54b4371c6cedc3f73df0a99926/siterank-0.2.tar.gz.asc.Asc.

Итак, тот, кто хочет проверить, был ли этот пакет действительно был автором, может потянуть этот .asc Файл и сопоставьте его с моим открытым ключом GPG (ID E12979BA15FDE7FD – который можно также найден за помощью Right GPG - Search-Keys Prahladyeri@yahoo.com ).

Этот круговой способ проверки не изменится упомянуть, утомительно и громоздковую. Этот процесс должен быть бесшовным и автоматическим и включен в Пип Сама рабочая течь, как apt, а dnf сделали. Единственная вероятная проблема заключается в том, что миллионы разработчиков загружают свои пакеты на PYPI, и каждый может не хотеть (или не иметь знания) подписания с использованием клавиш GPG. Таким образом, подписание может быть сохранена необязательным (как сейчас), но опция проверки должна быть там для подписанных пакетов, поскольку оно обеспечивает безопасность и целостность пакетов.

Другой вопрос – это усыновление. Я заметил из этого JSON API, что несколько популярных проектов, таких как Запросы , NLTK. , колбу и т. Д. И т. Д. Не подписали свои пакеты вообще. Важно, чтобы все больше и больше разработчиков подписывают подписанные пакеты и, таким образом, вносят вклад в создание Pypi более безопасную среду для установки и распределения пакетов.

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

Оригинал: “https://dev.to/prahladyeri/package-signing-in-pip-it-works-in-a-roundabout-sort-of-way-1kic”