Вопрос: Вопросы безопасности `pip -allow-external`


Каковы соображения безопасности при использовании --allow-external или --allow-all-externals варианты pip?

Секции документации, в которых описаны эти параметры ( установить pip , колпачок ) очень кратки и не объясняют опасности их использования. Я также не мог найти какой-либо ресурс в Интернете, который бы это сделал.


16


источник


Ответы:


Я задал этот вопрос на FreeNode #pip канал. Ниже приводится моя интерпретация ответов, которые у меня есть. Благодарю за agronholm а также dstufft из #pip для ответа на мой вопрос.

Пакеты могут поддерживаться PyPI тремя способами:

  1. Непосредственно на PyPI. Если пакет размещен в PyPI, для его установки не требуется дополнительный коммутатор. Подключение к PyPI обеспечивается HTTPS, поэтому загрузка считается надежной.

  2. На внешнем сайте, где PyPI хранит безопасную контрольную сумму соответствующих файлов. В этом случае pip требует --allow-external перейдите к продолжению. Хотя загрузка может быть получена с незащищенного сервера, загруженные файлы проверяются на защищенную контрольную сумму, хранящуюся в PyPI. Из-за этого этот случай также считается безопасным.

  3. На внешнем сайте без PyPI, хранящем любую контрольную сумму. В этом случае невозможно обеспечить безопасную загрузку. --allow-external недостаточно для установки в этом случае, pip требует --allow-unverified,

Следовательно, --allow-external один считается безопасным коммутатором, и только используя --allow-unverified является потенциальной проблемой безопасности. Вот почему pip имеет --allow-all-external вариант, но нет --allow-all-unverified,

Как примечание, --allow-external был введен не как функция безопасности, а из-за потенциальной скорости, времени безотказной работы и удобства при работе с сторонними веб-сайтами.


25