{"id":13178,"date":"2026-05-27T10:03:50","date_gmt":"2026-05-27T10:03:50","guid":{"rendered":"https:\/\/serisec.com\/index.php\/2026\/05\/27\/developer-targeting-glassworm-malware-abuses-npm-pypi-openvsx-and-github\/"},"modified":"2026-05-27T10:03:50","modified_gmt":"2026-05-27T10:03:50","slug":"developer-targeting-glassworm-malware-abuses-npm-pypi-openvsx-and-github","status":"publish","type":"post","link":"https:\/\/serisec.com\/index.php\/2026\/05\/27\/developer-targeting-glassworm-malware-abuses-npm-pypi-openvsx-and-github\/","title":{"rendered":"Developer-Targeting Glassworm Malware Abuses npm, PyPI, OpenVSX, and GitHub"},"content":{"rendered":"<p>    Developer-Targeting Glassworm Malware Abuses npm, PyPI, OpenVSX, and GitHub<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 class=\"wp-block-paragraph\">A dangerous malware campaign known as Glassworm has been spreading through the tools that software developers trust most every day. <\/p>\n<p class=\"wp-block-paragraph\">By abusing popular platforms like npm, PyPI, OpenVSX, and GitHub, the attackers have turned routine development workflows into entry points for data theft, credential harvesting, and persistent system access.<\/p>\n<p class=\"wp-block-paragraph\">The campaign first surfaced in October 2025, when malicious Visual Studio Code and OpenVSX extensions appeared on developer marketplaces. <\/p>\n<p class=\"wp-block-paragraph\">In the first wave alone, roughly 35,800 developers were reportedly infected. Since then, Glassworm has grown steadily, expanding into Python repositories on GitHub, npm packages in the React Native ecosystem, and AI-related development tooling.<\/p>\n<p class=\"wp-block-paragraph\">Analysts at CrowdStrike and other security firms have flagged the growing scale and sophistication of this campaign. <a href=\"https:\/\/cybersecuritynews.com\/operation-dupehike-attacking-employees\/\" id=\"135052\" target=\"_blank\" rel=\"noreferrer noopener\">The malware operates in multiple stages<\/a>, moving from a loader to credential theft and then to a persistent backdoor that lets the attacker maintain access long after the initial infection.<a href=\"https:\/\/socprime.com\/active-threats\/glassworm-hides-a-rat-inside-a-malicious-chrome-extension\/\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<p class=\"wp-block-paragraph\">What makes Glassworm especially alarming is who it targets. Developers often keep cloud credentials, SSH keys, API tokens, and cryptocurrency wallets stored locally on their machines. <\/p>\n<p class=\"wp-block-paragraph\">A single compromised workstation can expose an entire organization\u2019s infrastructure and trigger downstream attacks across dozens of connected repositories.<\/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\/AVvXsEiRnfDt2rqGlKNi-nUOZDPUAwiowm4mJh5uglTlvcnMX40cbPEGNAAWrxWwl9c5arFAFViS3Mr0RsGv31aDiMiieDyU7I3DvbfomvMb255TA2Jev9tSB7Fk2QOYX7IHY2SliDY6lFJi7kKYSkvbhVFVrBz8guOfsbmS3rIqMBoA7odX6XoRHdQU6jfTjiI\/s16000\/Infection%2520cycle%2520%28Source%2520-%2520CrowdStrike%29.webp?ssl=1\" alt=\"Infection cycle (Source - CrowdStrike)\"><figcaption class=\"wp-element-caption\">Infection cycle (Source \u2013 CrowdStrike)<\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">The attack chain begins quietly. A developer installs what looks like a trusted extension or package, and the malware activates in the background. It harvests secrets and passes stolen credentials to attacker-controlled servers, often before anyone realizes something is wrong.<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a><\/p>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.crowdstrike.com\/en-us\/blog\/inside-crowdstrike-takedown-of-a-developer-targeting-botnet\/\" id=\"https:\/\/www.crowdstrike.com\/en-us\/blog\/inside-crowdstrike-takedown-of-a-developer-targeting-botnet\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">According to CrowdStrike\u2019s report<\/a> shared with\u00a0Cyber Security News (CSN), Sonatype Security Research identified two hijacked React Native npm packages that together received over 30,000 downloads per week, both modified to deliver multi-stage malware tied to this same campaign.<a href=\"https:\/\/www.sonatype.com\/blog\/hijacked-npm-packages-deliver-malware-via-solana-linked-to-glassworm\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<h2 id=\"h-developer-targeting-glassworm-malware\" class=\"wp-block-heading\"><strong>Developer-Targeting Glassworm Malware<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Glassworm delivers its payload through several channels. Malicious VS Code and Cursor extensions serve as the primary entry point, with some legitimate publisher accounts being compromised to push malicious updates. <\/p>\n<p class=\"wp-block-paragraph\">This approach let attackers reach thousands of users without raising immediate suspicion from the platforms.<\/p>\n<p class=\"wp-block-paragraph\">Once on a developer\u2019s machine, <a href=\"https:\/\/cybersecuritynews.com\/glassworm-hits-popular-react-native-packages\/\" id=\"145156\" target=\"_blank\" rel=\"noreferrer noopener\">Glassworm steals GitHub tokens from multiple sources<\/a>, including VS Code storage, the git credentials file, and local environment variables. <\/p>\n<p class=\"wp-block-paragraph\">The attacker then uses those tokens to force-push malware into every repository linked to the victim\u2019s account. <\/p>\n<p class=\"wp-block-paragraph\">The injection preserves the original commit author and date, making it look like nothing in the project history has changed.<a href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<p class=\"wp-block-paragraph\">At the same time, two widely used npm packages in the React Native ecosystem, which together saw over 30,000 weekly downloads, were found hijacked and modified to run a malicious install script. <\/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\/AVvXsEhyrU9qdjpOqvRCMFDD3zQWt7sWUNrQyrhohSjycp2knvY2ppg4fKMFKyhJcA5dD1EZHIX-THXX3lt6yNtiPHq4H38c-xK02e_RrxKGG3OV1WzPHdnzJo5mdh2nPd9tPb3nfszuqOHZX1P40yUT58ZbMH6i_avB2lyt24Ak0ggZZagutzy3fFJDBkFKQ2Y\/s16000\/C2%2520Infrastructure%2520and%2520disruption%2520%28Source%2520-%2520CrowdStrike%29.webp?ssl=1\" alt=\"C2 Infrastructure and disruption (Source - CrowdStrike)\"><figcaption class=\"wp-element-caption\">C2 Infrastructure and disruption (Source \u2013 CrowdStrike)<\/figcaption><\/figure>\n<\/div>\n<p class=\"wp-block-paragraph\">That script would check whether the system was set to a Russian locale and skip execution if so, a tactic commonly used to avoid attracting attention from law enforcement in certain regions.<a href=\"https:\/\/www.sonatype.com\/blog\/hijacked-npm-packages-deliver-malware-via-solana-linked-to-glassworm\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<p class=\"wp-block-paragraph\">The malware uses the Solana blockchain as its command-and-control channel. Instead of connecting to a server that could be taken offline, it reads instructions from transaction memos attached to a specific Solana wallet. <\/p>\n<p class=\"wp-block-paragraph\">The attacker can update payload locations at any time by posting a new transaction, and those instructions cannot be deleted or censored once recorded on-chain.<a href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<h2 id=\"h-stealth-techniques-and-what-gets-stolen\" class=\"wp-block-heading\"><strong>Stealth Techniques and What Gets Stolen<\/strong><\/h2>\n<p class=\"wp-block-paragraph\">Glassworm goes to real lengths to stay hidden. One method involves invisible Unicode characters embedded in source code. <\/p>\n<p class=\"wp-block-paragraph\">These characters render as blank whitespace in editors and GitHub\u2019s code review interface, making the hidden payload effectively invisible to anyone reading the code normally.<a href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\" target=\"_blank\" rel=\"noreferrer noopener\"><\/a><\/p>\n<p class=\"wp-block-paragraph\">The multi-stage payload further complicates detection. The first stage is a loader, the second steals credentials and cryptocurrency wallet data, and the third deploys a persistent backdoor using WebSockets. <\/p>\n<p class=\"wp-block-paragraph\">A malicious Chrome extension is also installed to capture browser session data. The final payload is encrypted with AES and the decryption key is only sent via server response headers, making static analysis close to impossible.<\/p>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/cybersecuritynews.com\/security-teams-shrink-as-automation-rises\/\" id=\"100650\" target=\"_blank\" rel=\"noreferrer noopener\">Security teams should audit all installed VS Code extensions<\/a> and remove anything unrecognized. Developers are advised to rotate GitHub tokens and cloud credentials on any system that may have been exposed. Enabling multi-factor authentication across all developer platforms is essential. <\/p>\n<p class=\"wp-block-paragraph\">Organizations should also watch for outbound connections to Solana RPC endpoints or unknown IP addresses, as this kind of traffic has no place in a normal development pipeline.<\/p>\n<p class=\"wp-block-paragraph\" id=\"h-indicators-of-compromise-iocs\"><strong>Indicators of Compromise (IoCs):-<\/strong><\/p>\n<figure class=\"wp-block-table\">\n<table class=\"has-fixed-layout\">\n<thead>\n<tr>\n<th class=\"has-text-align-left\" data-align=\"left\">Type<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Indicator<\/th>\n<th class=\"has-text-align-left\" data-align=\"left\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Solana Wallet (C2)<\/td>\n<td><code>BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC<\/code><\/td>\n<td>Primary Solana blockchain C2 address used to receive payload instructions via transaction memos\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Solana Wallet (Funding)<\/td>\n<td><code>G2YxRa6wt1qePMwfJzdXZG62ej4qaTC7YURzuh2Lwd3t<\/code><\/td>\n<td>Funding wallet that seeded the C2 address; holds approximately 495 SOL\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>45.32.151.157<\/code><\/td>\n<td>C2 payload server, active December 2025 (Vultr hosting range)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>45.32.150.97<\/code><\/td>\n<td>C2 payload server, active February 2026 (Vultr hosting range)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>217.69.11.57<\/code><\/td>\n<td>C2 payload server, active February 2026 (Russian hosting range)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>217.69.11.99<\/code><\/td>\n<td>C2 payload server, active February\u2013March 2026; C2 server on port 5000, DHT on port 10000\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>217.69.0.159<\/code><\/td>\n<td>C2 payload server, active March 2026 (confirmed by live monitoring)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>IP Address<\/td>\n<td><code>45.76.44.240<\/code><\/td>\n<td>C2 payload server, active March 2026 (Vultr hosting range)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>File<\/td>\n<td><code>~\/init.json<\/code><\/td>\n<td>Persistence file created by malware to prevent repeated execution within two days\u00a0<\/td>\n<\/tr>\n<tr>\n<td>File<\/td>\n<td><code>i.js<\/code><\/td>\n<td>JavaScript payload file written to script directory during execution\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>File<\/td>\n<td><code>\/tmp\/ijewf<\/code><\/td>\n<td>Temporary file artifact dropped during infection\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>File<\/td>\n<td><code>\/tmp\/out.zip<\/code><\/td>\n<td>Temporary archive artifact dropped during infection\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Code Marker<\/td>\n<td><code>lzcdrtfxyqiplpd<\/code><\/td>\n<td>Base64 payload variable name used as a fingerprint across all compromised Python repos\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>XOR Key<\/td>\n<td><code>134<\/code><\/td>\n<td>XOR decryption key used in the three-layer obfuscation scheme\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.stepsecurity.io\/blog\/forcememo-hundreds-of-github-python-repos-compromised-via-account-takeover-and-force-push\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Package<\/td>\n<td>\n<code>react-native-country-select<\/code>\u00a0v0.3.91<\/td>\n<td>Hijacked React Native npm package delivering multi-stage malware (~20,000 weekly downloads)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.sonatype.com\/blog\/hijacked-npm-packages-deliver-malware-via-solana-linked-to-glassworm\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Package<\/td>\n<td>\n<code>react-native-international-phone-number<\/code>\u00a0v0.11.8<\/td>\n<td>Hijacked React Native npm package delivering multi-stage malware (~10,000 weekly downloads)\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/www.sonatype.com\/blog\/hijacked-npm-packages-deliver-malware-via-solana-linked-to-glassworm\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Extension<\/td>\n<td><code>quartz.quartz-markdown-editor<\/code><\/td>\n<td>Abused OpenVSX extension identified in the Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Extension<\/td>\n<td><code>oorzc.ssh-tools<\/code><\/td>\n<td>Abused OpenVSX extension identified in the Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Extension<\/td>\n<td><code>oorzc.i18n-tools-plus<\/code><\/td>\n<td>Abused OpenVSX extension identified in the Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Extension<\/td>\n<td><code>oorzc.mind-map<\/code><\/td>\n<td>Abused OpenVSX extension identified in the Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Extension<\/td>\n<td><code>oorzc.scss-to-css-compile<\/code><\/td>\n<td>Abused OpenVSX extension identified in the Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Package<\/td>\n<td><code>@iflow-mcp\/watercrawl-watercrawl-mcp<\/code><\/td>\n<td>Malicious npm MCP-style package linked to Glassworm campaign\u00a0<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/cybersecsentinel.com\/glassworm-exploits-trust-in-open-source-ecosystems\/\"><\/a>\n<\/td>\n<\/tr>\n<tr>\n<td>Malicious Package<\/td>\n<td><code>@aifabrix\/miso-client<\/code><\/td>\n<td>Malicious npm MCP-style package linked to Glassworm campaign\u00a0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong>\u00a0<em>IP addresses and domains are intentionally defanged (e.g.,\u00a0<\/em><code><em>[.]<\/em><\/code><em>) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM<\/em>.<\/p>\n<p class=\"has-text-align-center has-background wp-block-paragraph\" style=\"background:linear-gradient(180deg,rgb(238,238,238) 90%,rgb(169,184,195) 100%)\"><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><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\">Google News<\/a>,\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/cybersecurity-news\/\" target=\"_blank\" rel=\"noreferrer noopener\">LinkedIn<\/a>,\u00a0and\u00a0<a href=\"https:\/\/x.com\/cyber_press_org\" target=\"_blank\" rel=\"noreferrer noopener\">X<\/a>\u00a0to Get More Instant Updates<\/strong>,\u00a0<strong>Set CSN as a Preferred Source in<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong> <strong><strong><a href=\"https:\/\/www.google.com\/preferences\/source?q=cybersecuritynews.com\" target=\"_blank\" rel=\"noreferrer noopener\">Google<\/a><\/strong><\/strong>.<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/p>\n<p>The post <a href=\"https:\/\/cybersecuritynews.com\/developer-targeting-glassworm-malware-abuses-npm\/\">Developer-Targeting Glassworm Malware Abuses npm, PyPI, OpenVSX, and GitHub<\/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\/developer-targeting-glassworm-malware-abuses-npm\/\">Go to cyber-security-news<\/a><br \/>\n \t<BR><br \/>\n <BR><\/BR><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developer-Targeting Glassworm Malware Abuses npm, PyPI, OpenVSX, and GitHub A dangerous malware campaign known as Glassworm has been spreading through the tools that software developers trust most every day. By abusing popular platforms like npm, PyPI, OpenVSX, and GitHub, the attackers have turned routine development workflows into entry points for data theft, credential harvesting, and [&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-13178","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\/13178"}],"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=13178"}],"version-history":[{"count":0,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/posts\/13178\/revisions"}],"wp:attachment":[{"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/media?parent=13178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/categories?post=13178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serisec.com\/index.php\/wp-json\/wp\/v2\/tags?post=13178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}