{"id":354462,"date":"2022-09-02T22:36:14","date_gmt":"2022-09-02T22:36:14","guid":{"rendered":"https:\/\/teknomers.com\/es\/advertencia-la-funcion-pypi-ejecuta-el-codigo-automaticamente-despues-de-la-descarga-del-paquete-de-python\/"},"modified":"2022-09-02T22:36:16","modified_gmt":"2022-09-02T22:36:16","slug":"advertencia-la-funcion-pypi-ejecuta-el-codigo-automaticamente-despues-de-la-descarga-del-paquete-de-python","status":"publish","type":"post","link":"https:\/\/teknomers.com\/es\/advertencia-la-funcion-pypi-ejecuta-el-codigo-automaticamente-despues-de-la-descarga-del-paquete-de-python\/","title":{"rendered":"Advertencia: la funci\u00f3n PyPI ejecuta el c\u00f3digo autom\u00e1ticamente despu\u00e9s de la descarga del paquete de Python"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both\"><\/div>\n<p>En otro hallazgo que podr\u00eda exponer a los desarrolladores a un mayor riesgo de un ataque a la cadena de suministro, se descubri\u00f3 que casi un tercio de los paquetes en PyPI, el \u00edndice de paquetes de Python, activan la ejecuci\u00f3n autom\u00e1tica de c\u00f3digo al descargarlos.<\/p>\n<p>&#8220;Una caracter\u00edstica preocupante en pip\/PyPI permite que el c\u00f3digo se ejecute autom\u00e1ticamente cuando los desarrolladores simplemente descargan un paquete&#8221;, dijo el investigador de Checkmarx, Yehuda Gelb. <a rel=\"nofollow noopener\" href=\"https:\/\/medium.com\/checkmarx-security\/automatic-execution-of-code-upon-package-download-on-python-package-manager-cd6ed9e366a8\" target=\"_blank\">dijo<\/a> en un informe t\u00e9cnico publicado esta semana.<\/p>\n<p>&#8220;Adem\u00e1s, esta funci\u00f3n es alarmante debido al hecho de que una gran cantidad de paquetes maliciosos que encontramos en la naturaleza utilizan esta funci\u00f3n de ejecuci\u00f3n de c\u00f3digo durante la instalaci\u00f3n para lograr tasas de infecci\u00f3n m\u00e1s altas&#8221;.<\/p>\n<p>Una de las formas en que se pueden instalar paquetes para Python es ejecutando el &#8220;<a rel=\"nofollow noopener\" href=\"https:\/\/pip.pypa.io\/en\/stable\/cli\/pip_install\/\" target=\"_blank\">instalar pip<\/a>&#8220;, que, a su vez, invoca un archivo llamado &#8220;setup.py&#8221; que viene incluido con el m\u00f3dulo.<\/p>\n<div class=\"ad_two clear\"><a rel=\"nofollow noopener\" href=\"https:\/\/go.thn.li\/strike-d\" target=\"_blank\" title=\"DevOps backupy\"><img decoding=\"async\" alt=\"La seguridad cibern\u00e9tica\" class=\"lazyload\" loading=\"lazy\" src=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2022\/08\/La-nueva-vulnerabilidad-de-Amazon-Ring-podria-haber-expuesto-todas.png\" width=\"300\" height=\"250\" \/><\/a><\/div>\n<p>&#8220;setup.py&#8221;, como su nombre lo indica, es un <a rel=\"nofollow noopener\" href=\"https:\/\/docs.python.org\/3\/distutils\/setupscript.html\" target=\"_blank\">gui\u00f3n de configuraci\u00f3n<\/a> que se usa para especificar los metadatos asociados con el paquete, incluidas sus dependencias.<\/p>\n<p>Si bien los actores de amenazas recurrieron a la incorporaci\u00f3n de c\u00f3digo malicioso en el archivo setup.py, Checkmarx descubri\u00f3 que los adversarios podr\u00edan lograr los mismos objetivos ejecutando lo que se llama un &#8220;<a rel=\"nofollow noopener\" href=\"https:\/\/pip.pypa.io\/en\/stable\/cli\/pip_download\/\" target=\"_blank\">descargar pip<\/a>&#8221; dominio.<\/p>\n<p>&#8220;pip download hace la misma resoluci\u00f3n y descarga que pip install, pero en lugar de instalar las dependencias, recopila las distribuciones descargadas en el directorio proporcionado (el directorio actual es el predeterminado)&#8221;, dice la documentaci\u00f3n.<\/p>\n<div class=\"separator\" style=\"clear: both\"><img decoding=\"async\" alt=\"Ejecuci\u00f3n de c\u00f3digo PyPi\" border=\"0\" data-original-height=\"373\" data-original-width=\"728\" src=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2022\/09\/1662158174_52_Advertencia-la-funcion-PyPI-ejecuta-el-codigo-automaticamente-despues-de.jpg\" title=\"Ejecuci\u00f3n de c\u00f3digo PyPi\" \/><\/div>\n<p>En otras palabras, el comando se puede usar para descargar un paquete de Python sin tener que instalarlo en el sistema.  Pero resulta que, al ejecutar el comando de descarga, tambi\u00e9n se ejecuta el script &#8220;setup.py&#8221; antes mencionado, lo que da como resultado la ejecuci\u00f3n del c\u00f3digo malicioso que contiene.<\/p>\n<p>Sin embargo, vale la pena se\u00f1alar que el problema ocurre solo cuando el paquete contiene un archivo tar.gz en lugar de un archivo de rueda (.whl), que &#8220;elimina la ejecuci\u00f3n de &#8216;setup.py&#8217; de la ecuaci\u00f3n&#8221;.<\/p>\n<p>&#8220;Los desarrolladores que optan por descargar, en lugar de instalar paquetes, esperan razonablemente que no se ejecute ning\u00fan c\u00f3digo en la m\u00e1quina al descargar los archivos&#8221;, se\u00f1al\u00f3 Gelb, caracteriz\u00e1ndolo como un <a rel=\"nofollow noopener\" href=\"https:\/\/github.com\/pypa\/pip\/issues\/1884\" target=\"_blank\">problema de dise\u00f1o<\/a> en lugar de un error.<\/p>\n<p>Aunque pip utiliza de manera predeterminada ruedas en lugar de archivos tar.gz, un atacante podr\u00eda aprovechar este comportamiento para publicar intencionalmente paquetes de python sin un archivo .whl, lo que llevar\u00eda a la ejecuci\u00f3n del c\u00f3digo malicioso presente en el script de instalaci\u00f3n.<\/p>\n<div class=\"ad_two clear\"><a rel=\"nofollow noopener\" href=\"https:\/\/go.thn.li\/crowd-mid-d\" target=\"_blank\" title=\"CyberSecurity\"><img decoding=\"async\" alt=\"La seguridad cibern\u00e9tica\" class=\"lazyload\" loading=\"lazy\" src=\"https:\/\/teknomers.com\/es\/wp-content\/uploads\/2022\/08\/1660939153_598_La-nueva-vulnerabilidad-de-Amazon-Ring-podria-haber-expuesto-todas.png\" width=\"728\" height=\"90\" \/><\/a><\/div>\n<p>&#8220;Cuando un usuario descarga un paquete de python desde PyPi, pip utilizar\u00e1 preferentemente el archivo .whl, pero recurrir\u00e1 al archivo tar.gz si falta el archivo .whl&#8221;, dijo Gelb.<\/p>\n<p>Los hallazgos se producen cuando la Agencia de Seguridad Nacional de EE. UU. (NSA), junto con la Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) y la Oficina del Director de Inteligencia Nacional (ODNI), <a rel=\"nofollow noopener\" href=\"https:\/\/media.defense.gov\/2022\/Sep\/01\/2003068942\/-1\/-1\/0\/ESF_SECURING_THE_SOFTWARE_SUPPLY_CHAIN_DEVELOPERS.PDF\" target=\"_blank\">orientaci\u00f3n publicada<\/a> para asegurar la cadena de suministro de software.<\/p>\n<p>&#8220;A medida que la amenaza cibern\u00e9tica contin\u00faa volvi\u00e9ndose m\u00e1s sofisticada, los adversarios han comenzado a atacar la cadena de suministro de software, en lugar de confiar en las vulnerabilidades conocidas p\u00fablicamente&#8221;, dijo la agencia. <a rel=\"nofollow noopener\" href=\"https:\/\/www.nsa.gov\/Press-Room\/Press-Releases-Statements\/Press-Release-View\/Article\/3146465\/nsa-cisa-odni-release-software-supply-chain-guidance-for-developers\/\" target=\"_blank\">dijo<\/a>.  &#8220;Hasta que todos los DevOps sean DevSecOps, el ciclo de vida del desarrollo de software estar\u00e1 en riesgo&#8221;.<\/p>\n<p><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/thehackernews.com\/2022\/09\/warning-pypi-feature-executes-code.html\" rel=\"nofollow noopener\" target=\"_blank\">ttn-es-57<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En otro hallazgo que podr\u00eda exponer a los desarrolladores a un mayor riesgo de un ataque a la<\/p>\n","protected":false},"author":1,"featured_media":354463,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[4657,4656,5716,4661,9497,706,4664,38,33243,755,25434,4662,10975,4668,4667,4654,4658,4659,4653,4655,1239,4663,69530,39018,4666,4665,4660],"class_list":["post-354462","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tecnologia","tag-actualizaciones-ciberneticas","tag-actualizaciones-de-seguridad-cibernetica","tag-advertencia","tag-ataques-ciberneticos","tag-automaticamente","tag-codigo","tag-como-hackear","tag-del","tag-descarga","tag-despues","tag-ejecuta","tag-filtracion-de-datos","tag-funcion","tag-la-seguridad-informatica","tag-las-noticias-de-los-hackers","tag-noticias-ciberneticas","tag-noticias-de-hackers","tag-noticias-de-pirateria","tag-noticias-de-seguridad-cibernetica","tag-noticias-de-seguridad-cibernetica-hoy","tag-paquete","tag-programa-malicioso-ransomware","tag-pypi","tag-python","tag-seguridad-de-informacion","tag-seguridad-de-la-red","tag-vulnerabilidad-de-software"],"_links":{"self":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts\/354462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/comments?post=354462"}],"version-history":[{"count":0,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/posts\/354462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/media\/354463"}],"wp:attachment":[{"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/media?parent=354462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/categories?post=354462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teknomers.com\/es\/wp-json\/wp\/v2\/tags?post=354462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}