2014-01-09 9 views
15

--allow-externalまたは--allow-all-externalsのオプションのセキュリティに関する考慮事項は、pipですか?`pip --allow-external`のセキュリティ上の考慮

これらのオプションが記載されているドキュメントのセクション(pip installpip wheel)は非常に簡潔で、それらを使用することの危険性を説明していません。私はインターネット上でもそうするリソースを見つけることができませんでした。

答えて

23

私はFreeNode #pipチャンネルでこの質問をしました。以下は私がそこに持っている回答の私の解釈です。私の質問に答えるにはagronholmdstufftから#pipに感謝します。 PyPIに直接

  1. パッケージは、3つの異なる方法では、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は、セキュリティ機能としてではなく、サードパーティのWebサイトを処理する際の速度、稼働時間および利便性の問題の可能性があるため導入されました。

関連する問題