{"id":23773,"date":"2025-02-04T22:41:05","date_gmt":"2025-02-04T18:41:05","guid":{"rendered":"https:\/\/me-en.kaspersky.com\/blog\/supply-chain-attacks-in-2024\/23773\/"},"modified":"2025-02-04T22:41:23","modified_gmt":"2025-02-04T18:41:23","slug":"supply-chain-attacks-in-2024","status":"publish","type":"post","link":"https:\/\/me-en.kaspersky.com\/blog\/supply-chain-attacks-in-2024\/23773\/","title":{"rendered":"Supply-chain attacks in 2024"},"content":{"rendered":"<p>A supply-chain attack can totally thwart all a targeted company\u2019s efforts to protect its infrastructure. Preventing such attacks is extremely difficult because a significant portion of an attack occurs in infrastructure that\u2019s not within the security team\u2019s control. This makes supply-chain attacks one of the most dangerous threats in recent years, and today we\u2019ll look at some of the biggest that took place in 2024.\n<\/p>\n<h2>January 2024: malicious npm packages stole SSH keys from hundreds of developers on GitHub<\/h2>\n<p>\nThe first major supply-chain <a href=\"https:\/\/thehackernews.com\/2024\/01\/malicious-npm-packages-exfiltrate-1600.html\" target=\"_blank\" rel=\"nofollow noopener\">attack<\/a> in 2024 involved malicious npm packages uploaded to GitHub in early January. The main purpose of these modules, named warbeast2000 and kodiak2k, was to search infected systems for SSH keys and send them back to the criminals. Some versions of kodiak2k also included a script to launch <a href=\"https:\/\/en.wikipedia.org\/wiki\/Mimikatz\" target=\"_blank\" rel=\"nofollow noopener\">Mimikatz<\/a>, a tool used to extract passwords from memory.<\/p>\n<p>In total, attackers managed to publish eight versions of warbeast2000, and over 30 versions of kodiak2k. By the time they were discovered and removed from the repository, the malicious packages had already been downloaded 412 and 1281 times, respectively \u2014 meaning potentially hundreds of developers were affected.\n<\/p>\n<h2>February 2024: abandoned PyPI package used to distribute NovaSentinel infostealer<\/h2>\n<p>\nIn February, a <a href=\"https:\/\/thehackernews.com\/2024\/02\/dormant-pypi-package-compromised-to.html\" target=\"_blank\" rel=\"nofollow noopener\">malicious update<\/a> was discovered in the django-log-tracker package, which was hosted on the Python Package Index (PyPI). The latest legitimate version of this module was published in 2022, and since then it had been abandoned by its creators. It appears that the attackers managed to hijack the developer\u2019s PyPI account and upload their own malicious version of the package.<\/p>\n<p>The malicious update contained only two files with identical and very simple code; all the original module content was deleted. This code downloaded an EXE file from a certain URL and executed it.<\/p>\n<p>This EXE file was an installer for the NovaSentinel stealer malware. NovaSentinel is designed to steal any valuable information it can find in the infected system, including saved browser passwords, cryptocurrency wallet keys, Wi-Fi passwords, session tokens from popular services, clipboard contents, and more.\n<\/p>\n<h2>March 2024: backdoor implanted in popular Linux distributions using XZ Utils<\/h2>\n<p>\nIn late March an incident was reported that could potentially have become the <a href=\"https:\/\/www.kaspersky.com\/blog\/cve-2024-3094-vulnerability-backdoor\/50873\/\" target=\"_blank\" rel=\"noopener nofollow\">most dangerous supply-chain attack of 2024<\/a> with devastating consequences. As part of a sophisticated operation lasting two-and-a-half years, a GitHub user known as Jia Tan managed to gain control over the XZ Utils project \u2014 a set of compression utilities included in many popular Linux distributions.<\/p>\n<p>With the project under his control, Jia Tan published two versions of the package (5.6.0 and 5.6.1), both containing the backdoor. As a result, the compromised liblzma library was included in test versions of several Linux distributions.<\/p>\n<p>According to Igor Kuznetsov, head of Kaspersky\u2019s Global Research &amp; Analysis Team (GReAT), the CVE-2024-3094 vulnerability could have become the biggest ever attack on the Linux ecosystem. Had the vulnerability been introduced into stable distributions, we might have seen massive server compromises. Fortunately, CVE-2024-3094 was detected in test and rolling-release distributions, so most Linux users remained safe.\n<\/p>\n<h2>April 2024: malicious Visual Studio projects spread malware on GitHub<\/h2>\n<p>\nIn April, an <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/malicious-visual-studio-projects-on-github-push-keyzetsu-malware\/\" target=\"_blank\" rel=\"nofollow noopener\">attack<\/a> targeting GitHub users was discovered in which attackers published malicious Visual Studio projects. To aid their attack, the attackers skillfully manipulated GitHub\u2019s search algorithm. First, they used popular names and topics for their projects. Second, they created dozens of fake accounts to \u201cstar\u201d their malicious projects, creating the illusion of popularity. And third, they automatically published frequent updates, making meaningless changes to a file included solely for this purpose. This made their projects appear fresh and up-to-date compared to available alternatives.<\/p>\n<p>Inside these projects, malware resembling Keyzetsu Clipper was hidden. This malware intercepts and replaces cryptocurrency wallet addresses copied to the clipboard. As a result, crypto-transactions on the infected system are redirected to the attackers instead of the intended recipient.\n<\/p>\n<h2>May 2024: backdoor discovered in the JAVS courtroom video recording software<\/h2>\n<p>\nIn May, reports emerged about the <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/javs-courtroom-recording-software-backdoored-in-supply-chain-attack\/\" target=\"_blank\" rel=\"nofollow noopener\">trojanization<\/a> of the JAVS (Justice AV Solutions) courtroom recording software. This system is widely used in judicial institutions and other law enforcement-related organizations, with around 10\u00a0000 installations worldwide.<\/p>\n<p>A dropper was found inside the ffmpeg.exe file \u2014 included in the JAVS.Viewer8.Setup_8.3.7.250-1.exe installer on the official JAVS website. This dropper executed a series of malicious scripts on infected systems, designed to bypass Windows security mechanisms, download additional modules, and collect login credentials.\n<\/p>\n<h2>June 2024: tens of thousands of websites using Polyfill.io delivered malicious code<\/h2>\n<p>\nIn late June, the cdn.polyfill.io domain <a href=\"https:\/\/www.kaspersky.com\/blog\/polyfill-io-service-supply-chain-attacks\/51635\/\" target=\"_blank\" rel=\"noopener nofollow\">began distributing malicious code<\/a> to visitors of websites relying on the Polyfill.io service. Users were redirected to a Vietnamese-language sports betting site through a fake domain impersonating Google Analytics (www[.]googie-anaiytics[.]com).<\/p>\n<p>Polyfill.io was originally created by the Financial Times to ensure that websites remain compatible with older or less common browsers. However, in 2024, it was sold to Chinese CDN provider Funnull, along with its domain and GitHub account \u2014 and this is where the trouble began.<\/p>\n<p>Over the years, Polyfill.io became very popular. Even at the time of the incident, more than 100\u00a0000 websites worldwide \u2014 including many high-profile ones \u2014 were still using polyfills, even though they\u2019re no longer needed. Following the attack, the original creator of Polyfill.io <a href=\"https:\/\/x.com\/triblondon\/status\/1761852117579427975\" target=\"_blank\" rel=\"nofollow noopener\">advised users<\/a> to stop using the service. However, the script is currently still present on <a href=\"https:\/\/publicwww.com\/websites\/%22cdn.polyfill.io%22\/\" target=\"_blank\" rel=\"nofollow noopener\">tens of thousands of websites<\/a>.\n<\/p>\n<h2>July 2024: trojanized jQuery version found on npm, GitHub, and jsDelivr<\/h2>\n<p>\nIn July, a trojanized version of jQuery \u2014 the popular JavaScript library used to simplify interaction with the HTML Document Object Model (DOM) \u2014 was <a href=\"https:\/\/thehackernews.com\/2024\/07\/trojanized-jquery-packages-found-on-npm.html\" target=\"_blank\" rel=\"nofollow noopener\">discovered<\/a>. Over the course of several months, the attackers managed to publish dozens of infected packages to the npm registry. The trojanized jQuery was also found on other platforms, including GitHub, and even jsDelivr n \u2014 a CDN service for delivering JavaScript code.<\/p>\n<p>Despite being compromised, the trojanized versions of jQuery remained fully functional. The main difference from the original library was the inclusion of malicious code designed to capture all user data entered into forms on infected pages and then send it to an attacker-controlled address.\n<\/p>\n<h2>August 2024: infected plug-in for the multi-protocol messenger Pidgin<\/h2>\n<p>\nAt the end of August, one of the plug-ins published on the official Pidgin messenger page <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/malware-infiltrates-pidgin-messengers-official-plugin-repository\/\" target=\"_blank\" rel=\"nofollow noopener\">was found distributing<\/a> DarkGate \u2014 a multi-functional malware that gives attackers remote access to infected systems where they can install additional malware.<\/p>\n<p>Pidgin is an open-source \u201call-in-one\u201d messenger, allowing users to communicate across multiple messaging systems and protocols without installing separate applications. Although Pidgin\u2019s peak popularity has long passed, it remains widely used among tech enthusiasts and open-source software advocates.<\/p>\n<p>The infected ss-otr (ScreenShareOTR) plug-in was designed for screen sharing over the Off-The-Record (OTR) protocol \u2014 a cryptographic protocol for secure instant messaging. This means the attackers specifically targeted users who prioritize privacy and secure communication.\n<\/p>\n<h2>September 2024: hijacking deleted projects on PyPI<\/h2>\n<p>\nIn September, researchers <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/revival-hijack-supply-chain-attack-threatens-22-000-pypi-packages\/\" target=\"_blank\" rel=\"nofollow noopener\">published a study<\/a> exploring the theoretical possibility of hijacking deleted PyPI projects \u2014 or rather, their names. The issue arises because after a package is deleted, nothing prevents anyone from creating a new project with the same name. As a result, developers who request updates for the deleted package end up downloading a fake, malicious version instead.<\/p>\n<p>PyPI is aware of this risk, and issues a warning when you try to delete a project:<\/p>\n<div id=\"attachment_52967\" style=\"width: 1152px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/37\/2025\/02\/04224121\/supply-chain-attacks-in-2024-9.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-52967\" class=\"wp-image-52967 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/37\/2025\/02\/04224121\/supply-chain-attacks-in-2024-9.jpg\" alt=\"PyPI warning when deleting a project\" width=\"1142\" height=\"657\"><\/a><p id=\"caption-attachment-52967\" class=\"wp-caption-text\">When a project is deleted, PyPI alerts its current owner about the potential consequences. <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/revival-hijack-supply-chain-attack-threatens-22-000-pypi-packages\/\" target=\"_blank\" rel=\"nofollow noopener\">Source<\/a><\/p><\/div>\n<p>In total, the researchers found over 22\u00a0000 PyPI projects vulnerable to this attack. Moreover, they discovered that the threat is not just theoretical \u2014 this attack method was already observed \u201cin the wild\u201d.<\/p>\n<p>To protect some of the most obvious high-risk targets, the researchers <a href=\"https:\/\/pypi.org\/user\/security_holding\/\" target=\"_blank\" rel=\"nofollow noopener\">registered<\/a> the names of certain popular deleted projects under a secure account they created.\n<\/p>\n<h2>October 2024: malicious script in the LottieFiles Lottie-Player<\/h2>\n<p>\nIn late October, a supply-chain <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/lottiefiles-hacked-in-supply-chain-attack-to-steal-users-crypto\/\" target=\"_blank\" rel=\"nofollow noopener\">attack<\/a> targeted the LottieFiles Lottie-Player, a JSON-based library for playing lightweight animations used in mobile and web applications. The attackers simultaneously published multiple versions of Lottie-Player (2.0.5, 2.0.6, and 2.0.7) containing malicious code. As a result, a cryptodrainer appeared on sites thar used this library.<\/p>\n<p>At least one major crypto-theft has been confirmed, with the victim losing nearly 10 bitcoins (over US$700\u00a0000 at the time of the incident).\n<\/p>\n<h2>November 2024: JarkaStealer found in the PyPI repository<\/h2>\n<p>\nIn November, our experts from the Global Research and Analysis Team (GReAT) <a href=\"https:\/\/www.kaspersky.com\/blog\/jarkastealer-in-pypi-packages\/52640\/\" target=\"_blank\" rel=\"nofollow noopener\">discovered two malicious packages<\/a> in the PyPI repository: claudeai-eng and gptplus. These packages had been available on PyPI for over a year \u2014 downloaded over 1700 times by users across 30+ countries.<\/p>\n<p>The packages posed as libraries for interacting with popular AI chatbots. However, in reality, claudeai-eng and gptplus only imitated their declared functions using a demo version of ChatGPT. Their real purpose was to install the JarkaStealer malware.<\/p>\n<p>As you might guess from the name, this is an infostealer. It steals passwords and saves browser data, extracts session tokens from popular apps (Telegram, Discord, Steam), gathers system information, and takes screenshots.\n<\/p>\n<h2>December 2024: infected Ultralytics YOLO11 AI model in PyPI<\/h2>\n<p>\nIn December, another AI-themed supply-chain attack was carried out via the PyPI repository. This time, the attack targeted the popular package, Ultralytics YOLO11 (You Only Look Once) \u2014 an advanced AI model for real-time object recognition in video streams.<\/p>\n<p>Users who installed the Ultralytics YOLO11 library, whether directly or as a dependency, also unknowingly installed the cryptominer XMRig Miner.\n<\/p>\n<h2>How to protect against supply-chain attacks<\/h2>\n<p>\nFor detailed recommendations on preventing supply-chain attacks, check out our <a href=\"https:\/\/www.kaspersky.com\/blog\/supply-chain-attacks-what-are-they-and-how-to-manage-the-risk\/52852\/\" target=\"_blank\" rel=\"noopener nofollow\">dedicated guide<\/a>. Here are the main tips:\n<\/p>\n<ul>\n<li>Always carefully review any code used in your projects.<\/li>\n<li>Maintain a Software Bill of Materials (SBOM) to track dependencies and components.<\/li>\n<li>Monitor suspicious activity in your corporate network using an <a href=\"https:\/\/me-en.kaspersky.com\/next?icid=me-en_kdailyplacehold_acq_ona_smm__onl_b2b_kdaily_wpplaceholder_sm-team___knext____655fe72318f39647\" target=\"_blank\" rel=\"noopener\">XDR-class security solution<\/a>.<\/li>\n<li>If your internal security team lacks sufficient resources, consider using an <a href=\"https:\/\/me-en.kaspersky.com\/enterprise-security\/managed-detection-and-response?icid=me-en_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">external service for timely threat detection and response<\/a>.<\/li>\n<\/ul>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\">\n","protected":false},"excerpt":{"rendered":"<p>We look at the most notable supply-chain attacks of 2024.<\/p>\n","protected":false},"author":2726,"featured_media":23776,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1318,1916,1917],"tags":[111,1520,1457,2814,1072,2310,1969,1022,2151,1758,1723,521,268],"class_list":{"0":"post-23773","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-attacks","11":"tag-backdoors","12":"tag-business","13":"tag-developers","14":"tag-development","15":"tag-devops","16":"tag-open-source","17":"tag-risks","18":"tag-stealers","19":"tag-supply-chain","20":"tag-supply-chain-attack","21":"tag-threats","22":"tag-vulnerabilities"},"hreflang":[{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/supply-chain-attacks-in-2024\/23773\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/supply-chain-attacks-in-2024\/28520\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/supply-chain-attacks-in-2024\/28647\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/supply-chain-attacks-in-2024\/39004\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/supply-chain-attacks-in-2024\/52965\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/supply-chain-attacks-in-2024\/28776\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/supply-chain-attacks-in-2024\/34593\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/supply-chain-attacks-in-2024\/34217\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/me-en.kaspersky.com\/blog\/tag\/supply-chain-attack\/","name":"supply-chain attack"},"_links":{"self":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/23773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/2726"}],"replies":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=23773"}],"version-history":[{"count":1,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/23773\/revisions"}],"predecessor-version":[{"id":23775,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/23773\/revisions\/23775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/23776"}],"wp:attachment":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=23773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=23773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=23773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}