Skip to main content
Mallory
MalwareRansomwareUsed by 3 actors

GlassWorm

GlassWorm is a self-propagating, credential-stealing malware family and software supply chain campaign targeting software developers since at least early 2025. It has been documented spreading through trojanized Visual Studio Code extensions on Open VSX and the Microsoft VS Code Marketplace, malicious npm and Python packages, compromised GitHub repositories, and counterfeit extensions impersonating legitimate tools such as WakaTime. The malware targets developer environments and VS Code-compatible editors including VS Code, Cursor, Windsurf, Positron, and VSCodium across Windows, macOS, and Linux.

Its objectives include theft of developer credentials and secrets, browser data, OpenVSX, GitHub and npm tokens, cloud and CI/CD access, and cryptocurrency wallet information. Reported capabilities include credential harvesting, system profiling, exfiltration of browser and wallet data, arbitrary code execution, and self-propagation using stolen credentials to publish additional malicious extensions or poison repositories and packages. Later variants deployed a JavaScript/WebSocket RAT referred to as GlassWormRAT, which was reported to steal browser data, execute arbitrary code, and install a malicious Chrome extension that captured keystrokes, clipboard contents, screenshots, and session data. Infected hosts were also reported to be repurposed as SOCKS proxies, hidden VNC servers, and remote execution nodes.

GlassWorm has used multiple infection and persistence mechanisms. Early reporting described invisible Unicode-based code injection in malicious packages and extensions. More recent activity used thin-loader or sleeper extensions that were later weaponized through updates, malicious dependencies, manifest abuse, external payload retrieval, or bundled native binaries. Aikido reported a Zig-compiled native dropper delivered via a fake OpenVSX extension that scanned for installed IDEs and silently installed a second-stage malicious extension across compatible editors. On macOS, GlassWorm has been reported to establish persistence via a LaunchAgent by writing a plist under /library/LaunchAgents, and artifacts associated with the campaign include /tmp/ijewf, ~/init.json, i.js, and /tmp/out.zip. The malware can also modify hardware wallet applications.

The campaign used unusually resilient command-and-control infrastructure. Reported C2 channels included Solana blockchain transaction memo fields, BitTorrent DHT, Google Calendar event titles, and conventional VPS-hosted servers. Specific infrastructure and indicators mentioned in reporting include Solana wallet BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC, funding wallet G2YxRa6wt1qePMwfJzdXZG62ej4qaTC7YURzuh2Lwd3t, C2 servers 45.32.151.157, 45.32.150.97, 217.69.11.57, 217.69.11.99, 217.69.0.159, 45.76.44.240, and 217.69.2.135:5000, exfiltration-related servers 208.85.20.124 and 208.76.223.59, payload mirrors 217.69.3.51 and 45.32.150.251, and post-takedown beaconing to CrowdStrike-controlled IP 164.92.88.210. Additional indicators mentioned include malicious or abused extensions and packages such as quartz.quartz-markdown-editor, oorzc.ssh-tools, oorzc.i18n-tools-plus, oorzc.mind-map, oorzc.scss-to-css-compile, specstudio/code-wakatime-activity-tracker, and floktokbok.autoimport.

Researchers first documented GlassWorm spreading across Open VSX in October 2025, and later reporting described campaigns affecting hundreds of repositories and extensions, including poisoning more than 300 GitHub repositories using stolen developer credentials. CrowdStrike, Google, and the Shadowserver Foundation later conducted a coordinated disruption of all known GlassWorm C2 channels. Multiple reports assess the operators as likely Russian-speaking or Russia-linked cybercriminals based on Russian-language comments or artifacts and malware logic that avoids execution on Russian or CIS systems.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

THREAT ACTORS

Groups observed using it

3 distinct threat actors attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
GlassWorm

A dangerous malware campaign known as Glassworm has been spreading through the tools that software developers trust most every day.

via cyber security newscybersecuritynews.com
GlassWorm threat actor

The GlassWorm malware campaign is being used to fuel an ongoing attack that leverages the stolen GitHub tokens to inject malware into hundreds of Python repositories.

via the hacker newsthehackernews.com
GlassWorm threat actor

The GlassWorm malware campaign is being used to fuel an ongoing attack that leverages the stolen GitHub tokens to inject malware into hundreds of Python repositories.

via the hacker newsthehackernews.com
MITRE ATT&CK

Techniques & procedures

29 distinct techniques documented for this family, organized by ATT&CK tactic.

Initial Access

4 techniques
T1078Valid AccountsEvidence2

GlassWorm's goal is to infect software developers with infostealers to obtain a target organization's secrets and credentials, which an attacker can then further weaponize to publish poisoned versions of projects maintained by that victim.

