{"id":3840,"date":"2025-07-04T13:09:22","date_gmt":"2025-07-04T13:09:22","guid":{"rendered":"https:\/\/cybersecurityinfocus.com\/?p=3840"},"modified":"2025-07-04T13:09:22","modified_gmt":"2025-07-04T13:09:22","slug":"verified-but-vulnerable-malicious-extensions-exploit-ide-trust-badges","status":"publish","type":"post","link":"https:\/\/cybersecurityinfocus.com\/?p=3840","title":{"rendered":"Verified, but vulnerable: Malicious extensions exploit IDE trust badges"},"content":{"rendered":"<div>\n<div class=\"grid grid--cols-10@md grid--cols-8@lg article-column\">\n<div class=\"col-12 col-10@md col-6@lg col-start-3@lg\">\n<div class=\"article-column__content\">\n<div class=\"container\"><\/div>\n<p>Developers across popular integrated development environments (IDEs) like Visual Studio Code, Visual Studio, IntelliJ IDEA, and Cursor are at risk of running malicious extensions marked as \u201cverified.\u201d<\/p>\n<p>A new report from OX Security revealed that attackers can manipulate verification checks on these code editors so that malicious extensions appear trustworthy to unsuspecting users.<\/p>\n<p>\u201cOX\u2019s research, conducted in May and June 2025, reveals critical security vulnerabilities in how popular IDEs handle extension verification,\u201d OX researchers said in a blog post. \u201cWe discovered (for instance) that flawed verification checks in Visual Studio Code allow publishers to add functionality to extensions while maintaining the verified icon.\u201d<\/p>\n<p>The researchers demonstrated a proof-of-concept that used the same verification values as Microsoft\u2019s (which developed VSCode) official extensions. Once installed, the extension retained its \u2018verified\u2019 status while silently running OS-level commands, from something as trivial as launching a Calculator to dangerous tasks such as data exfiltration or opening backdoors.<\/p>\n<p>OX Security confirmed the exploit was active as late as June 2025 despite being brought to vendors\u2019 notice. Microsoft, the operator of VSCode and Visual Studio, reportedly responded to the disclosure saying the case is \u201cby design\u201d and does not need further attention.<\/p>\n<p>Microsoft, JetBrains (IntelliJ IDEA), and Cursor did not respond to CSOOnline\u2019s queries about the vulnerabilities.<\/p>\n<h2 class=\"wp-block-heading\"><a><\/a>Verified symbols can be faked<\/h2>\n<p>Once thought to be a reliable indicator of trust, the blue \u2018check\u2019 icon next to an extension\u2019s name can now be spoofed. Attackers can replicate verification tokens, essentially bypassing identity checks, and inject rogue code while preserving the verified badge.<\/p>\n<p>\u201cWe analyzed the traffic performed by VSCode and discovered a request to marketplace.visualstudio.com that allows the server to determine whether an extension is verified,\u201d researchers <a href=\"https:\/\/www.ox.security\/can-you-trust-that-verified-symbol-exploiting-ide-extensions-is-easier-than-it-should-be\/\">said<\/a>, adding that they found where the verification data is stored and figured out how to modify it.<\/p>\n<p>Using this, they built a malicious extension that copied the verification values of a trusted one, making it appear legitimate. Packaged as a VSIX file, the crafted extension ran commands like opening the calculator and could be shared on platforms like GitHub, where developers might unknowingly install it.<\/p>\n<p>Malicious VSCode extensions are already a reality as similar threats emerged in the VSCode marketplace recently, where false tools downloaded crypto miners or other malware by abusing their trusted status.<\/p>\n<h2 class=\"wp-block-heading\"><a><\/a>Sideloaded extensions are particularly vulnerable<\/h2>\n<p>After confirming the behavior on VSCode, OX extended their investigation to other platforms, including Visual Studio, IntelliJ IDEA, and Cursor.<\/p>\n<p>The researchers said that despite the differences in file structures and verification mechanisms across platforms, they were able to identify the requests used for verification and locate the relevant values within the extensions. They added that by modifying these values, they successfully created extensions that retained their verified status.<\/p>\n<p>According to OX Security, when it informed Microsoft about the verification flaw, Microsoft responded by saying, \u201cAfter careful investigation, this case has been assessed as by design and does not meet Microsoft\u2019s bar for immediate servicing. This is as designed. Furthermore, the changes will be prevented by extension signature verification, now enabled by default across all platforms. The attacker will be unable to publish this to the Marketplace, so only side-loading is possible.\u201d<\/p>\n<p>Microsoft further told OX Security that a dedicated team is working on additional actions to keep customers protected. However, OX Security found the flaw still exploitable on June 29, 2025. Other vendors echoed Microsoft\u2019s stance on the disclosure. JetBrains (IntelliJ IDEA) told OX Security that since the plugin in question doesn\u2019t originate from the JetBrains Marketplace, it is treated as a third-party, unverified extension, which the platform explicitly flags to users before installation. Cursor, meanwhile, told OX Security that it does not continuously verify extensions once they are installed.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Developers across popular integrated development environments (IDEs) like Visual Studio Code, Visual Studio, IntelliJ IDEA, and Cursor are at risk of running malicious extensions marked as \u201cverified.\u201d A new report from OX Security revealed that attackers can manipulate verification checks on these code editors so that malicious extensions appear trustworthy to unsuspecting users. \u201cOX\u2019s research, [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":3841,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-3840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education"],"_links":{"self":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/3840"}],"collection":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3840"}],"version-history":[{"count":0,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/posts\/3840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=\/wp\/v2\/media\/3841"}],"wp:attachment":[{"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybersecurityinfocus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}