{"id":7596,"date":"2025-10-11T10:03:56","date_gmt":"2025-10-11T10:03:56","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2025\/10\/11\/175-malicious-npm-packages-with-26000-downloads-attacking-technology-and-energy-companies-worldwide\/"},"modified":"2025-10-11T10:03:56","modified_gmt":"2025-10-11T10:03:56","slug":"175-malicious-npm-packages-with-26000-downloads-attacking-technology-and-energy-companies-worldwide","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2025\/10\/11\/175-malicious-npm-packages-with-26000-downloads-attacking-technology-and-energy-companies-worldwide\/","title":{"rendered":"175 Malicious npm Packages With 26,000 Downloads Attacking Technology, and Energy Companies Worldwide"},"content":{"rendered":"<p>    175 Malicious npm Packages With 26,000 Downloads Attacking Technology, and Energy Companies Worldwide<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>Socket\u2019s Threat Research Team has uncovered a sophisticated phishing campaign involving 175 malicious npm packages that collectively accumulated over 26,000 downloads.<\/p>\n<p>The campaign, dubbed \u201cBeamglea\u201d based on consistent artifacts across all packages, represents a novel abuse of npm\u2019s public registry and the unpkg.com CDN to host redirect scripts targeting 135+ industrial, technology, and energy companies worldwide.<\/p>\n<p>The packages themselves don\u2019t execute malicious code during installation, making them particularly insidious as they exploit the npm ecosystem as free hosting infrastructure for credential harvesting operations.<\/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\/AVvXsEiW8Q98FyxaVxeqN6cSTVm9ap_PsUL0XTu8r0yd-6Iv0KJ-4fueadEWjHz9GPD-bBthZcwThjXz7R31lb7AmTwvGW6lJVWrIegMKSKWdlawVi5L0QS9lV4jE6KyG4tLj43eY2L9PVpWLIOhPiJehZVT3zhEg6IgcW3DFPLatPt3YZMwb8t58QdsVhbj-Pw\/s16000\/Credential%2520phishing%2520pages%2520%28Source%2520-%2520Socket.dev%29.webp?ssl=1\" alt=\"\"><figcaption class=\"wp-element-caption\">Credential phishing pages (Source \u2013 Socket.dev)<\/figcaption><\/figure>\n<\/div>\n<p>While the packages\u2019 randomized names following the pattern redirect-[a-z0-9]{6} make accidental developer installation unlikely, the substantial download counts likely include security researchers, automated scanners, and CDN infrastructure analyzing the packages after disclosure.<\/p>\n<p>The threat actors developed comprehensive Python tooling to automate the entire campaign, enabling them to create victim-specific HTML phishing lures themed as purchase orders and project documents.<\/p>\n<p>The origin and meaning of \u201cbeamglea\u201d remains unclear, though it may represent a codename or inside reference used by the attackers.<\/p>\n<p>Socket.dev analysts <a href=\"https:\/\/socket.dev\/blog\/175-malicious-npm-packages-host-phishing-infrastructure\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">identified<\/a> the campaign as part of their routine scanning operations, building on initial findings by Paul McCarty at Safety who first discovered the phishing infrastructure on September 24, 2025.<\/p>\n<p>The researchers noted that most packages associated with this campaign remain live at the time of writing, prompting immediate petitions for their removal from the npm registry alongside suspension of the threat actors\u2019 accounts.<\/p>\n<p>The campaign demonstrates remarkable sophistication in its technical implementation, representing a concerning evolution in supply chain abuse techniques.<\/p>\n<p>Prior to this disclosure, the term \u201cbeamglea\u201d had virtually no online presence, making it an effective tracking identifier for this specific operation targeting organizations across multiple critical infrastructure sectors.<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-automated-package-generation-infrastructure\"><strong>Automated Package Generation Infrastructure<\/strong><\/h2>\n<p>The threat actors developed sophisticated Python automation to streamline their operations, utilizing redirect_generator.py scripts and PyInstaller-compiled executables for ease of deployment.<\/p>\n<p>The automation process demonstrates professional-level operational security planning and systematic victim targeting capabilities.<\/p>\n<p>The core automation takes three inputs: a <a href=\"https:\/\/cybersecuritynews.com\/hackers-attacking-mobile-users-leveraging-pwa-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a> template file named beamglea_template.js, the victim\u2019s email address, and the destination phishing URL.<\/p>\n<p>The system then processes these components through a five-step workflow that begins with npm <a href=\"https:\/\/cybersecuritynews.com\/jumpserver-vulnerabilities-let-attacker-bypass-authentication\/\" target=\"_blank\" rel=\"noreferrer noopener\">authentication<\/a> verification and proceeds through template processing, package creation, publication, and HTML lure generation.<\/p>\n<p>The random package name generation function creates unique identifiers using a six-character suffix of lowercase letters and numbers, ensuring each <a href=\"https:\/\/cybersecuritynews.com\/new-russian-disinformation-campaign\/\" target=\"_blank\" rel=\"noreferrer noopener\">campaign<\/a> remains distinct while following the recognizable redirect- prefix pattern.<\/p>\n<p>The JavaScript payload embedded in each package remains remarkably simple yet effective. Each beamglea.js file contains a processAndRedirect() function that appends the victim\u2019s email as a URL fragment, leveraging the fact that fragments appear after the # symbol and don\u2019t appear in standard server access logs.<\/p>\n<p>This technique creates an appearance of legitimacy when phishing pages pre-fill login forms with the victim\u2019s email address.<\/p>\n<pre class=\"wp-block-code\"><code>def generate_random_package_name(prefix=\"redirect-\"):\n    # Generates random 6-character suffix\n    suffix = ''.join(random.choices(string.ascii_lowercase + string. Digits, k=6))\n    return prefix + suffix\n\n# Template processing replaces placeholders with victim-specific data\ntemplate_js = load_template('beamglea_template.js')\nfinal_js = template_js.replace(\"{{EMAIL}}\", email).replace(\"{{URL}}\", redirect_url)\nwith open(\"beamglea.js\", \"w\", encoding=\"utf-8\") as f:\n    f.write(final_js)<\/code><\/pre>\n<p>The automation generates <a href=\"https:\/\/cybersecuritynews.com\/hackers-lures-drone-manual\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML lures<\/a> with specific business document themes designed to bypass suspicion, utilizing filenames that mimic legitimate purchase orders, technical specifications, and project documents.<\/p>\n<p>All HTML files contain the campaign identifier nb830r6x in their meta tags, providing consistent tracking across the 630+ generated lures distributed across the 175 packages.<\/p>\n<p class=\"has-text-align-center has-background\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 90%,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\/175-malicious-npm-packages-with-26000-downloads\/\">175 Malicious npm Packages With 26,000 Downloads Attacking Technology, and Energy Companies Worldwide<\/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\/175-malicious-npm-packages-with-26000-downloads\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>175 Malicious npm Packages With 26,000 Downloads Attacking Technology, and Energy Companies Worldwide Socket\u2019s Threat Research Team has uncovered a sophisticated phishing campaign involving 175 malicious npm packages that collectively accumulated over 26,000 downloads. The campaign, dubbed \u201cBeamglea\u201d based on consistent artifacts across all packages, represents a novel abuse of npm\u2019s public registry and the [&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-7596","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\/7596"}],"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=7596"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/7596\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=7596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=7596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=7596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}