{"id":23768,"date":"2026-04-03T16:27:06","date_gmt":"2026-04-03T14:27:06","guid":{"rendered":"https:\/\/www.kaspersky.fr\/blog\/?p=23768"},"modified":"2026-04-03T16:27:06","modified_gmt":"2026-04-03T14:27:06","slug":"critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp","status":"publish","type":"post","link":"https:\/\/www.kaspersky.fr\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/23768\/","title":{"rendered":"Attaques contre la cha\u00eene d&rsquo;approvisionnement via Trivy et LiteLLM : protection du pipeline CI\/CD contre la vuln\u00e9rabilit\u00e9 CVE-2026-33634"},"content":{"rendered":"<p>Des millions de pipelines de d\u00e9veloppement logiciel automatis\u00e9s s\u2019appuient sur des outils de s\u00e9curit\u00e9, comme Trivy et Checkmarx AST, int\u00e9gr\u00e9s au processus de compilation. Et ce sont pr\u00e9cis\u00e9ment ces solutions r\u00e9put\u00e9es fiables qui ont r\u00e9cemment servi de point d\u2019entr\u00e9e \u00e0 l\u2019une des attaques les plus importantes et les plus dangereuses jamais perp\u00e9tr\u00e9es contre les <u>cha\u00eenes d\u2019approvisionnement<\/u>. Dans cet article, nous expliquons comment auditer les flux de travail automatis\u00e9s et s\u00e9curiser l\u2019infrastructure cloud d\u2019une entreprise.<\/p>\n<h2>Chronologie de l\u2019attaque et cons\u00e9quences connues<\/h2>\n<p>Le 19\u00a0mars, une attaque cibl\u00e9e contre la cha\u00eene d\u2019approvisionnement a \u00e9t\u00e9 men\u00e9e via Trivy, un outil open source d\u2019analyse des vuln\u00e9rabilit\u00e9s largement utilis\u00e9 dans les pipelines CI\/CD. Les pirates, un groupe connu sous le nom de TeamPCP, ont r\u00e9ussi \u00e0 injecter un programme malveillant dans les images Docker et les flux de travail officiels GitHub Actions associ\u00e9s \u00e0 Trivy. En cons\u00e9quence, chaque analyse automatis\u00e9e du pipeline d\u00e9clenchait un programme malveillant qui d\u00e9robait des cl\u00e9s SSH, des jetons d\u2019acc\u00e8s au cloud, des portefeuilles de cryptomonnaies ainsi que d\u2019autres donn\u00e9es pr\u00e9cieuses sur les syst\u00e8mes compromis. Compte tenu du caract\u00e8re critique de l\u2019incident, celui-ci s\u2019est vu attribuer l\u2019identifiant <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-33634\" target=\"_blank\" rel=\"noopener nofollow\">CVE-2026-33634<\/a>, avec un score CVSS4B de 9,4, soit un score proche du maximum.<\/p>\n<p>Plus tard dans la journ\u00e9e, l\u2019\u00e9quipe de Trivy a d\u00e9tect\u00e9 l\u2019attaque et supprim\u00e9 les \u00e9l\u00e9ments malveillants des canaux de distribution, mettant ainsi fin \u00e0 cette phase de l\u2019attaque. Cependant, les pirates avaient d\u00e9j\u00e0 r\u00e9ussi \u00e0 s\u2019introduire dans les environnements de nombreux utilisateurs de Trivy.<\/p>\n<p>Le 23\u00a0mars, un <a href=\"https:\/\/www.sysdig.com\/blog\/teampcp-expands-supply-chain-compromise-spreads-from-trivy-to-checkmarx-github-actions\" target=\"_blank\" rel=\"noopener nofollow\">incident similaire<\/a> a \u00e9t\u00e9 d\u00e9couvert dans un autre outil de s\u00e9curit\u00e9 des applications\u00a0: une GitHub Action pour Checkmarx KICS et pour Checkmarx AST. Trois heures plus tard, le code malveillant y avait aussi \u00e9t\u00e9 supprim\u00e9. TeamPCP a \u00e9galement r\u00e9ussi \u00e0 compromettre les <a href=\"https:\/\/x.com\/ReversingLabs\/status\/2036193573796978729?s=20\" target=\"_blank\" rel=\"noopener nofollow\">extensions OpenVSX<\/a> prises en charge par Checkmarx\u00a0: <em>cx-dev-assist<\/em> 1.7.0 et <em>ast-results<\/em>. Les informations divergent quant \u00e0 la date de r\u00e9solution de cette partie de l\u2019incident.<\/p>\n<p>Le 24\u00a0mars dernier, un projet tr\u00e8s populaire utilisant l\u2019analyse de code de Trivy, la passerelle d\u2019IA LiteLLM (une biblioth\u00e8que universelle permettant d\u2019acc\u00e9der \u00e0 divers fournisseurs LLM), a fait l\u2019objet d\u2019une attaque. Les versions\u00a01.82.7 et 1.82.8 t\u00e9l\u00e9charg\u00e9es dans le d\u00e9p\u00f4t PyPI ont \u00e9t\u00e9 compromises. Ces versions ont \u00e9t\u00e9 accessibles au public pendant environ cinq heures.<\/p>\n<p>Toutefois, le fait que l\u2019attaque n\u2019ait dur\u00e9 que quelques heures n\u2019est pas une raison pour la minimiser. Compte tenu de la popularit\u00e9 des projets concern\u00e9s, le code malveillant pourrait avoir \u00e9t\u00e9 ex\u00e9cut\u00e9 des milliers de fois, y compris au sein de l\u2019infrastructure de tr\u00e8s grandes entreprises.<\/p>\n<p>Les pirates ont ainsi pu installer des portes d\u00e9rob\u00e9es persistantes dans des clusters Kubernetes, mais aussi lancer le ver <a href=\"https:\/\/www.stepsecurity.io\/blog\/canisterworm-how-a-self-propagating-npm-worm-is-spreading-backdoors-across-the-ecosystem\" target=\"_blank\" rel=\"noopener nofollow\">CanisterWorm<\/a>, capable de se r\u00e9pliquer automatiquement, \u00e0 travers l\u2019\u00e9cosyst\u00e8me npm de JavaScript.<\/p>\n<p>Le code des pirates <a href=\"https:\/\/www.aikido.dev\/blog\/teampcp-stage-payload-canisterworm-iran\" target=\"_blank\" rel=\"noopener nofollow\">pr\u00e9sente des capacit\u00e9s destructrices<\/a> qui effacent un cluster Kubernetes et tous ses n\u0153uds s\u2019il d\u00e9tecte soit le fuseau horaire de T\u00e9h\u00e9ran, soit le farsi comme langue principale sur le syst\u00e8me compromis. Dans d\u2019autres r\u00e9gions, le programme malveillant se contente de voler des donn\u00e9es \u00e0 l\u2019aide du ver CanisterWorm.<\/p>\n<p>Selon les experts, plus de 20\u00a0000\u00a0d\u00e9p\u00f4ts sont consid\u00e9r\u00e9s comme \u00e9tant potentiellement vuln\u00e9rables. Les pirates affirment avoir d\u00e9rob\u00e9 des centaines de gigaoctets de donn\u00e9es et <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/popular-litellm-pypi-package-compromised-in-teampcp-supply-chain-attack\/\" target=\"_blank\" rel=\"noopener nofollow\">plus d\u2019un demi-million de comptes<\/a>.<\/p>\n<h2>Comment Trivy a \u00e9t\u00e9 attaqu\u00e9<\/h2>\n<p>Pour pirater Trivy, les pirates ont utilis\u00e9 des identifiants d\u00e9rob\u00e9s lors d\u2019un incident pr\u00e9c\u00e9dent. La <a href=\"https:\/\/cybernews.com\/security\/claude-powered-ai-bot-compromises-five-github-repositories\/\" target=\"_blank\" rel=\"noopener nofollow\">pr\u00e9c\u00e9dente compromission de Trivy<\/a>, survenue fin f\u00e9vrier, n\u2019avait probablement pas \u00e9t\u00e9 totalement ma\u00eetris\u00e9e, et les pirates (le m\u00eame groupe TeamPCP) sont revenus \u00e0 la charge avec une nouvelle attaque. <a href=\"https:\/\/github.com\/aquasecurity\/trivy\/discussions\/10425\" target=\"_blank\" rel=\"noopener nofollow\">Selon les d\u00e9veloppeurs<\/a> de Trivy, Aqua Security, \u00e9tant donn\u00e9 que les identifiants \u00e9taient progressivement supprim\u00e9s \u00e0 la suite de l\u2019incident pr\u00e9c\u00e9dent, les pirates auraient \u00e9t\u00e9 en mesure de g\u00e9n\u00e9rer de nouveaux jetons d\u2019acc\u00e8s avant que les anciens, compromis, n\u2019aient \u00e9t\u00e9 r\u00e9voqu\u00e9s.<\/p>\n<p>Le groupe TeamPCP a donc pu compromettre les GitHub Actions utilis\u00e9es dans les pipelines CI\/CD. \u00c0 l\u2019aide d\u2019identifiants dot\u00e9s de droits d\u2019\u00e9criture de tags, les pirates ont modifi\u00e9 de force 76 des 77\u00a0tags de version dans le r\u00e9pertoire aquasecurity\/trivy-action, ainsi que les sept tags du r\u00e9pertoire aquasecurity\/setup-trivy, redirigeant ainsi les versions fiables existantes vers des commits malveillants. On retrouve ici des tactiques observ\u00e9es lors de la <a href=\"https:\/\/securelist.com\/shai-hulud-2-0\/118214\/\" target=\"_blank\" rel=\"noopener\">campagne Shai-Hulud\u00a02.0<\/a>. Ainsi, les flux de travail tout au long du pipeline ont commenc\u00e9 \u00e0 ex\u00e9cuter le code des pirates, alors que les m\u00e9tadonn\u00e9es de la version ne pr\u00e9sentaient aucun changement visible.<\/p>\n<p>Parall\u00e8lement, les pirates ont publi\u00e9 une version binaire infect\u00e9e de Trivy (v0.69.4) sur les canaux de distribution officiels, notamment GitHub Releases et les registres de conteneurs.<\/p>\n<h2>Compromission de LiteLLM<\/h2>\n<p>La compromission de LiteLLM, l\u2019outil populaire d\u2019acc\u00e8s aux mod\u00e8les de langage, pourrait \u00e0 elle seule d\u00e9clencher une vague massive d\u2019attaques \u00e0 travers l\u2019ensemble des projets qui l\u2019utilisent. L\u2019attaque a eu lieu le 24\u00a0mars\u00a02026, lorsque TeamPCP a directement publi\u00e9 des versions malveillantes de la biblioth\u00e8que (1.82.7 et 1.82.8) sur PyPI. Entre 10\u00a0h\u00a039 UTC et 16\u00a0h\u00a000 UTC, ces paquets compromis contenaient des programmes malveillants qui volaient des identifiants. Ces virus \u00e9taient int\u00e9gr\u00e9s au fichier <em>proxy_server.py<\/em>, et la version\u00a01.82.8 contenait \u00e9galement un fichier <em>litellm_init<\/em> malveillant. Les donn\u00e9es vol\u00e9es ont \u00e9t\u00e9 transf\u00e9r\u00e9es vers le serveur <em>models.litellm[.]cloud<\/em>.<\/p>\n<p>Les clients utilisant LiteLLM Cloud ou l\u2019image Docker officielle de LiteLLM Proxy n\u2019ont pas \u00e9t\u00e9 affect\u00e9s en raison du verrouillage strict des versions, tandis que les d\u00e9veloppeurs et les projets en aval ayant install\u00e9 des versions non verrouill\u00e9es via pip pendant la p\u00e9riode indiqu\u00e9e ont \u00e9t\u00e9 compromis.<\/p>\n<p>En l\u2019espace de trois heures, les paquets malveillants ont \u00e9t\u00e9 supprim\u00e9s du d\u00e9p\u00f4t PyPI, et l\u2019\u00e9quipe LiteLLM a suspendu les nouvelles versions, renouvel\u00e9 les identifiants d\u2019acc\u00e8s et mis en place une proc\u00e9dure externe de gestion des incidents. Il est recommand\u00e9 aux \u00e9quipes qui utilisent LiteLLM dans leurs projets de v\u00e9rifier d\u00e8s que possible la pr\u00e9sence de l\u2019indicateur de compromission <em>litellm_init.pth<\/em> et de remplacer r\u00e9guli\u00e8rement tous les secrets potentiellement compromis.<\/p>\n<h2>Fonctionnalit\u00e9s du programme malveillant TeamPCP Cloud Stealer<\/h2>\n<p>Les pirates ont ajout\u00e9 une nouvelle logique aux GitHub Actions et \u00e0 l\u2019ex\u00e9cutable Trivy tout en conservant les fonctionnalit\u00e9s d\u2019origine. Les r\u00e9sultats de l\u2019analyse de vuln\u00e9rabilit\u00e9 effectu\u00e9e via Trivy semblaient normaux, mais en r\u00e9alit\u00e9, des donn\u00e9es sensibles \u00e9taient recherch\u00e9es et extraites. Le code malveillant effectuait les op\u00e9rations suivantes\u00a0:<\/p>\n<ul>\n<li>effectuer une reconnaissance (collecte de donn\u00e9es r\u00e9seau et de variables d\u2019environnement)\u00a0;<\/li>\n<li>rechercher des jetons et des identifiants pour acc\u00e9der aux environnements cloud AWS et GCP\u00a0;<\/li>\n<li>analyser la m\u00e9moire <em>(\/proc\/*\/mem)<\/em> afin d\u2019extraire les informations confidentielles stock\u00e9es dans la m\u00e9moire des processus <em>Runner.Worker<\/em> et <em>Runner.Listener<\/em>\u00a0;<\/li>\n<li>extraire les secrets Kubernetes (<em>\/run\/secrets\/kubernetes.io\/serviceaccount<\/em>)\u00a0;<\/li>\n<li>collecter les donn\u00e9es n\u00e9cessaires \u00e0 la connexion aux serveurs de bases de donn\u00e9es (MySQL, PostgreSQL, MongoDB, Redis, Vault)\u00a0;<\/li>\n<li>r\u00e9cup\u00e9rer toutes les autres cl\u00e9s API et secrets contenus dans les fichiers d\u2019environnement et les fichiers de configuration CI\/CD (<em>.env, .json, .yml<\/em>)\u00a0;<\/li>\n<li>rechercher des webhooks pour les canaux Slack et Discord\u00a0;<\/li>\n<li>rechercher des donn\u00e9es relatives aux portefeuilles de cryptomonnaies (variables li\u00e9es \u00e0 la blockchain Solana, ainsi que les donn\u00e9es <em>rpcuser<\/em> et <em>rpcpassword<\/em>).<\/li>\n<\/ul>\n<p>Les donn\u00e9es collect\u00e9es ont \u00e9t\u00e9 chiffr\u00e9es puis t\u00e9l\u00e9charg\u00e9es sur un serveur dont le nom ressemblait \u00e0 celui des d\u00e9veloppeurs de Trivy (<em>scan.aquasecurtiy[.]org<\/em>). En guise de solution de secours, les pirates ont fourni une m\u00e9thode permettant de t\u00e9l\u00e9charger des donn\u00e9es vers un d\u00e9p\u00f4t nomm\u00e9 <em>docs-tpcp<\/em>.<\/p>\n<p>L\u2019attaque contre CheckMarx et LiteLLM a utilis\u00e9 une tactique semblable \u00e0 celle employ\u00e9e pour d\u2019autres domaines de typosquattage\u00a0: <em>models.litellm[.]cloud<\/em> et <em>checkmarx[.]zone<\/em>.<\/p>\n<p>Vous trouverez une analyse technique d\u00e9taill\u00e9e du programme malveillant, ainsi que les indicateurs de compromission, dans l\u2019article r\u00e9dig\u00e9 par notre expert <a href=\"https:\/\/securelist.com\/litellm-supply-chain-attack\/119257\/\" target=\"_blank\" rel=\"noopener\">sur le blog de Securelist<\/a>.<\/p>\n<h2>Strat\u00e9gies d\u2019intervention et de d\u00e9fense pour la vuln\u00e9rabilit\u00e9 CVE-2026-33634<\/h2>\n<p>Les v\u00e9rifications bas\u00e9es sur les signatures et l\u2019analyse des d\u00e9pendances actuellement utilis\u00e9es dans les registres publics ne suffisent plus, car le code malveillant a \u00e9t\u00e9 inject\u00e9 directement dans des actions fiables et sign\u00e9es, et a \u00e9chapp\u00e9 \u00e0 la d\u00e9tection jusqu\u2019\u00e0 ce qu\u2019une surveillance comportementale soit mise en place. Les pipelines CI\/CD sont d\u00e9sormais le \u00ab\u00a0nouveau p\u00e9rim\u00e8tre\u00a0\u00bb de s\u00e9curit\u00e9.<\/p>\n<p><strong>Mesures imm\u00e9diates. <\/strong>Assurez-vous que tous les flux de travail utilisent des versions s\u00e9curis\u00e9es (binaire Trivy 0.69.3, trivy-action 0.35.0, setup-trivy 0.2.6).<\/p>\n<p>Les administrateurs de pipelines CI\/CD et les \u00e9quipes de s\u00e9curit\u00e9 doivent imm\u00e9diatement passer en revue leurs d\u00e9pendances vis-\u00e0-vis des solutions Checkmarx (kics-github-action, ast-github-action) et Trivy (setup-trivy et trivy-action). Si les flux de travail faisaient r\u00e9f\u00e9rence \u00e0 un tag de version plut\u00f4t qu\u2019\u00e0 un hachage SHA particulier, passez attentivement en revue les journaux d\u2019ex\u00e9cution de vos flux de travail pour la p\u00e9riode durant laquelle l\u2019attaque de la cha\u00eene d\u2019approvisionnement \u00e9tait active.<\/p>\n<p>Nous vous recommandons \u00e9galement de v\u00e9rifier vos journaux r\u00e9seau pour d\u00e9tecter tout trafic vers les domaines <em>scan.aquasecurtiy[.]org<\/em>, <em>checkmarx[.]zone<\/em> et <em>models.litellm[.]cloud<\/em>. La pr\u00e9sence d\u2019un tel trafic indique que des donn\u00e9es sensibles ont \u00e9t\u00e9 extraites.<\/p>\n<p>Si un d\u00e9p\u00f4t nomm\u00e9 \u00ab\u00a0docs-tpcp\u00a0\u00bb est apparu sur le compte GitHub de l\u2019organisation, cela peut \u00e9galement indiquer qu\u2019une violation de donn\u00e9es a eu lieu.<\/p>\n<p>V\u00e9rifiez si les h\u00f4tes et les clusters pr\u00e9sentent des signes de compromission\u00a0: pr\u00e9sence de fichiers ~\/.config\/sysmon\/sysmon.py ou de pods suspects dans Kubernetes.<\/p>\n<p>Videz le cache et faites l\u2019inventaire des modules PyPI\u00a0: recherchez ceux qui sont malveillants et restaurez les versions saines.<\/p>\n<p>Dans tous les cas, il convient de mener une <a href=\"https:\/\/www.kaspersky.fr\/enterprise-security\/compromise-assessment?icid=fr_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">recherche proactive des menaces<\/a>, en partant du principe que les syst\u00e8mes ont \u00e9t\u00e9 compromis et que les pirates ont rapidement progress\u00e9 au sein des syst\u00e8mes touch\u00e9s.<\/p>\n<p>Il est recommand\u00e9 de restaurer les environnements concern\u00e9s \u00e0 partir de sauvegardes v\u00e9rifi\u00e9es.<\/p>\n<p><strong>Verrouillage des d\u00e9pendances et gestion des secrets. <\/strong>Assurez-vous que les versions exactes des d\u00e9pendances sont verrouill\u00e9es \u00e0 l\u2019aide de hachages cryptographiques dans tous les pipelines et fichiers Dockerfile. Nous vous recommandons de remplacer les jetons \u00e0 longue dur\u00e9e de vie par des identifiants \u00e0 courte dur\u00e9e de vie \u00e0 l\u2019aide d\u2019un outil de gestion des secrets, et de mettre en place des int\u00e9grations OIDC dans la mesure du possible. Limitez au maximum l\u2019injection de donn\u00e9es sensibles dans l\u2019environnement d\u2019ex\u00e9cution. Ne le faites que lorsque cela est absolument n\u00e9cessaire. Assurez-vous que les secrets ne sont pas stock\u00e9s sur le disque ni dans des fichiers temporaires, et qu\u2019ils ne sont pas r\u00e9utilis\u00e9s dans diff\u00e9rents processus.<\/p>\n<p>Renouvelez tous les identifiants susceptibles d\u2019avoir \u00e9t\u00e9 compromis\u00a0: cl\u00e9s API, variables d\u2019environnement, cl\u00e9s SSH, jetons de compte de service Kubernetes et autres secrets.<\/p>\n<p><strong>Autres mesures de s\u00e9curit\u00e9. <\/strong>Autorisez uniquement l\u2019utilisation des GitHub Actions figurant sur une liste approuv\u00e9e par l\u2019organisation et bloquez les nouveaux processus non v\u00e9rifi\u00e9s. Configurez <em>GITHUB_TOKEN<\/em> et les autres cl\u00e9s d\u2019acc\u00e8s en respectant le principe du moindre privil\u00e8ge. N\u2019accordez pas d\u2019autorisations d\u2019\u00e9criture sauf en cas d\u2019absolue n\u00e9cessit\u00e9.<\/p>\n<p>Pour renforcer la s\u00e9curit\u00e9 des GitHub Actions, plusieurs outils open source sont disponibles\u00a0:<\/p>\n<ul>\n<li>zizmor\u00a0: un outil d\u2019analyse statique et de d\u00e9tection des erreurs de configuration dans les GitHub Actions\u00a0;<\/li>\n<li>gato et Gato-X\u00a0: deux versions d\u2019un outil permettant d\u2019identifier les pipelines pr\u00e9sentant des vuln\u00e9rabilit\u00e9s structurelles\u00a0;<\/li>\n<li>allstar\u00a0: une application GitHub, d\u00e9velopp\u00e9e par OpenSSF, permettant de configurer et d\u2019appliquer des strat\u00e9gies de s\u00e9curit\u00e9 au sein des organisations et des d\u00e9p\u00f4ts GitHub.<\/li>\n<\/ul>\n<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:\/\/kas.pr\/k8rs\" target=\"_blank\" rel=\"noopener\">R\u00e9action en cha\u00eene\u00a0: s\u00e9curiser l\u2019\u00e9cosyst\u00e8me num\u00e9rique mondial \u00e0 l\u2019\u00e8re de l\u2019interd\u00e9pendance<\/a>. Ce rapport 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, les lacunes qui subsistent en mati\u00e8re de protection, ainsi que les strat\u00e9gies \u00e0 mettre en \u0153uvre pour renforcer la r\u00e9silience face \u00e0 ce type de menaces.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\"><input type=\"hidden\" class=\"placeholder_for_banner\" data-cat_id=\"mdr\" value=\"21662\">\n","protected":false},"excerpt":{"rendered":"<p>Comment des solutions de s\u00e9curit\u00e9 open source ont servi de point de d\u00e9part \u00e0 une attaque de grande envergure visant d&rsquo;autres applications populaires, et mesures \u00e0 prendre par les organisations qui les utilisent.<\/p>\n","protected":false},"author":2706,"featured_media":23770,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[686],"tags":[4593,3197,204,4369,527,322],"class_list":{"0":"post-23768","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"tag-attaques-contre-la-chaine-dapprovisionnement","9":"tag-chaine-dapprovisionnement","10":"tag-menaces","11":"tag-open-source","12":"tag-technologie","13":"tag-vulnerabilites"},"hreflang":[{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/23768\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/30309\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/25363\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/30159\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/41587\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/55510\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/24855\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/33335\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/30454\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/36042\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp\/35701\/"}],"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\/23768","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\/2706"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/comments?post=23768"}],"version-history":[{"count":4,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/23768\/revisions"}],"predecessor-version":[{"id":23773,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/posts\/23768\/revisions\/23773"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media\/23770"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/media?parent=23768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/categories?post=23768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.fr\/blog\/wp-json\/wp\/v2\/tags?post=23768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}