{"id":23774,"date":"2026-04-03T16:40:36","date_gmt":"2026-04-03T14:40:36","guid":{"rendered":"https:\/\/www.kaspersky.fr\/blog\/?p=23774"},"modified":"2026-04-03T17:03:41","modified_gmt":"2026-04-03T15:03:41","slug":"indonesianfoods-npm-spam-campaign","status":"publish","type":"post","link":"https:\/\/www.kaspersky.fr\/blog\/indonesianfoods-npm-spam-campaign\/23774\/","title":{"rendered":"Du spam dans l&rsquo;\u00e9cosyst\u00e8me npm : de quoi s&rsquo;agit-il et pourquoi est-ce dangereux ?"},"content":{"rendered":"<p>Qu\u2019est-ce que les termes \u00ab\u00a0bakso\u00a0\u00bb, \u00ab\u00a0sate\u00a0\u00bb et \u00ab\u00a0rendang\u00a0\u00bb vous \u00e9voquent ? Pour beaucoup, la r\u00e9ponse est \u00ab\u00a0rien\u00a0\u00bb, les gourmets y verront des plats indon\u00e9siens, tandis que ceux qui suivent l\u2019actualit\u00e9 de la cybers\u00e9curit\u00e9 penseront \u00e0 une attaque contre l\u2019\u00e9cosyst\u00e8me Node Package Manager (npm), l\u2019outil qui permet aux d\u00e9veloppeurs d\u2019utiliser des biblioth\u00e8ques pr\u00eates \u00e0 l\u2019emploi au lieu d\u2019\u00e9crire chaque ligne de code \u00e0 partir de z\u00e9ro.<\/p>\n<p>\u00c0 la mi-novembre, <a href=\"https:\/\/sourcecodered.com\/indonesianfoods-npm-worm\/\" target=\"_blank\" rel=\"noopener nofollow\">le chercheur en s\u00e9curit\u00e9 Paul McCarty a annonc\u00e9 avoir d\u00e9couvert une campagne de spam<\/a> visant \u00e0 encombrer le registre npm. Bien entendu, il est d\u00e9j\u00e0 arriv\u00e9 que des paquets inutiles apparaissent dans le registre, mais dans ce cas pr\u00e9cis, on a recens\u00e9 des dizaines de milliers de modules sans aucune utilit\u00e9. Leur seul but \u00e9tait d\u2019introduire des d\u00e9pendances totalement inutiles dans les projets.<\/p>\n<p>Les noms des archives comportaient des noms de plats indon\u00e9siens et des termes culinaires ins\u00e9r\u00e9s au hasard, comme \u00ab\u00a0bakso\u00a0\u00bb, \u00ab\u00a0sate\u00a0\u00bb et \u00ab\u00a0rendang\u00a0\u00bb, ce qui a valu \u00e0 la campagne le surnom d'\u00a0\u00bbIndonesianFoods\u00a0\u00bb. L\u2019ampleur du ph\u00e9nom\u00e8ne \u00e9tait impressionnante : au moment de la d\u00e9couverte, environ 86 000 paquets avaient \u00e9t\u00e9 recens\u00e9s.<\/p>\n<p>Nous examinons ci-dessous comment cela s\u2019est produit et quel \u00e9tait le v\u00e9ritable objectif des pirates.<\/p>\n<h2>Dans les coulisses d\u2019IndonesianFoods<\/h2>\n<p>\u00c0 premi\u00e8re vue, les paquets IndonesianFoods ne semblaient pas \u00eatre enti\u00e8rement inutiles. Ils comportaient des structures standard, des fichiers de configuration valides et m\u00eame une documentation bien mise en forme. Selon les <a href=\"https:\/\/www.endorlabs.com\/learn\/the-great-indonesian-tea-theft-analyzing-a-npm-spam-campaign\" target=\"_blank\" rel=\"noopener nofollow\">chercheurs d\u2019Endor Labs<\/a>, ce camouflage a permis \u00e0 ces paquets de rester dans le registre npm pendant pr\u00e8s de deux ans.<\/p>\n<p>Les pirates n\u2019ont pas vraiment cherch\u00e9 \u00e0 int\u00e9grer leurs cr\u00e9ations de force dans des projets externes. Au lieu de cela, ils ont simplement inond\u00e9 l\u2019\u00e9cosyst\u00e8me de code \u00e0 l\u2019apparence l\u00e9gitime, en attendant que quelqu\u2019un fasse une faute de frappe ou s\u00e9lectionne par inadvertance leur biblioth\u00e8que parmi les r\u00e9sultats de recherche. On ne sait pas tr\u00e8s bien ce qu\u2019il faudrait rechercher pour confondre le nom d\u2019un paquet avec celui d\u2019un plat indon\u00e9sien, mais l\u2019\u00e9tude initiale <a href=\"https:\/\/sourcecodered.com\/indonesianfoods-npm-worm\/\" target=\"_blank\" rel=\"noopener nofollow\">indique<\/a> qu\u2019au moins 11\u00a0projets ont, d\u2019une mani\u00e8re ou d\u2019une autre, r\u00e9ussi \u00e0 inclure ces paquets dans leurs versions.<\/p>\n<p>Une petite partie de ces paquets ind\u00e9sirables int\u00e9grait un m\u00e9canisme d\u2019autoreproduction\u00a0: une fois install\u00e9s, ils cr\u00e9aient et publiaient de nouveaux paquets dans le registre npm toutes les sept secondes. Ces nouveaux modules \u00e9taient dot\u00e9s de fonctionnalit\u00e9s permettant de choisir au hasard des noms (\u00e9galement li\u00e9s \u00e0 la cuisine indon\u00e9sienne) et de num\u00e9ros de version \u2013 tous publi\u00e9s, comme on pouvait s\u2019y attendre, \u00e0 l\u2019aide des identifiants de la victime.<\/p>\n<p>Autres paquets malveillants int\u00e9gr\u00e9s \u00e0 la plateforme blockchain TEA. Le <a href=\"https:\/\/tea.xyz\/\" target=\"_blank\" rel=\"noopener nofollow\">projet TEA<\/a> a \u00e9t\u00e9 con\u00e7u pour r\u00e9compenser les cr\u00e9ateurs de logiciels open source par des jetons proportionnellement \u00e0 la popularit\u00e9 et \u00e0 l\u2019utilisation de leur code, fonctionnant en th\u00e9orie selon un mod\u00e8le de \u00ab\u00a0preuve de contribution\u00a0\u00bb.<\/p>\n<p>Une grande partie de ces paquets ne comportait aucune fonctionnalit\u00e9 r\u00e9elle, mais comportait souvent une dizaine de d\u00e9pendances qui, comme vous pouvez l\u2019imaginer, renvoyaient \u00e0 d\u2019autres projets ind\u00e9sirables de la m\u00eame campagne. Ainsi, si une victime installe par erreur l\u2019un de ces paquets malveillants, plusieurs autres sont \u00e9galement t\u00e9l\u00e9charg\u00e9s, dont certains comportent leurs propres d\u00e9pendances. Le r\u00e9sultat est un projet final encombr\u00e9 d\u2019une quantit\u00e9 consid\u00e9rable de code redondant.<\/p>\n<h2>Et les pirates, qu\u2019est-ce qu\u2019ils y gagnent\u00a0?<\/h2>\n<p>Il existe deux th\u00e9ories principales. Le plus \u00e9vident est que toute cette campagne de spam \u00e9labor\u00e9e a \u00e9t\u00e9 con\u00e7ue pour exploiter le protocole TEA susmentionn\u00e9. Concr\u00e8tement, sans apporter aucune contribution utile \u00e0 la communaut\u00e9 open source, les pirates gagnent des jetons TEA, qui sont des actifs num\u00e9riques classiques pouvant \u00eatre \u00e9chang\u00e9s contre d\u2019autres cryptomonnaies sur des plateformes d\u2019\u00e9change. En s\u2019appuyant sur un r\u00e9seau de d\u00e9pendances et de m\u00e9canismes d\u2019autoreproduction, les pirates se font passer pour des d\u00e9veloppeurs open source authentiques afin de gonfler artificiellement l\u2019importance et les statistiques d\u2019utilisation de leurs paquets. Dans les fichiers README de certains paquets, les pirates se vantent m\u00eame de leurs gains.<\/p>\n<p>Il existe toutefois une th\u00e9orie encore plus inqui\u00e9tante. Par exemple, le <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/new-indonesianfoods-spammer-floods-npm-with-150-000-packages\/\" target=\"_blank\" rel=\"noopener nofollow\">chercheur Garrett Calpouzos estime<\/a> que ce dont nous sommes t\u00e9moins n\u2019est qu\u2019une simple d\u00e9monstration de faisabilit\u00e9. La campagne IndonesianFoods pourrait \u00eatre en train de tester une nouvelle m\u00e9thode de diffusion de programmes malveillants destin\u00e9e \u00e0 \u00eatre vendue ult\u00e9rieurement \u00e0 d\u2019autres acteurs malveillants.<\/p>\n<h2>Pourquoi \u00e9viter les fichiers inutiles dans vos projets<\/h2>\n<p>\u00c0 premi\u00e8re vue, le danger pour les entreprises de d\u00e9veloppement logiciel n\u2019est peut-\u00eatre pas \u00e9vident\u00a0: certes, IndonesianFoods encombre l\u2019\u00e9cosyst\u00e8me, mais il ne semble pas repr\u00e9senter une menace imm\u00e9diate (ransomwares, violations des donn\u00e9es, etc.).\u00a0 Cependant, les d\u00e9pendances redondantes alourdissent le code et gaspillent les ressources syst\u00e8me des d\u00e9veloppeurs. De plus, le fait de publier des paquets ind\u00e9sirables sous le nom de votre organisation peut nuire gravement \u00e0 votre r\u00e9putation au sein de la communaut\u00e9 des d\u00e9veloppeurs.<\/p>\n<p>Nous ne pouvons pas non plus \u00e9carter la th\u00e9orie de Calpouzos. Si ces paquets ind\u00e9sirables int\u00e9gr\u00e9s \u00e0 votre logiciel recevaient une mise \u00e0 jour introduisant des fonctionnalit\u00e9s v\u00e9ritablement malveillantes, ils pourraient constituer une menace non seulement pour votre organisation, mais aussi pour vos utilisateurs, et se transformer en des attaques contre la cha\u00eene d\u2019approvisionnement.<\/p>\n<h2>Comment prot\u00e9ger votre organisation\u00a0?<\/h2>\n<p>Les paquets ind\u00e9sirables ne s\u2019introduisent pas d\u2019eux-m\u00eames dans un projet. Leur installation n\u00e9cessite une erreur de jugement de la part d\u2019un d\u00e9veloppeur. C\u2019est la raison pour laquelle nous recommandons de sensibiliser r\u00e9guli\u00e8rement les employ\u00e9s, m\u00eame les plus avertis, aux cybermenaces modernes. Notre plateforme de formation interactive, <a href=\"https:\/\/k-asap.com\/fr\/?icid=fr_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder____kasap___\" target=\"_blank\" rel=\"noopener\">KASAP (Kaspersky Automated Security Awareness Platform)<\/a>, peut vous aider dans cette d\u00e9marche.<\/p>\n<p>Vous pouvez \u00e9galement pr\u00e9venir les infections en utilisant <a href=\"https:\/\/www.kaspersky.fr\/enterprise-security\/container-security?icid=fr_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">une solution sp\u00e9cialis\u00e9e destin\u00e9e \u00e0 la protection des environnements conteneuris\u00e9s<\/a>. Celle-ci permettra d\u2019analyser les images et les d\u00e9pendances tierces, s\u2019int\u00e9grera au processus de compilation et surveillera les conteneurs pendant leur ex\u00e9cution.<\/p>\n<blockquote><p>Si vous souhaitez en savoir plus sur les attaques visant la cha\u00eene d\u2019approvisionnement, nous vous invitons \u00e0 consulter notre rapport d\u2019analyse <a href=\"https:\/\/lp.kaspersky.com\/global\/report-supply-chain-reaction\/\" target=\"_blank\" rel=\"noopener nofollow\">R\u00e9action en cha\u00eene\u00a0: s\u00e9curiser l\u2019\u00e9cosyst\u00e8me num\u00e9rique mondial \u00e0 l\u2019\u00e8re de l\u2019interd\u00e9pendance<\/a>. Cette \u00e9tude s\u2019appuie sur les analyses d\u2019experts techniques et met en \u00e9vidence les risques auxquels les organisations sont souvent confront\u00e9es au niveau de leur cha\u00eene d\u2019approvisionnement et de leurs relations de confiance, ainsi que la mani\u00e8re dont elles les per\u00e7oivent.<\/p><\/blockquote>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\"><input type=\"hidden\" class=\"placeholder_for_banner\" data-cat_id=\"mdr\" value=\"21073\">\n","protected":false},"excerpt":{"rendered":"<p>En novembre 2025, l&rsquo;\u00e9cosyst\u00e8me npm a \u00e9t\u00e9 submerg\u00e9 par une vague de paquets ind\u00e9sirables issus de la campagne malveillante IndonesianFoods. Nous passons en revue les le\u00e7ons tir\u00e9es de cet incident.<\/p>\n","protected":false},"author":2509,"featured_media":23776,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2112,3150,3151],"tags":[4593,3197,1246,204,4300],"class_list":{"0":"post-23774","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-attaques-contre-la-chaine-dapprovisionnement","11":"tag-chaine-dapprovisionnement","12":"tag-developpement","13":"tag-menaces","14":"tag-npm"},"hreflang":[{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/indonesianfoods-npm-spam-campaign\/23774\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/indonesianfoods-npm-spam-campaign\/30300\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/indonesianfoods-npm-spam-campaign\/25355\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/indonesianfoods-npm-spam-campaign\/30150\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/indonesianfoods-npm-spam-campaign\/41535\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/indonesianfoods-npm-spam-campaign\/55453\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/indonesianfoods-npm-spam-campaign\/30415\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/indonesianfoods-npm-spam-campaign\/36034\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/indonesianfoods-npm-spam-campaign\/35693\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.fr\/blog\/tag\/chaine-dapprovisionnement\/","name":"chaine d&#039;approvisionnement"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/23774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/users\/2509"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/comments?post=23774"}],"version-history":[{"count":3,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/23774\/revisions"}],"predecessor-version":[{"id":23778,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/23774\/revisions\/23778"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media\/23776"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media?parent=23774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/categories?post=23774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/tags?post=23774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}