A new, highly evasive version of the XCSSET malware, identified by Unit 42 as v40, is actively targeting Apple macOS developers. The primary attack vector is a software supply chain attack where the malware is injected into legitimate Xcode projects hosted on platforms like GitHub. The infection is triggered when a developer builds the compromised project, initiating a multi-stage, fileless infection chain that operates primarily in memory to evade detection.
This latest iteration features a modular architecture with 17 distinct components, including two significant new modules: a sophisticated Google Chrome hijacking backdoor and a Telegram trojanizer. The Chrome module abuses the legitimate Chrome DevTools Protocol (CDP) to perform a wide range of malicious activities, such as credential theft, session hijacking, and the creation of a stealthy, fileless reverse shell. The campaign has shown a concentrated focus on developers located in South Asia, continuing a pattern observed in previous versions.
The XCSSET malware family, first discovered by Trend Micro in 2020, has a history of targeting macOS developers. This new campaign, tracked by Unit 42 since April 2026, marks a significant evolution in the malware's stealth and capabilities. The threat actor's primary TTP involves compromising open-source Xcode projects, turning developers into unwitting distributors of the malware.
The infection begins when a developer downloads and builds a trojanized project. This action executes a hidden downloader script, which kicks off a four-stage infection process. The chain culminates in the execution of a memory-resident core module that deletes all on-disk artifacts, making forensic analysis challenging. This core module then communicates with a Command and Control (C2) server to download and execute additional specialized modules in memory, granting the attacker capabilities for data exfiltration, credential theft, and remote access.
The use of a supply chain attack vector is particularly dangerous, as it compromises the integrity of the software development process itself. A single compromised developer can lead to the infection of countless downstream users of their applications.
XCSSET v40 employs a multi-stage infection chain and a modular design to maximize stealth and functionality. The author uses multi-layered cipher shifts to obfuscate the malware's internal logic, requiring advanced analysis to decode.
project.pbxproj files within an Xcode project. This is a form of T1195.001 - Compromise Software Supply Chain.boot.boot module is active, it terminates all staging processes and deletes installation files from the disk. This fileless approach, combined with polymorphic payload generation at compile time, significantly hinders detection by traditional signature-based antivirus solutions. The core module then fetches specialized modules from the C2 infrastructure for in-memory execution, an example of T1055 - Process Injection.This new module represents a major enhancement, abusing the legitimate Chrome DevTools Protocol (CDP) for malicious ends. The attack flow is as follows:
Google Chrome binary in a malicious persistence script. When the user launches Chrome, this wrapper script executes first, a technique related to T1574.006 - Hijack Execution Flow: Dynamic Linker Hijacking.--remote-debugging-port flag enabled, opening up the CDP for remote interaction.chrome_remote establishes a persistent WebSocket connection to the C2 server, a form of T1071.001 - Application Layer Protocol: Web Protocols.T1555.003 - Credentials from Web Browsers.console.log events prefixed with a specific delimiter. When such an event is detected, the chrome_remote binary strips the delimiter and passes the remaining string to the host's shell handler (exec.Command), a use of T1059.004 - Command and Scripting Interpreter: Unix Shell. The output is then sent back to the C2 via the WebSocket connection.The primary impact of XCSSET v40 is on the software supply chain. By targeting developers, the attackers can poison legitimate applications, turning them into distribution vectors for malware. This poses a severe risk to end-users who trust these applications.
For compromised developers and their organizations, the risks include:
No specific Indicators of Compromise (IOCs) such as IP addresses, domains, or file hashes were provided in the source article.
The following patterns could indicate related activity:
*Google Chrome --remote-debugging-port=*chrome_remote*.xcodeproj/project.pbxprojwss://*chrome_remote process.Defenders should focus on behavioral detection and endpoint monitoring to identify XCSSET v40 activity.
Google Chrome launching with the --remote-debugging-port flag or for the execution of an unknown process named chrome_remote. This aligns with D3FEND technique D3-PA: Process Analysis.wss://) connections originating from browser processes or their children to untrusted or newly seen domains. This implements D3FEND technique D3-NTA: Network Traffic Analysis.project.pbxproj.Google Chrome.Mitigating this threat requires a combination of developer security practices and endpoint hardening.
D3-ACH: Application Configuration Hardening.M1045 - Code Signing.Enforcing code signing on all executables and scripts can prevent the tampered Chrome wrapper script from running.
Keeping Xcode, macOS, and Google Chrome up to date ensures that any underlying vulnerabilities exploited by the malware are patched.
Mapped D3FEND Techniques:
Enable detailed process creation and command-line logging to audit for suspicious launch arguments, such as Chrome starting with remote debugging enabled.
Use application control solutions to block the execution of unsigned or unauthorized scripts and binaries, which would prevent the initial infection and the `chrome_remote` binary.
Running development and build processes within a containerized or sandboxed environment can limit the malware's ability to access the host system or persist.
To counter XCSSET v40, security teams must implement robust process analysis on developer endpoints, focusing on the behavior of Xcode and Google Chrome. Configure EDR solutions to specifically monitor for parent-child process relationships where Xcode or its build tools spawn unexpected shell scripts or network connections. A high-priority alert should be generated whenever Google Chrome is launched with the --remote-debugging-port command-line argument, as this is the primary enabler for the browser hijacking module. Furthermore, establish a baseline of normal child processes for Google Chrome and alert on deviations, especially the appearance of the chrome_remote binary or any other unrecognized executable. By analyzing process command lines and relationships, defenders can detect the core mechanism of the malware's execution hijacking and persistence before the fileless reverse shell is fully established.
Given XCSSET's reliance on C2 communication for module delivery and its use of WebSockets for the Chrome reverse shell, Network Traffic Analysis is a critical defense. Deploy network sensors or leverage EDR network telemetry to monitor for WebSocket connections (wss://) originating from developer workstations, particularly from processes like Google Chrome or chrome_remote. Security teams should baseline normal developer traffic to cloud services and repositories like GitHub, then hunt for anomalous connections to unknown or low-reputation domains. Pay close attention to the volume and frequency of data transfers over these connections. Since the malware downloads modules and exfiltrates data, creating alerts for large or unusual outbound data flows from developer machines can help detect an active compromise. SSL/TLS inspection should be employed where possible to gain visibility into the encrypted C2 traffic.
Application Configuration Hardening can directly disrupt the XCSSET v40 attack chain. Organizations should use Mobile Device Management (MDM) or configuration management tools to enforce policies that disable the remote debugging feature in Google Chrome on all developer workstations by default. This specific hardening measure prevents the malware from programmatically enabling the Chrome DevTools Protocol, rendering the entire browser hijacking module ineffective. Access to this feature should be restricted and only enabled on a case-by-case basis with proper justification and temporary credentials. This control is a highly effective, proactive measure that raises the bar for the attacker by disabling the very mechanism they abuse, forcing them to find a different, potentially noisier method for session hijacking and C2.
Implementing Executable Allowlisting on developer machines provides a strong defense against XCSSET's staging and persistence. In the context of this threat, an allowlisting policy would prevent the execution of the unauthorized chrome_remote binary and any malicious scripts dropped during the initial infection from the Xcode project. While developer environments are dynamic, a well-managed allowlisting solution can be configured in a logging/audit mode first to build a baseline of legitimate tools and scripts. Once a baseline is established, the policy can be moved to enforcement mode. This control would block the malware's attempt to execute its malicious wrapper script around the legitimate Chrome binary and prevent the chrome_remote payload from running, effectively breaking the attack chain at multiple points.
XCSSET malware family is initially discovered and reported by Trend Micro.
Microsoft security researchers analyze and document an updated version of XCSSET.
Microsoft analyzes a second subsequent version of XCSSET, noting codebase enhancements.
Unit 42 begins tracking a new wave of attacks involving what is now known as XCSSET v40.
A secondary wave of XCSSET v40 attacks is observed, introducing an expanded suite of operational modules.
Unit 42 publishes its detailed analysis of the XCSSET v40 malware.

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.
CyberNetSec.io uses automation to assist source monitoring, deduplication, observable extraction, and structured intelligence generation. Published analysis follows human-defined editorial standards and adds defensive context including MITRE ATT&CK, D3FEND, STIX, and Sigma where applicable. Read our editorial policy.
Help others stay informed about cybersecurity threats
Every tactic, technique, and sub-technique used in this threat has been identified and mapped to the MITRE ATT&CK framework for consistent, actionable threat language.
Observables and indicators of compromise (IOCs) have been extracted and cataloged. Risk has been assessed and correlated with known threat actors and historical campaigns.
Detection rules, incident response steps, and D3FEND-aligned mitigation strategies are included so your team can act on this intelligence immediately.
Structured threat data is packaged as a STIX 2.1 bundle and can be visualized as an interactive graph — relationships between actors, malware, techniques, and indicators.
Sigma detection rules are derived from the threat techniques in this article and can be converted for deployment across any major SIEM or EDR platform.