"Testamento digital": los desarrolladores podrán finalizar dignamente sus proyectos en PyPI

"Testamento digital": los desarrolladores podrán finalizar dignamente sus proyectos en PyPI

La nueva función de PyPI protege a los usuarios de los paquetes zombis.

image

Python Package Index (PyPI) lanzó un nuevo sistema llamado Project Archival, que permite a los desarrolladores archivar sus proyectos, dejando claro que ya no recibirán actualizaciones. Esto ayudará a los usuarios a tomar decisiones informadas sobre sus dependencias, evitando código obsoleto o potencialmente inseguro.

Los proyectos archivados seguirán estando disponibles para su descarga, pero en sus páginas aparecerá una advertencia sobre su estado de soporte. Esto es especialmente importante para la seguridad de la cadena de suministro: a menudo, los atacantes toman el control de proyectos abandonados e introducen actualizaciones maliciosas que, con el tiempo, pueden afectar a miles de usuarios.

Banner de archivo de proyecto (PyPI)

Además de proteger a los usuarios, la nueva función reduce la carga de los desarrolladores al eliminar solicitudes de soporte innecesarias y preguntas sobre el estado del proyecto. Según TrailofBits , la nueva función permite a los propietarios de proyectos marcarlos como archivados por su cuenta. PyPI recomienda lanzar una versión final antes del archivo, en la que se expliquen las razones de esta decisión, aunque esto queda a discreción de los desarrolladores.

Función de archivo en la configuración del proyecto (PyPI)

Si el desarrollo del proyecto se reanuda, el archivo se puede revertir en cualquier momento. Para implementar esta función, se utiliza el modelo LifecycleStatus, originalmente desarrollado para poner proyectos en cuarentena. El sistema permite cambiar entre diferentes estados, y PyPI planea agregar en el futuro etiquetas adicionales como «deprecated» (obsoleto), «feature-complete» (completo en características) y «unmaintained» (sin mantenimiento). Esto ayudará a los usuarios a comprender rápidamente el estado de sus dependencias.

En los proyectos archivados aparecerá un banner advirtiendo a los desarrolladores sobre la necesidad de buscar alternativas activas, lo que permitirá evitar dependencias en paquetes que ya no se mantienen y reducirá el riesgo de ataques a través de bibliotecas obsoletas.

Uno de los riesgos en el ecosistema de código abierto es la práctica de apropiación de proyectos antiguos. Los atacantes toman el control de bibliotecas abandonadas e inyectan código malicioso en actualizaciones posteriores. Esto ya ha sucedido con varios paquetes populares, lo que ha llevado a la compromisión de miles de sistemas. A veces, los desarrolladores eliminan completamente los proyectos, lo que también crea un riesgo, por ejemplo, Revival Hijack , un método de ataque en el que un hacker ocupa el nombre de un paquete eliminado y sube un clon malicioso.

¿Tu Wi-Fi doméstico es una fortaleza o una casa de cartón?

Descubre cómo construir una muralla impenetrable