T1195Supply Chain CompromiseEvidence7

Attackers have already started combining self-propagation capabilities, which historically defines a 'worm,' with malicious tools to attack developers and software supply chains.

T1195.001Compromise Software Dependencies and Development ToolsEvidence2

This self-replicating worm initially targeted VS Code extensions on the OpenVSX marketplace before moving on to npm and Python packages, and later poisoned more than 300 GitHub repos using stolen credentials harvested in earlier Glassworm infections.

T1566.003Spearphishing via ServiceEvidence1

This is the core social engineering pattern behind the latest GlassWorm cluster: cloned listings create enough visual trust to attract installs before any malware is introduced.

Execution

5 techniques
T1059Command and Scripting InterpreterEvidence1
TacticExecution

The latest wave of malicious extensions, however, include a capability to automatically fetch and execute malicious payloads at a later date... the common pattern throughout GlassWorm's latest activity "is that the extension itself acts as a thin loader."

T1059.007JavaScriptEvidence1
TacticExecution

File i.js JavaScript payload file written to script directory during execution

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

The next month, researchers discovered the Glassworm attack, which utilizes VS Code extensions to compromise developer machines.

T1204.002Malicious FileEvidence2
TacticExecution

A developer installs what looks like a trusted extension or package, and the malware activates in the background.

T1574Hijack Execution FlowEvidence1

During the 2016 Ukraine Electric Power Attack, Sandworm Team used a trojanized version of Windows Notepad to add a layer of persistence for Industroyer.

Persistence

3 techniques
T1078Valid AccountsEvidence2

GlassWorm's goal is to infect software developers with infostealers to obtain a target organization's secrets and credentials, which an attacker can then further weaponize to publish poisoned versions of projects maintained by that victim.

T1543.001Launch AgentEvidence2

Bundlore can persist via a LaunchAgent. Calisto adds a .plist file to the /Library/LaunchAgents folder to maintain persistence. CoinTicker creates user launch agents named .espl.plist and com.apple.[random string].plist to establish persistence.

T1547.001Registry Run Keys / Startup FolderEvidence1

The content repeatedly describes malware and threat actors establishing persistence by adding values under HKCU/HKLM\Software\Microsoft\Windows\CurrentVersion\Run or RunOnce, and by placing executables, scripts, .lnk files, or batch files in the Windows Startup folder.

T1078Valid AccountsEvidence2

GlassWorm's goal is to infect software developers with infostealers to obtain a target organization's secrets and credentials, which an attacker can then further weaponize to publish poisoned versions of projects maintained by that victim.

T1543.001Launch AgentEvidence2

Bundlore can persist via a LaunchAgent. Calisto adds a .plist file to the /Library/LaunchAgents folder to maintain persistence. CoinTicker creates user launch agents named .espl.plist and com.apple.[random string].plist to establish persistence.

T1547.001Registry Run Keys / Startup FolderEvidence1

The content repeatedly describes malware and threat actors establishing persistence by adding values under HKCU/HKLM\Software\Microsoft\Windows\CurrentVersion\Run or RunOnce, and by placing executables, scripts, .lnk files, or batch files in the Windows Startup folder.

Stealth

7 techniques
T1027Obfuscated Files or InformationEvidence5
TacticStealth

The compromised packages shared several notable traits for stealthy payload delivery, including an unconventional Unicode-based obfuscation technique that remained invisible within IDEs.

T1027.003SteganographyEvidence1
TacticStealth

The campaign we analyzed, however, uses a different and under-observed class of characters (variation selectors) that remain largely invisible to common tooling.

T1036MasqueradingEvidence3
TacticStealth

The injection preserves the original commit author and date, making it look like nothing in the project history has changed.

T1078Valid AccountsEvidence2

GlassWorm's goal is to infect software developers with infostealers to obtain a target organization's secrets and credentials, which an attacker can then further weaponize to publish poisoned versions of projects maintained by that victim.

T1127Trusted Developer Utilities Proxy ExecutionEvidence1

The next month, researchers discovered the Glassworm attack, which utilizes VS Code extensions to compromise developer machines.

T1497.001System ChecksEvidence1

That script would check whether the system was set to a Russian locale and skip execution if so

T1574Hijack Execution FlowEvidence1

During the 2016 Ukraine Electric Power Attack, Sandworm Team used a trojanized version of Windows Notepad to add a layer of persistence for Industroyer.

Credential Access

4 techniques
T1528Steal Application Access TokenEvidence1

Once on a developer’s machine, Glassworm steals GitHub tokens from multiple sources, including VS Code storage, the git credentials file, and local environment variables.

T1539Steal Web Session CookieEvidence1

