CASCADE: LLM-Powered JavaScript Deobfuscator at Google
By: Shan Jiang , Pranoy Kovuri , David Tao and more
Potential Business Impact:
Unscrambles tricky computer code to reveal secrets.
Software obfuscation, particularly prevalent in JavaScript, hinders code comprehension and analysis, posing significant challenges to software testing, static analysis, and malware detection. This paper introduces CASCADE, a novel hybrid approach that integrates the advanced coding capabilities of Gemini with the deterministic transformation capabilities of a compiler Intermediate Representation (IR), specifically JavaScript IR (JSIR). By employing Gemini to identify critical prelude functions, the foundational components underlying the most prevalent obfuscation techniques, and leveraging JSIR for subsequent code transformations, CASCADE effectively recovers semantic elements like original strings and API names, and reveals original program behaviors. This method overcomes limitations of existing static and dynamic deobfuscation techniques, eliminating hundreds to thousands of hardcoded rules while achieving reliability and flexibility. CASCADE is already deployed in Google's production environment, demonstrating substantial improvements in JavaScript deobfuscation efficiency and reducing reverse engineering efforts.
Similar Papers
Breaking Obfuscation: Cluster-Aware Graph with LLM-Aided Recovery for Malicious JavaScript Detection
Cryptography and Security
Finds hidden bad code in websites.
From Obfuscated to Obvious: A Comprehensive JavaScript Deobfuscation Tool for Security Analysis
Cryptography and Security
Cleans up tricky computer code to find bad stuff.
Can LLMs Recover Program Semantics? A Systematic Evaluation with Symbolic Execution
Software Engineering
Helps computers understand hidden computer code.