Cybersecurity researchers have identified a significant evolution in the GlassWorm campaign, a persistent threat targeting software developers. The campaign's operators have deployed a new dropper, notable for being written in the emerging Zig programming language, likely to evade signature-based detection. The malware was found distributed via a malicious Open VSX extension named specstudio.code-wakatime-activity-tracker, which impersonates a legitimate productivity tool. The dropper's primary, and highly concerning, function is to enumerate and infect all Integrated Development Environments (IDEs) on a developer's workstation. This provides the attackers with a powerful and persistent foothold directly within the code creation process, representing a severe threat to the software supply chain.
What Happened: The GlassWorm campaign is using a trojanized Visual Studio Code extension available on the Open VSX marketplace to trick developers into installing malware.
Attack Vector:
specstudio.code-wakatime-activity-tracker that mimics the popular WakaTime tool.Threat Actor: The activity is attributed to the operators of the GlassWorm campaign, a group known for targeting developers.
Impact: By compromising the IDE itself, the attackers can:
T1195.002 - Compromise Software Supply Chain).The use of the Zig programming language is a notable feature of this campaign. As a newer, less common language, it may be used to bypass security tools that have poor support for analyzing Zig binaries. It also indicates a technically proficient adversary keeping up with modern development trends.
T1195.001 - Compromise Software Dependencies and Directories): The attack begins with the developer installing the malicious Open VSX extension, a form of software dependency compromise.T1140 - Deobfuscate/Decode Files or Information): The dropper is likely packed or obfuscated within the extension's code.T1082 - System Information Discovery): The dropper must scan the file system and registry to find the installation paths of all other IDEs on the system.T1137 - Office Application Startup): While the technique name is specific to Office, the concept is identical. By infecting the IDEs' configuration files or plugins, the malware ensures it is executed every time the developer starts their work environment. This is a form of 'IDE Application Startup' persistence.The choice to target all IDEs on a machine is a sign of a thorough and determined attacker. They are not just compromising one tool, but the developer's entire toolchain to ensure persistence even if one IDE is cleaned or uninstalled.
The impact of compromising a developer's primary workspace is catastrophic for software supply chain security. A single compromised developer at a major software vendor, open-source project, or corporation can become a patient zero, unknowingly shipping malicious code to thousands or millions of downstream users. The business impact includes direct financial loss from theft of intellectual property, costs of responding to the incident, reputational damage, and potential liability for distributing compromised software. This attack vector is highly efficient for espionage and sabotage, making it a favored technique for advanced threat actors.
Detection:
D3-SFA: System File Analysis)D3-PA: Process Analysis)Response:
M1033 - Limit Software Installation)M1017 - User Training)Enforce policies to restrict developers from installing unvetted or unauthorized IDE extensions.
Train developers on the risks of malicious extensions and how to identify them.
Use an EDR to detect and block anomalous behaviors, such as one application modifying another application's files.
To detect the GlassWorm dropper's activity, organizations should leverage an Endpoint Detection and Response (EDR) tool capable of detailed process analysis. A specific detection rule should be created to monitor for cross-application modification behavior. For example, create a high-severity alert if a process originating from Code.exe (Visual Studio Code) attempts to write to or modify files in the configuration directories of other IDEs, such as ~/.config/JetBrains/ or ~/.eclipse/. This behavior is highly irregular and a strong signal of the attack pattern described. This rule should be implemented for all developer endpoints to provide an early warning of a compromised development environment.
A strong preventative control is to manage the ecosystem of IDE extensions. Organizations should treat IDE extensions as software that needs to be managed. Implement an 'allowlist' policy for extensions, where only extensions that have been vetted by the security team can be installed. This can be enforced through the IDE's own management features (e.g., VS Code's extensions.install, extensions.recommendations settings in settings.json). For extensions not on the allowlist, they should be denylisted or blocked from installation. This prevents developers from inadvertently installing malicious extensions like the one used by GlassWorm and significantly reduces the attack surface.

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.
Help others stay informed about cybersecurity threats