{"id":345873,"date":"2022-09-02T21:28:34","date_gmt":"2022-09-02T23:28:34","guid":{"rendered":"https:\/\/teknomers.com\/fr\/avertissement-la-fonctionnalite-pypi-execute-automatiquement-le-code-apres-le-telechargement-du-package-python\/"},"modified":"2022-09-02T21:28:36","modified_gmt":"2022-09-02T23:28:36","slug":"avertissement-la-fonctionnalite-pypi-execute-automatiquement-le-code-apres-le-telechargement-du-package-python","status":"publish","type":"post","link":"https:\/\/teknomers.com\/fr\/avertissement-la-fonctionnalite-pypi-execute-automatiquement-le-code-apres-le-telechargement-du-package-python\/","title":{"rendered":"Avertissement\u00a0: la fonctionnalit\u00e9 PyPI ex\u00e9cute automatiquement le code apr\u00e8s le t\u00e9l\u00e9chargement du package Python"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"articlebody\">\n<div class=\"separator\" style=\"clear: both\"><\/div>\n<p>Dans une autre d\u00e9couverte qui pourrait exposer les d\u00e9veloppeurs \u00e0 un risque accru d&#8217;attaque de la cha\u00eene d&#8217;approvisionnement, il est apparu que pr\u00e8s d&#8217;un tiers des packages de PyPI, le Python Package Index, d\u00e9clenchent l&#8217;ex\u00e9cution automatique du code lors de leur t\u00e9l\u00e9chargement.<\/p>\n<p>&#8220;Une fonctionnalit\u00e9 inqui\u00e9tante de pip\/PyPI permet au code de s&#8217;ex\u00e9cuter automatiquement lorsque les d\u00e9veloppeurs t\u00e9l\u00e9chargent simplement un package&#8221;, a d\u00e9clar\u00e9 Yehuda Gelb, chercheur chez Checkmarx. <a rel=\"nofollow noopener\" href=\"https:\/\/medium.com\/checkmarx-security\/automatic-execution-of-code-upon-package-download-on-python-package-manager-cd6ed9e366a8\" target=\"_blank\">a dit<\/a> dans un rapport technique publi\u00e9 cette semaine.<\/p>\n<p>&#8220;En outre, cette fonctionnalit\u00e9 est alarmante car une grande partie des packages malveillants que nous trouvons dans la nature utilisent cette fonctionnalit\u00e9 d&#8217;ex\u00e9cution de code lors de l&#8217;installation pour atteindre des taux d&#8217;infection plus \u00e9lev\u00e9s.&#8221;<\/p>\n<p>L&#8217;un des moyens par lesquels les packages peuvent \u00eatre install\u00e9s pour Python consiste \u00e0 ex\u00e9cuter le &#8220;<a rel=\"nofollow noopener\" href=\"https:\/\/pip.pypa.io\/en\/stable\/cli\/pip_install\/\" target=\"_blank\">installation de pip<\/a>&#8220;, qui, \u00e0 son tour, appelle un fichier appel\u00e9 &#8220;setup.py&#8221; fourni avec le module.<\/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 cyber-s\u00e9curit\u00e9\" class=\"lazyload\" loading=\"lazy\" src=\"https:\/\/teknomers.com\/fr\/wp-content\/uploads\/2022\/09\/Avertissement-la-fonctionnalite-PyPI-execute-automatiquement-le-code-apres-le.png\" width=\"300\" height=\"250\" \/><\/a><\/div>\n<p>&#8220;setup.py&#8221;, comme son nom l&#8217;indique, est un <a rel=\"nofollow noopener\" href=\"https:\/\/docs.python.org\/3\/distutils\/setupscript.html\" target=\"_blank\">script de configuration<\/a> qui est utilis\u00e9 pour sp\u00e9cifier les m\u00e9tadonn\u00e9es associ\u00e9es au package, y compris ses d\u00e9pendances.<\/p>\n<p>Alors que les acteurs de la menace ont eu recours \u00e0 l&#8217;incorporation de code malveillant dans le fichier setup.py, Checkmarx a d\u00e9couvert que les adversaires pouvaient atteindre les m\u00eames objectifs en ex\u00e9cutant ce qu&#8217;on appelle un &#8220;<a rel=\"nofollow noopener\" href=\"https:\/\/pip.pypa.io\/en\/stable\/cli\/pip_download\/\" target=\"_blank\">t\u00e9l\u00e9chargement de pip<\/a>&#8221; commande.<\/p>\n<p>&#8220;pip download effectue la m\u00eame r\u00e9solution et le m\u00eame t\u00e9l\u00e9chargement que pip install, mais au lieu d&#8217;installer les d\u00e9pendances, il collecte les distributions t\u00e9l\u00e9charg\u00e9es dans le r\u00e9pertoire fourni (par d\u00e9faut dans le r\u00e9pertoire actuel)&#8221;, indique la documentation.<\/p>\n<div class=\"separator\" style=\"clear: both\"><img decoding=\"async\" alt=\"Ex\u00e9cution de code PyPi\" border=\"0\" data-original-height=\"373\" data-original-width=\"728\" src=\"https:\/\/teknomers.com\/fr\/wp-content\/uploads\/2022\/09\/1662161314_21_Avertissement-la-fonctionnalite-PyPI-execute-automatiquement-le-code-apres-le.jpg\" title=\"Ex\u00e9cution de code PyPi\" \/><\/div>\n<p>En d&#8217;autres termes, la commande peut \u00eatre utilis\u00e9e pour t\u00e9l\u00e9charger un package Python sans avoir \u00e0 l&#8217;installer sur le syst\u00e8me.  Mais il s&#8217;av\u00e8re que l&#8217;ex\u00e9cution de la commande de t\u00e9l\u00e9chargement ex\u00e9cute \u00e9galement le script &#8220;setup.py&#8221; susmentionn\u00e9, entra\u00eenant l&#8217;ex\u00e9cution du code malveillant qu&#8217;il contient.<\/p>\n<p>Cependant, il convient de noter que le probl\u00e8me ne se produit que lorsque le package contient un fichier tar.gz au lieu d&#8217;un fichier de roue (.whl), qui &#8220;coupe l&#8217;ex\u00e9cution de &#8216;setup.py&#8217; de l&#8217;\u00e9quation&#8221;.<\/p>\n<p>&#8220;Les d\u00e9veloppeurs qui choisissent de t\u00e9l\u00e9charger, au lieu d&#8217;installer des packages, s&#8217;attendent raisonnablement \u00e0 ce qu&#8217;aucun code ne s&#8217;ex\u00e9cute sur la machine lors du t\u00e9l\u00e9chargement des fichiers&#8221;, a not\u00e9 Gelb, le qualifiant de <a rel=\"nofollow noopener\" href=\"https:\/\/github.com\/pypa\/pip\/issues\/1884\" target=\"_blank\">probl\u00e8me de conception<\/a> plut\u00f4t qu&#8217;un bug.<\/p>\n<p>Bien que pip utilise par d\u00e9faut des roues au lieu de fichiers tar.gz, un attaquant pourrait profiter de ce comportement pour publier intentionnellement des packages python sans fichier .whl, entra\u00eenant l&#8217;ex\u00e9cution du code malveillant pr\u00e9sent dans le script de configuration.<\/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 cyber-s\u00e9curit\u00e9\" class=\"lazyload\" loading=\"lazy\" src=\"https:\/\/teknomers.com\/fr\/wp-content\/uploads\/2022\/09\/1662161314_694_Avertissement-la-fonctionnalite-PyPI-execute-automatiquement-le-code-apres-le.png\" width=\"728\" height=\"90\" \/><\/a><\/div>\n<p>&#8220;Lorsqu&#8217;un utilisateur t\u00e9l\u00e9charge un package python \u00e0 partir de PyPi, pip utilisera de pr\u00e9f\u00e9rence le fichier .whl, mais reviendra au fichier tar.gz si le fichier .whl fait d\u00e9faut&#8221;, a d\u00e9clar\u00e9 Gelb.<\/p>\n<p>Les conclusions viennent alors que la National Security Agency (NSA) des \u00c9tats-Unis, ainsi que la Cybersecurity and Infrastructure Security Agency (CISA) et le Bureau du directeur du renseignement national (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\">orientation publi\u00e9e<\/a> pour s\u00e9curiser la cha\u00eene d&#8217;approvisionnement des logiciels.<\/p>\n<p>&#8220;Alors que la cybermenace continue de devenir plus sophistiqu\u00e9e, les adversaires ont commenc\u00e9 \u00e0 attaquer la cha\u00eene d&#8217;approvisionnement des logiciels, plut\u00f4t que de s&#8217;appuyer sur des vuln\u00e9rabilit\u00e9s connues du public&#8221;, a d\u00e9clar\u00e9 l&#8217;agence. <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\">a dit<\/a>.  &#8220;Tant que tous les DevOps ne seront pas des DevSecOps, le cycle de vie du d\u00e9veloppement logiciel sera menac\u00e9.&#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-fr-57<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans une autre d\u00e9couverte qui pourrait exposer les d\u00e9veloppeurs \u00e0 un risque accru d&#8217;attaque de la cha\u00eene d&#8217;approvisionnement, il est apparu que pr\u00e8s d&#8217;un tiers des packages de PyPI, le Python Package Index, d\u00e9clenchent l&#8217;ex\u00e9cution automatique du code lors de leur t\u00e9l\u00e9chargement. &#8220;Une fonctionnalit\u00e9 inqui\u00e9tante de pip\/PyPI permet au code de s&#8217;ex\u00e9cuter automatiquement lorsque les [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":345874,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[271,9771,4958,5597,4168,4158,4165,4161,25351,13357,4157,4159,4171,4170,4167,4160,4163,4162,7878,69497,39385,4172,4169,25972,4166,4164],"class_list":["post-345873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologie","tag-apres","tag-automatiquement","tag-avertissement","tag-code","tag-comment-pirater","tag-cyber-actualites","tag-cyber-attaques","tag-cyber-mises-a-jour","tag-execute","tag-fonctionnalite","tag-lactualite-de-la-cybersecurite","tag-lactualite-de-la-cybersecurite-aujourdhui","tag-lactualite-des-hackers","tag-la-securite-des-informations","tag-logiciel-malveillant-de-ransomware","tag-mises-a-jour-de-la-cybersecurite","tag-nouvelles-de-piratage","tag-nouvelles-de-pirates","tag-package","tag-pypi","tag-python","tag-securite-informatique","tag-securite-internet","tag-telechargement","tag-violation-de-donnees","tag-vulnerabilite-logicielle"],"_links":{"self":[{"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/posts\/345873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/comments?post=345873"}],"version-history":[{"count":0,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/posts\/345873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/media\/345874"}],"wp:attachment":[{"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/media?parent=345873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/categories?post=345873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/teknomers.com\/fr\/wp-json\/wp\/v2\/tags?post=345873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}