{"id":9117,"date":"2025-12-11T10:03:40","date_gmt":"2025-12-11T10:03:40","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/12\/11\/hackers-infiltrate-vs-code-marketplace-with-19-malicious-extensions-posing-as-png-file\/"},"modified":"2025-12-11T10:03:40","modified_gmt":"2025-12-11T10:03:40","slug":"hackers-infiltrate-vs-code-marketplace-with-19-malicious-extensions-posing-as-png-file","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/12\/11\/hackers-infiltrate-vs-code-marketplace-with-19-malicious-extensions-posing-as-png-file\/","title":{"rendered":"Hackers Infiltrate VS Code Marketplace with 19 Malicious Extensions Posing as PNG File"},"content":{"rendered":"<p>    Hackers Infiltrate VS Code Marketplace with 19 Malicious Extensions Posing as PNG File<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n    <!-- no image --><br \/>\n \t<BR><br \/>\n<BR><\/BR><\/p>\n<div>\n<p>Security researchers have uncovered a significant threat targeting developers through the VS Code Marketplace. A coordinated campaign involving 19 malicious extensions has been actively infiltrating the platform, with the attack remaining undetected since February 2025. <\/p>\n<p>These deceptive extensions carry hidden malware in their dependency folders, designed to evade security detection and compromise developer machines.<\/p>\n<p>The campaign showcases how attackers have shifted their approach to target the software supply chain. Rather than deploying obvious threats, the threat actors created extensions that either impersonate legitimate packages or claim to offer genuine features. <\/p>\n<p>Once installed, these extensions activate <a href=\"https:\/\/cybersecuritynews.com\/asustor-vulnerability-attackers-execute-malicious-code\/\" target=\"_blank\" rel=\"noreferrer noopener\">malicious code<\/a> silently in the background. What makes this campaign particularly sophisticated is the method of concealment\u2014the attackers embedded executable files within what appeared to be harmless image files, specifically PNG files. <\/p>\n<p>This approach creates an additional layer of deception, as developers would not suspect a graphic file of containing executable code.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjXwok00c4fMaWkV8IFwIZ1XekXWj0AV1CeyK1DqVpcLq5EkTW1kPDHtQOA6-_wbNDhoWJxrRqY2wtpG_SDVWyGHdSFjdcvjgayHmypAzqXALETfNREljnW6ku026K6EmM0F1BFVaURWskKdzEOFVCRthdKVe_vjNzhoPEaTmsWiZGhQx6FdCtYAVwdVss\/s16000\/Difference%2520between%2520original%2520%27path-is-absolute%27%2520package%2520and%2520the%2520modified%2520one%2520%28Source%2520-%2520Reversing%2520Labs%29.webp?ssl=1\" alt=\"Difference between original 'path-is-absolute' package and the modified one (Source - Reversing Labs)\"><figcaption class=\"wp-element-caption\">Difference between original \u2018path-is-absolute\u2019 package and the modified one (Source \u2013 Reversing Labs)<\/figcaption><\/figure>\n<\/div>\n<p>The threat emerges from a worrying trend. In the first ten months of 2025 alone, malware detections on VS Code almost quadrupled compared to 2024, rising from 27 to 105 instances. <\/p>\n<p>This sharp increase indicates that the VS Code Marketplace has become an increasingly attractive target for malicious actors seeking to reach developer communities.<\/p>\n<p>ReversingLabs security analysts <a href=\"https:\/\/www.reversinglabs.com\/blog\/malicious-vs-code-fake-image\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">identified<\/a> that the malware exploits the way VS Code extensions are structured. <\/p>\n<p>Extensions come pre-packaged with all their dependencies in a node_modules folder, allowing them to run without needing to download additional components. <\/p>\n<p>The researchers discovered that the attackers weaponized the popular \u201cpath-is-absolute\u201d npm package, which has accumulated over 9 billion downloads since 2021. <\/p>\n<p>By adding malicious code to this dependency within their extensions, they turned a trusted component into a delivery mechanism for the trojan.<\/p>\n<h2 class=\"wp-block-heading\" id=\"technical-infection-mechanism\"><strong>Technical Infection Mechanism<\/strong><\/h2>\n<p>The infection process begins when VS Code starts up. The modified package\u2019s index.js file contains a new class that automatically triggers upon launch. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgVToPFuwalQCfaEbttLAI-5Z_kzniohdxZyzaAIprGBngHzUkQGcaFH38gaStQEuaHRZ0KdBmODch9dgUuk3-kcgcSSUD78y_Z-xWWN8XFTs6U-vQLbJev6L5VJ1Lt5CZ7HZ1bn1JIYmxOmjeybUa_aHW57IeCkotPCMlFo2zII580bFfAZqrkdXvdMAM\/s16000\/Malicious%2520code%2520being%2520added%2520to%2520index.js%2520of%2520the%2520%27path-is-absolute%27%2520npm%2520package%2520%28Source%2520-%2520Reversing%2520Labs%29.png?ssl=1\" alt=\"Malicious code being added to index.js of the 'path-is-absolute' npm package (Source - Reversing Labs)\"><figcaption class=\"wp-element-caption\">Malicious code being added to index.js of the \u2018path-is-absolute\u2019 npm package (Source \u2013 Reversing Labs)<\/figcaption><\/figure>\n<\/div>\n<p>This class decodes a <a href=\"https:\/\/cybersecuritynews.com\/hackers-attacking-mobile-users-leveraging-pwa-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a> dropper concealed inside the malicious banner.png file. The dropper itself was hidden through base64 encoding and string reversal, making manual analysis difficult. <\/p>\n<p>When executed, this dropper deploys two malicious binaries using cmstp.exe, a legitimate <a href=\"https:\/\/cybersecuritynews.com\/indirect-shellcode-executor-evade-av-and-edr\/\" target=\"_blank\" rel=\"noreferrer noopener\">Windows tool<\/a> that attackers abuse. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhrxhM-5jOW06WODECK4jqp2tPuXHGa0j5-Eb35Hluz1IG3BTODeNPqCpg8cWZKrH6ubI9kLYvX-57rb_pfSTLWdiMM87gIgrQvhP94eaGm_HQxa5cRR-kqPIsNuzxvRByLwpbTQYb9vSQWzPZO0KKL-zjkKDP5O1yF4cT826veMJt6rEqXP49N3v3RqYw\/s16000\/Decoded%2520payload%2520of%2520the%2520%27lock%27%2520file%2520%28Source%2520-%2520Reversing%2520Labs%29.png?ssl=1\" alt=\"Decoded payload of the 'lock' file (Source - Reversing Labs)\"><figcaption class=\"wp-element-caption\">Decoded payload of the \u2018lock\u2019 file (Source \u2013 Reversing Labs)<\/figcaption><\/figure>\n<\/div>\n<p>One binary manages the attack process, while the other is a more sophisticated Rust-based trojan whose full capabilities were still under investigation at the time of discovery. <\/p>\n<p>Four extensions in the campaign used alternative methods, splitting the binaries into separate .ts and .map files rather than concealing them in PNG archives.<\/p>\n<p>Development teams should immediately audit their installed extensions, verify their sources, and employ <a href=\"https:\/\/cybersecuritynews.com\/web-security-scanners\/\" target=\"_blank\" rel=\"noreferrer noopener\">security scanning<\/a> tools before installation to prevent compromise.<\/p>\n<p class=\"has-text-align-center has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 92%,rgb(169,184,195) 100%)\"><strong>Follow us on\u00a0<a href=\"https:\/\/news.google.com\/publications\/CAAqMggKIixDQklTR3dnTWFoY0tGV041WW1WeWMyVmpkWEpwZEhsdVpYZHpMbU52YlNnQVAB?hl=en-IN&amp;gl=IN&amp;ceid=IN:en\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Google News<\/a>,\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/cybersecurity-news\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">LinkedIn<\/a>,\u00a0and\u00a0<a href=\"https:\/\/x.com\/cyber_press_org\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">X<\/a>\u00a0to Get More Instant Updates<\/strong>,\u00a0<strong>Set CSN as a Preferred Source in\u00a0<a href=\"https:\/\/www.google.com\/preferences\/source?q=cybersecuritynews.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Google<\/a>.<\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/hackers-infiltrate-vs-code-marketplace\/\">Hackers Infiltrate VS Code Marketplace with 19 Malicious Extensions Posing as PNG File<\/a> appeared first on <a href=\"https:\/\/cybersecuritynews.com\/\">Cyber Security News<\/a>.<\/p>\n<\/div>\n<p> \t<BR><br \/>\n <BR><\/BR><br \/>\n    Tushar Subhra Dutta<br \/>\n \t<BR><br \/>\n<BR><\/BR><br \/>\n<a href=\"https:\/\/cybersecuritynews.com\/hackers-infiltrate-vs-code-marketplace\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hackers Infiltrate VS Code Marketplace with 19 Malicious Extensions Posing as PNG File Security researchers have uncovered a significant threat targeting developers through the VS Code Marketplace. A coordinated campaign involving 19 malicious extensions has been actively infiltrating the platform, with the attack remaining undetected since February 2025. These deceptive extensions carry hidden malware in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[129,63,649],"tags":[130],"class_list":["post-9117","post","type-post","status-publish","format-standard","hentry","category-cyber-security","category-cyber-security-news","category-threats","tag-cyber-security-news"],"_links":{"self":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/9117"}],"collection":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/comments?post=9117"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/9117\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=9117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=9117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=9117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}