Server 208.85.20[.]124 -- documented in the original GlassWorm reporting as a credential theft endpoint -- is still live... browse stolen credentials... Browser credential dumper

T1555Credentials from Password StoresEvidence2

Glassworm ... is a self-propagating, credential-stealing worm ... later poisoned more than 300 GitHub repos using stolen credentials harvested in earlier Glassworm infections.

T1555.003Credentials from Web BrowsersEvidence1

A malicious Chrome extension is also installed to capture browser session data.

Discovery

2 techniques
T1082System Information DiscoveryEvidence1
TacticDiscovery

Glassworm steals GitHub tokens from multiple sources, including VS Code storage, the git credentials file, and local environment variables.

T1497.001System ChecksEvidence1

That script would check whether the system was set to a Russian locale and skip execution if so

Collection

2 techniques
T1005Data from Local SystemEvidence1

The content repeatedly describes threat actors and malware collecting, stealing, identifying, copying, or staging files, documents, credentials, logs, databases, and other information from compromised hosts or local systems.

T1074Data StagedEvidence1

The content repeatedly describes adversaries and malware storing collected data, command output, credentials, archives, or files in local temporary folders, working directories, hidden directories, registry locations, recycle bins, or specific files prior to exfiltration.

T1071Application Layer ProtocolEvidence1

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.

T1071.001Web ProtocolsEvidence2

The third deploys a persistent backdoor using WebSockets.

T1090ProxyEvidence1

Glassworm used invisible Unicode-based code injection, blockchain-based C2 infrastructure, and Google Calendar as a backup command server to turn infected developers’ machines into criminal proxy nodes.

T1102.001Dead Drop ResolverEvidence1

It also used Google Calendar event titles as dead-drop locations for Base64-encoded C2 paths.

T1105Ingress Tool TransferEvidence4

The endpoint security giant’s Counter Adversary Operations team and partners hit all four Glassworm command-and-control channels simultaneously ... severing the operators from their infected machines and their ability to deliver new malicious payloads.

T1568Dynamic ResolutionEvidence1

These included the Solana blockchain, with C2 server addresses encoded in the memo fields of blockchain transactions, ensuring the C2 couldn’t be taken offline through conventional means.

Exfiltration

1 technique
T1041Exfiltration Over C2 ChannelEvidence1

[STAGE 2: ENCRYPTED PAYLOAD] AES-CBC decrypt using header-delivered keys -> credential stealer / RAT

INDICATORS OF COMPROMISE

IOCs tracked for this family

71 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
42 tracked

IPs, domains, and DNS infrastructure linked to this family.

Hashes
17 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

Other
12 tracked

Other indicator types observed in public reporting.

TypeValueLatest sighting
ip.v4●●●●●●●●●●●●View more in app4 days ago
ip.v4●●●●●●●●●●●●View more in app9 days ago
ip.v4●●●●●●●●●●●●View more in app9 days ago
ip.v4●●●●●●●●●●●●View more in app9 days ago
ip.v4●●●●●●●●●●●●View more in app9 days ago
ip.v4●●●●●●●●●●●●View more in app9 days ago
ACTIVITY FEED

Recent activity

89 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

dark readingNews
Jun 5, 2026
Adaptive, Agentic AI Worms Loom as Next Enterprise Threat

A worm-like attack that uses VS Code extensions to compromise developer machines.

Read more
the hacker newsNews
Jun 1, 2026
Miasma Supply Chain Attack Compromises Red Hat npm Packages with Credential-Stealing Worm

Named malware associated here with supply chain campaigns and a Russian-language system avoidance check.

Read more
xakepNews
May 28, 2026
Специалисты отключили инфраструктуру ботнета Glassworm - Хакер

Многофункциональная малварь и ботнет, нацеленная на разработчиков. Распространялась через вредоносные расширения Visual Studio Code, npm- и Python-пакеты и компрометированные GitHub-репозитории. Похищает учетные данные разработчиков, данные криптокошельков и обеспечивает доступ к цепочкам поставок, используя отказоустойчивую многоуровневую C2-инфраструктуру через Solana, BitTorrent DHT, Google Calendar и VPS.

Read more
the hacker newsNews
May 27, 2026
GlassWorm Malware Takedown Disrupts Developer Supply Chain Attack Infrastructure

GlassWorm is a software supply chain malware campaign targeting developers via trojanized VS Code extensions and compromised npm and Python packages. It delivers a data-theft framework with credential harvesting, cryptocurrency wallet exfiltration, system profiling, and infrastructure abuse capabilities, and uses multiple resilient C2 channels including Solana, BitTorrent DHT, Google Calendar, and VPS-hosted servers.

Read more
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching71

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution3

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping29

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.