{"id":29747,"date":"2025-11-18T16:59:29","date_gmt":"2025-11-18T16:59:29","guid":{"rendered":"https:\/\/www.kaspersky.co.uk\/blog\/chrome-extension-security-validation\/29747\/"},"modified":"2025-11-18T16:59:29","modified_gmt":"2025-11-18T16:59:29","slug":"chrome-extension-security-validation","status":"publish","type":"post","link":"https:\/\/www.kaspersky.co.uk\/blog\/chrome-extension-security-validation\/29747\/","title":{"rendered":"Browser extensions: never trust, always verify"},"content":{"rendered":"<p>Malicious browser extensions remain a significant blind spot for many organizations\u2019 cybersecurity teams. They\u2019ve become a permanent fixture in the cybercriminal arsenal, used for session and account theft, espionage, masking other criminal activity, ad fraud, and cryptocurrency theft. High-profile incidents involving malicious extensions are frequent \u2014 ranging from the <a href=\"https:\/\/www.kaspersky.com\/blog\/chrome-extension-malicious-updates-and-mitigations\/52871\/\" target=\"_blank\" rel=\"noopener nofollow\">compromise of the Cyberhaven security extension<\/a> to the <a href=\"https:\/\/www.kaspersky.com\/blog\/suspicious-chrome-extensions-with-6-million-installs\/53529\/\" target=\"_blank\" rel=\"noopener nofollow\">mass publication of infostealer extensions<\/a>.<\/p>\n<p>Extensions are appealing to attackers because they\u2019re granted permissions and wide-ranging access to information within SaaS applications and websites. Because they\u2019re not standalone applications, they often slip past standard security policies and control tools.<\/p>\n<p>A company\u2019s security team must tackle this problem systematically. Managing browser extensions requires a combination of policy management tools and specialized extension-analysis services or utilities. This topic was the focus of Athanasios Giatsos\u2019 talk at the <a href=\"https:\/\/thesascon.com\" target=\"_blank\" rel=\"noopener nofollow\">Security Analyst Summit 2025<\/a>.<\/p>\n<h2>Threat capabilities of web extensions and innovations in Manifest V3<\/h2>\n<p>A browser\u2019s web extension has broad access to web page information: it can read and modify any data available to the user through the web application, including financial or medical records. Extensions also often gain access to important data typically unseen by users: cookies, local storage, and proxy settings. This greatly simplifies session hijacking. Sometimes, the capabilities of extensions extend far beyond web pages: they can access the user\u2019s location, browser downloads, desktop screen capture, clipboard content, and browser notifications.<\/p>\n<p>In the previously dominant extension architecture, Manifest V2 extensions \u2014 which worked across Chrome, Edge, Opera, Vivaldi, Firefox, and Safari \u2014 are virtually indistinguishable from full-fledged applications in terms of capabilities. They can continuously run background scripts, keep invisible web pages open, load and execute scripts from external websites, and communicate with arbitrary sites to retrieve or send data. To curb potential abuse \u2014 as well as to limit <a href=\"https:\/\/www.kaspersky.com\/blog\/best-private-browser-in-2025\/53200\/\" target=\"_blank\" rel=\"noopener nofollow\">ad blockers<\/a> \u2014 Google transitioned Chromium and Chrome to Manifest V3. This update limited or blocked many extension features. Extensions must now declare all the sites they communicate with, are prohibited from executing dynamically loaded third-party code, and must use short-lived micro-services instead of persistent background scripts. While some types of attacks are now harder to execute due to the new architecture, attackers can easily rewrite their malicious code to retain most necessary functions while sacrificing stealth. Therefore, relying solely on browsers and extensions operating under Manifest V3 within an organization simplifies monitoring, but is not a panacea.<\/p>\n<p>Furthermore, V3 doesn\u2019t address the core problem with extensions: they\u2019re generally downloaded from official application stores using legitimate Google, Microsoft or Mozilla domains. Their activity appears to be initiated by the browser itself, making it extremely difficult to distinguish actions performed by an extension from those manually executed by the user.<\/p>\n<h2>How malicious extensions emerge<\/h2>\n<p>Drawing from various public incidents, Athanasios Giatsos highlights several scenarios where malicious extensions can rear their ugly heads:<\/p>\n<ul>\n<li>The original developer sells a legitimate and popular extension. The buyer then \u201cenhances\u201d it with malicious code for ad display, espionage, or other nefarious purposes. Examples include <a href=\"https:\/\/securityaffairs.com\/114272\/malware\/the-great-suspender-extension-malware.html\" target=\"_blank\" rel=\"noopener nofollow\">The Great Suspender<\/a> and <a href=\"https:\/\/krebsonsecurity.com\/2020\/03\/the-case-for-limiting-your-browser-extensions\/\" target=\"_blank\" rel=\"noopener nofollow\">Page Ruler<\/a>.<\/li>\n<li>Attackers compromise the developer\u2019s account and publish a trojanized update for an existing extension, as was the case with <a href=\"https:\/\/www.cyberhaven.com\/engineering-blog\/cyberhavens-preliminary-analysis-of-the-recent-malicious-chrome-extension\" target=\"_blank\" rel=\"noopener nofollow\">Cyberhaven<\/a>.<\/li>\n<li>The extension is designed to be malicious from the beginning. It either masquerades as a helpful utility, such as a fake <a href=\"https:\/\/www.kaspersky.com\/blog\/dangerous-browser-extensions-2023\/50059\/#:~:text=Rilide%20attacks%20users%20of%20Chromium%2Dbased%20browsers\" target=\"_blank\" rel=\"noopener nofollow\">Save to Google Drive<\/a> tool, or mimics the names and designs of popular extensions, like the dozens of AdBlock clones available.<\/li>\n<li>A more sophisticated version of this scheme involves initially publishing the extension in a clean state, where it performs a genuinely useful function. Malicious additions are then introduced weeks or even months later, once the extension has gained enough popularity. <a href=\"https:\/\/www.kaspersky.com\/blog\/dangerous-browser-extensions-2023\/50059\/#:~:text=Fake%20ChatGPT%20extensions%20hijacking%20Facebook%20accounts\" target=\"_blank\" rel=\"noopener nofollow\">ChatGPT for Google<\/a> is one example.<\/li>\n<\/ul>\n<p>In all these scenarios, the extension is widely available in the Chrome Web Store and sometimes even advertised. However, there\u2019s also a targeted attack scenario where phishing pages or messages prompt victims to install a malicious extension that\u2019s <a href=\"https:\/\/www.kaspersky.com\/blog\/dangerous-browser-extensions-2023\/50059\/#:~:text=ChromeLoader%3A%20pirated%20content%20containing%20malicious%20extensions\" target=\"_blank\" rel=\"noopener nofollow\">not available to the general public<\/a>.<\/p>\n<p>Centralized distribution through the Chrome Web Store, combined with automated updates for both the browser and extensions, often results in users unknowingly ending up with a malicious extension without any effort on their part. If an extension already installed on a computer receives a malicious update, it will be installed automatically.<\/p>\n<h2>Organizational defenses against malicious extensions<\/h2>\n<p>In his talk, Athanasios offered a number of general recommendations:<\/p>\n<ul>\n<li>Adopt a company policy regarding the use of browser extensions.<\/li>\n<li>Prohibit any extensions not explicitly included in a list approved by the cybersecurity and IT departments.<\/li>\n<li>Continuously audit all installed extensions and their versions.<\/li>\n<li>When extensions are updated, track changes in permissions they\u2019re granted, and monitor any changes in the ownership of the extensions or their developer team.<\/li>\n<li>Incorporate information about the risks of, and rules for, using browser extensions into security awareness training programs for all employees.<\/li>\n<\/ul>\n<p>We add a few practical insights and specific considerations to these recommendations.<\/p>\n<p><strong>Restricted list of extensions and browsers.<\/strong> In addition to applying security policies to the company\u2019s officially approved browser, it\u2019s crucial to prohibit the installation of portable versions and <a href=\"https:\/\/www.kaspersky.com\/blog\/ai-browser-security-privacy-risks\/54303\/\" target=\"_blank\" rel=\"noopener nofollow\">trendy AI browsers like Comet<\/a> or other unauthorized solutions that allow the same dangerous extensions to be installed. When implementing this step, ensure that local administrator privileges are restricted to the IT staff and other personnel whose job duties strictly require them.<\/p>\n<p>As part of the policy for the company\u2019s main browser, you should disable developer mode and prohibit the installation of extensions from local files. For Chrome, you can manage this via the <a href=\"https:\/\/support.google.com\/chrome\/a\/answer\/6177431?hl=en\" target=\"_blank\" rel=\"noopener nofollow\">Admin console<\/a>. These settings are also available through Windows Group Policies, macOS configuration profiles, or via a <a href=\"https:\/\/support.google.com\/chrome\/a\/answer\/7517525?hl=en\" target=\"_blank\" rel=\"noopener nofollow\">JSON policy file<\/a> on Linux.<\/p>\n<p><strong>Managed updates.<\/strong> Implement <a href=\"https:\/\/support.google.com\/chrome\/a\/answer\/11190170?hl=en\" target=\"_blank\" rel=\"noopener nofollow\">version pinning<\/a> to prevent updates for allowed extensions from being installed company-wide immediately. The IT and cybersecurity teams need to regularly test new versions of approved extensions and pin the updated versions only after they\u2019ve been vetted.<\/p>\n<p><strong>Multi-layered defense.<\/strong> It\u2019s mandatory to install an <a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/endpoint-detection-response-edr?icid=gb_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">EDR agent<\/a> on all corporate devices to prevent users from launching unauthorized browsers, mitigate the risks of visiting malicious phishing sites, and block malware downloads. It\u2019s also necessary to track DNS requests and browser network traffic at the firewall level for real-time detection of communications with suspicious hosts and other anomalies.<\/p>\n<p><strong>Continuous monitoring.<\/strong> Use EDR and <a href=\"https:\/\/www.kaspersky.co.uk\/enterprise-security\/unified-monitoring-and-analysis-platform?icid=gb_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder_______\" target=\"_blank\" rel=\"noopener\">SIEM <\/a> solutions to collect browser state details from employee workstations. This includes the list of extensions in each installed browser, along with the manifest files for version and permission analysis. This allows for the rapid detection of new extensions being installed or the version being updated and granted permission changes.<\/p>\n<h2>How to vet browser extensions<\/h2>\n<p>To implement the controls discussed above, the company needs an internal database of approved and prohibited extensions. Unfortunately, application stores and the browsers themselves offer no mechanisms to assess risk on an organizational scale, or to automatically populate such a list. Therefore, the cybersecurity team has to create both this process and the list. Employees will also need a formal procedure for submitting requests to add extensions to the approved list.<\/p>\n<p>The assessment of business need and available alternatives is best conducted with a representative from the relevant business unit. However, the risk assessment remains entirely the responsibility of the security team. It\u2019s not necessary to manually download extensions and cross-reference them across different extension stores. This task can be handled by a range of tools, such as open-source utilities, free online services, and commercial platforms.<\/p>\n<p>Services like <a href=\"https:\/\/spin.ai\/application-risk-assessment\/\" target=\"_blank\" rel=\"noopener nofollow\">Spin.AI<\/a> and <a href=\"https:\/\/dex.koi.security\/\" target=\"_blank\" rel=\"noopener nofollow\">Koidex<\/a> (formerly ExtensionTotal) can be used to gauge the overall risk profile. Both maintain a database of popular extensions, so assessment is typically instant. They use LLMs to generate a brief summary of the extension\u2019s properties, but also provide detailed analysis, including required permissions, the developer\u2019s profile, and the history of versions, ratings, and downloads.<\/p>\n<p>To examine core data on extensions, you can also use <a href=\"https:\/\/chrome-stats.com\/\" target=\"_blank\" rel=\"noopener nofollow\">Chrome-Stats<\/a>. While primarily designed for extension developers, this service displays ratings, reviews, and other store data. Crucially, it allows users to directly download the current and several previous versions of an extension, which simplifies incident investigation.<\/p>\n<p>You can employ tools like <a href=\"https:\/\/github.com\/Rob--W\/crxviewer\" target=\"_blank\" rel=\"noopener nofollow\">CRX Viewer<\/a> for a deeper analysis of suspicious or mission-critical extensions. This tool allows analysts to examine the extension\u2019s internal components, conveniently filtering and displaying the contents with an emphasis on the HTML and JavaScript code.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\"><input type=\"hidden\" class=\"placeholder_for_banner\" data-cat_id=\"mdr\" value=\"27611\">\n","protected":false},"excerpt":{"rendered":"<p>Systematic measures and tools that organizations can use to defend against malicious browser extensions.<\/p>\n","protected":false},"author":2722,"featured_media":29748,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1836,2360,2361],"tags":[2106,1766,16,2107,21,80,187,514,337,321,3899,529],"class_list":{"0":"post-29747","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-browsers","11":"tag-business","12":"tag-chrome","13":"tag-extensions","14":"tag-firefox","15":"tag-fraud","16":"tag-passwords","17":"tag-safari","18":"tag-sas","19":"tag-technology","20":"tag-thesas2025","21":"tag-threats"},"hreflang":[{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/chrome-extension-security-validation\/29747\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/chrome-extension-security-validation\/29851\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/chrome-extension-security-validation\/24921\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/chrome-extension-security-validation\/28795\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/chrome-extension-security-validation\/31684\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/chrome-extension-security-validation\/30323\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/chrome-extension-security-validation\/40914\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/chrome-extension-security-validation\/14048\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/chrome-extension-security-validation\/54795\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/chrome-extension-security-validation\/23425\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/chrome-extension-security-validation\/32947\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/chrome-extension-security-validation\/35680\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/chrome-extension-security-validation\/35308\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.co.uk\/blog\/tag\/browsers\/","name":"browsers"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts\/29747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/users\/2722"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=29747"}],"version-history":[{"count":0,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/posts\/29747\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/media\/29748"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=29747"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=29747"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=29747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}