web-dev-qa-db-ja.com

Python pip、easy_install、condaなどのパッケージマネージャを使用しても安全ですか?

信頼できない、または危険にさらされていないソースからソフトウェア(Pythonパッケージを含む)をインストールすることは安全ではないことを知っています。

ただし、信頼できるパッケージをPythonパッケージインデックスまたはAnacondaリポジトリ(これも信頼できると見なします)からインストールする場合、どの程度安全ですか。

PyPIのパッケージはPGPで署名されている可能性があるため、 install/update/packages を実行しても安全だと思います。

ただし、 pipには自動署名検証がなく、 はないようです。

pipeasy_installまたはcondaのいずれかを使用してPyPI(またはAnaconda)リポジトリに接続するときに、MITM攻撃がないことをどのように確認できますか?

pip接続では、少なくとも証明書検証付きのSSL( SSLエラーで失敗することが知られています )を使用していると思いますが、 pipがデフォルトでプレーンHTTPを使用した場合2013 私はそれがどれほど厳密であるかについてかなり懐疑的です。信頼されたルートCAの場合(たとえば、StartCOMおよびWoSignを信頼するかどうか)。

Pythonパッケージマネージャーを使用することを決めたとき、私がどの程度のセキュリティを持っているか誰もが知っていますか?

更新

私の質問は、PyPI(および同様の)クライアントの安全性とサーバーへの接続についてですが、 PyPIおよび同様のサードパーティソフトウェアリポジトリはどのセキュリティ対策をとっていますか? は、PyPIのパッケージが信頼できるかどうかについてです。私の質問では、サーバーサイトのPyPIおよびパッケージは信頼されていると想定されています。

11
abukaj

私はpipのMITMをpypi.python.orgに設定しましたが、pipは実際に証明書を検証しているようです。 SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]で失敗します。多分私は他のリポジトリでもっと幸運になるでしょう...

Pipがgpg署名をチェックしていない可能性がありますが、信頼できないソースからダウンロードしているようではありません。たとえば、Linuxパッケージは世界中のミラーに分散しており、gpgがないと、これらのパッケージの一部が侵害される可能性が非常に高くなります。 pipの場合、ダウンロードの唯一のソースは、信頼されていないミラーの代わりにFastly CDNを使用して配布するpypi.python.orgです。

コンダを知らない、使ったことがない。

3
Aria