CASCADE: LLM-Powered JavaScript Deobfuscator at Google

Dit paper introduceert CASCADE, een hybride Google-tool die de geavanceerde coderingscapaciteiten van Gemini combineert met deterministische compiler-transformaties om JavaScript-obfuscatie effectief te ontrafelen en de reverse-engineering-efficiëntie aanzienlijk te verbeteren.

Shan Jiang, Pranoy Kovuri, David Tao, Zhixun Tan

Gepubliceerd 2026-03-03
📖 4 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een boek leest, maar iemand heeft alle woorden vervangen door vreemde cijfers, de zinnen door elkaar gehaald en de hoofdletters willekeurig veranderd. Het is nog steeds hetzelfde verhaal, maar je kunt het niet meer lezen. Dit is wat obfuscatie (verwarring) doet met computercode, vooral in JavaScript (de taal van websites). Hackers gebruiken dit om hun kwaadaardige programma's te verstoppen, zodat beveiligingsexperts niet kunnen zien wat ze doen.

Het papier introduceert CASCADE, een slimme nieuwe tool van Google die deze code weer leesbaar maakt. Hier is hoe het werkt, vertaald naar alledaagse taal:

1. Het Probleem: De "Vreemde Taal" van Hackers

Hackers gebruiken vaak een gereedschap genaamd Obfuscator.IO. Dit tooltje neemt een simpele zin als "Hallo wereld" en verandert het in een wirwar van wiskundige formules en vreemde variabelen.

  • Vroeger: Beveiligingsexperts moesten handmatig regels schrijven om deze wirwar te doorbreken (bijvoorbeeld: "Als je while(true) ziet, is het een lus").
  • Het probleem: Zodra de hacker één klein dingje verandert (bijvoorbeeld true veranderen in !false), werken die handgeschreven regels niet meer. Het is als een slot dat open gaat met een specifieke sleutel, maar als de sleutel ook maar een millimeter verschuift, past hij niet meer.

2. De Oplossing: CASCADE (De Slimme Vertaler)

CASCADE is een "hybride" oplossing. Het combineert twee heel verschillende krachten:

  1. Een AI (Gemini): De "detective" die het patroon herkent.
  2. Een Compiler (JSIR): De "rekenmachine" die de feitelijke berekeningen doet.

Stap 1: De AI als Detective (Het Herkennen van het Patroon)

Stel je voor dat je een detective bent die duizenden moordzaken bekijkt. Je ziet dat elke moordenaar een specifiek soort mes gebruikt, maar ze verpakken het in verschillende dozen.

  • De AI (Gemini) kijkt naar de code en zegt: "Ah, ik zie hier een prelude-functie."
  • In de code van Obfuscator.IO zijn er altijd drie specifieke blokken die de sleutel tot de code bevatten (een lijst met woorden, een manier om die woorden op te halen, en een draaimolen die de lijst verdraait).
  • De AI is zo slim dat hij deze blokken herkent, zelfs als de hacker de naam van de variabelen verandert of de code iets anders opschrijft. De AI hoeft geen duizenden handmatige regels te onthouden; hij begrijpt gewoon wat het is.
  • Resultaat: De AI vindt de sleutelblokken met 99,5% nauwkeurigheid.

Stap 2: De Compiler als Rekenmachine (Het Oplossen van de Raadsels)

Zodra de AI de sleutelblokken heeft gevonden, geeft hij ze door aan de tweede helft van CASCADE: de compiler (JSIR).

  • De AI is goed in herkennen, maar soms slecht in exact rekenen. Als de AI een getal verkeerd berekent, kan de hele code verkeerd werken.
  • De compiler is een super-nauwkeurige rekenmachine. Hij neemt de blokken die de AI heeft gevonden, voert ze uit in een veilige omgeving (een zandbak), en rekent precies uit wat de oorspronkelijke woorden waren.
  • Voorbeeld: Als de code zegt "Haal woord nummer 438 op", rekent de compiler uit: "O, dat is 'Hallo Wereld'!". Hij vervangt dan de vreemde code door het echte woord.

3. Waarom is dit zo geweldig? (De Analogie van de Kluiskluis)

Stel je voor dat je een enorme kluiskluis moet openen die door een hacker is gebouwd.

  • De oude manier (Regels): Je probeert elke klinker in te drukken die je kent. Als de hacker de klinkers verplaatst, moet je alles opnieuw leren. Dit kost eeuwen.
  • De CASCADE-methode:
    1. Je stuur een slimme agent (AI) om te kijken waar de klinkers zitten. Hij zegt: "De klinkers zitten in blok A, B en C."
    2. Je gebruikt een supersterke, exacte machine (Compiler) om die blokken te draaien en de klinkers te openen.
    3. Omdat de machine exact rekent, is er geen kans op fouten. Omdat de agent slim is, werkt het ook als de hacker de kluiskluis een beetje aanpast.

4. Wat levert dit op?

  • Snelheid: CASCADE kan duizenden bestanden per dag verwerken.
  • Betrouwbaarheid: Omdat de AI alleen de patronen zoekt en de machine de rekenwerk doet, zijn er bijna geen fouten.
  • Toekomst: Google gebruikt dit al in hun eigen systemen om kwaadaardige websites te vinden. Het maakt het voor beveiligingsexperts veel makkelijker om te zien wat hackers van plan zijn.

Kortom: CASCADE is als een vertaler die niet alleen de taal kent, maar ook een super-rekenmachine heeft om de raadsels op te lossen. Het maakt de onleesbare code van hackers weer begrijpelijk voor mensen, zodat we ze kunnen stoppen.

Ontvang papers zoals deze in je inbox

Gepersonaliseerde dagelijkse of wekelijkse digests op basis van jouw interesses. Gists of technische samenvattingen, in jouw taal.

Probeer Digest →