¿Es seguro usar los administradores de paquetes de Python como pip, easy_install o conda?

8

Sé que no es seguro instalar software (incluidos los paquetes de Python) de fuentes no confiables o comprometidas.

Sin embargo, me pregunto qué tan seguro estoy cuando instalo un paquete confiable desde Python Package Index o desde el repositorio de Anaconda (que también considero confiable).

Los paquetes en PyPI pueden estar firmados con PGP, lo que me hace creer que es bastante seguro instalar / actualizarlos manualmente .

Sin embargo, no hay verificación de firma automática en pip y parece que no va a haber .

Me pregunto cómo puedo estar seguro de que no hay un ataque MITM cuando me conecto a los repositorios PyPI (o Anaconda) con pip , easy_install o conda ?

Supongo que pip connection usa al menos SSL con verificación de certificado ( se sabe que falla con SSL error ), pero dado que pip usó HTTP simple como predeterminado en 2013 Soy bastante escéptico acerca de qué tan estricto es, por ejemplo, en el caso de una CA raíz de confianza (por ejemplo, si confía en StartCOM y WoSign o no).

¿Alguien sabe qué nivel de seguridad tengo cuando decido usar los administradores de paquetes de Python?

Actualizar

Mi pregunta es sobre la seguridad de los clientes PyPI (y similares) y su conexión al servidor mientras ¿Qué medidas de seguridad toman PyPI y los repositorios de software de terceros similares? es sobre si los paquetes en PyPI pueden ser confiables. En mi pregunta, se supone que los paquetes y PyPI en el sitio del servidor son de confianza.

    
pregunta abukaj 05.02.2018 - 11:46
fuente

1 respuesta

3

Configuré MITM para pip en pypi.python.org y parece que pip sí valida el certificado. Falla con SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]. Quizás tenga más suerte con otros repositorios ...

Es posible que Pip no esté comprobando las firmas de gpg, pero no es como si estuvieras descargando de fuentes no confiables. Por ejemplo, los paquetes de Linux están distribuidos en espejos en todo el mundo, y sin gpg sería muy probable que algunos de estos paquetes se vieran comprometidos. En el caso de pip, la única fuente de descarga es pypi.python.org, que utiliza Fast CDN para la distribución en lugar de los espejos no confiables.

No sé conda, nunca la usé.

    
respondido por el Aria 05.02.2018 - 14:57
fuente

Lea otras preguntas en las etiquetas