
In January 2025, researchers at Juniper Threat Labs identified a novel JavaScript obfuscation technique that has been actively deployed in phishing attacks. Threat actors have been leveraging invisible Unicode characters to conceal malicious code, rendering it virtually imperceptible to both security analysts and automated defense systems.
This method relies on substituting ASCII character binary values with invisible Hangul Unicode symbols (U+FFA0 and U+3164), enabling attackers to embed malicious code within legitimate scripts without raising suspicion. Furthermore, the hidden code is stored as a JavaScript object property and later decrypted using a JavaScript Proxy, which reconstructs the original script upon execution.
Researchers noted that these attacks were highly targeted and personalized, incorporating victim-specific intelligence and anti-debugging techniques such as execution delay checks and automatic termination upon debugger detection. Additionally, to obscure the final phishing URL, attackers employed a recursive link-wrapping technique using Postmark.
This obfuscation strategy was initially disclosed by JavaScript developer Martin Kleppe in October 2024. Within less than three months, cybercriminals began exploiting it extensively, underscoring the rapid adoption of cutting-edge evasion techniques in real-world attacks.
Juniper Threat Labs has linked these incidents to the Tycoon 2FA phishing toolkit, previously used to compromise accounts protected by two-factor authentication (2FA). This suggests a high likelihood of broader adoption among cybercriminal groups.
The use of invisible Unicode characters for obfuscation significantly complicates threat detection, as most static code analyzers fail to recognize these symbols as executable code. Given the simplicity of implementation and effectiveness in bypassing security mechanisms, this technique is expected to proliferate further among threat actors in the near future.