Atención programadores: Python realiza un importante cambio de seguridad

Un nuevo formato de archivo de bloqueo estándar llega a Python para aumentar la protección y compatibilidad entre las herramientas utilizadas en el lenguaje de programación.
Los programadores a penas acaban de recibir la advertencia de Sam Altman sobre el potencial de la IA y ya se enfrentan a otro cambio. Por suerte, esta vez es para bien y es que la organización Python Software Foundation (PSF) ha traído consigo una novedad que cambiará todo para siempre.
Los proyectos realizados en este lenguaje de programación ahora cuenta con una mejor gestión en las dependencias y esto podría hacer que siga compitiendo con Java, JavaScript, Rust u otros ecosistemas por muchos años más, especialmente en el apartado de ciberseguridad.
Se trata de la integración de un nuevo formato de archivo de bloqueo estandarizado que funciona para que haya instalaciones más seguras. Este ha sido llamado como “PEP 751” y plantea un paso grande para la implementación de código en diversas áreas.
¿Por qué es tan importante el nuevo archivo de bloqueo estándar?

Los desarrolladores responsables de la evolución de Python han anunciado oficialmente la disponibilidad de la Propuesta de Mejora de Python (PEP) 751, donde llega el formato “dpylock.toml” que podría ser utilizado en trabajos de desarrollo web o creación de aplicaciones.
Esta novedad lega como un reemplazo a las herramientas de tercero que solían utilizar los programadores, como “PDM, pip-tools, Poetry y uv”, ya que no existía ninguna alternativa nativa en el entorno mencionado.
¿Qué pasaba con esto? Según lo que comenta la compañía en el informe, muchos usuarios han reportado problemas o muchas limitaciones con respecto a la compatibilidad y seguridad. De aquí es donde nace esta nueva característica.
“Este PEP propone un nuevo formato de archivo para especificar dependencias y permitir una instalación reproducible en un entorno Python. El formato está diseñado para ser legible por humanos y generado por máquinas. Los instaladores que utilicen el archivo deberían poder calcular qué instalar sin necesidad de resolver las dependencias durante la instalación”. — Python.
Este es un “formato de archivo para registrar las dependencias de Python para la reproducibilidad de la instalación”, lo cual quiere decir que sirve para que haya integración de dependencias más seguras y especificadas en el ecosistema.
Al mismo tiempo, “es legible por los humanos” y su incorporación al proyecto es intuitiva en comparación con las alternativas. El simple hecho de que ahora haya un estándar para archivos de bloqueo (lock files), cambia las cosas, ya que habrá menos riesgo de vulnerabilidades y la vinculación entre las herramientas será más amplia que antes.
El objetivo de todo esto es, prácticamente, que siempre se instalen las mismas versiones de las bibliotecas con la determinación de las librerías. El elemento en cuestión sería “pylock.toml” o “pylock.{nombre}.toml”, siendo capaz de soportar múltiples entornos o grupos de dependencias.
¿Cuáles son las ventajas del pylock.toml?

Ahora que ha llegado este formato, es posible aprovechar diversas funcionalidades que marcan un antes y un después. En sí, es algo que mejora la colaboración entre los ecosistemas, portando una reproductividad sin tener que recurrir a resoluciones adicionales de compatibilidad.
De hecho, elimina el “bloqueo del proveedor”, dando paso a servicios como Dependabot u otros, evitando posibles obstáculos de interoperabilidad. La capacidad del pylock.toml también incluye un soporte de seguridad que evita los ataques en la cadena de suministro con hashes de archivos, tamaño y fuentes.
Por lo tanto, identifica el origen y ofrece los detalles de cada paquete para impedir problemas de vulnerabilidades, ya que se encuentra vinculado a formato TOML, siendo esta una de las ventajas más relevantes que llegan con todo el avance.
Eso no sería lo único que llama la atención, pues por lo visto, es posible que las conocidas herramientas como Poetry, PDM y pip puedan tener soporte para pylock.toml con el tiempo, porque la compañía estaría pensando en evitar que la transición sea drástica.
Definitivamente, es un gran paso para el lenguaje de programación. Mientras que la inteligencia artificial supone un riesgo para el trabajo de los ingenieros en informática, las plataformas traen novedades que motivan a seguir estudiando para prepararse para el futuro.