CASCADE: LLM-Powered JavaScript Deobfuscator at Google

Google は、Gemini のコード理解能力と JSIR の決定論的変換を融合させたハイブリッド手法「CASCADE」を開発し、JavaScript の難読化を効率的に解除することで、従来のルールベース手法の限界を克服し、本番環境での実用化に成功しました。

Shan Jiang, Pranoy Kovuri, David Tao, Zhixun Tan

公開日 2026-03-03
📖 1 分で読めます☕ さくっと読める

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

CASCADE:Google の「コードの魔法を解く」新技術 explained

この論文は、Google が開発した**「CASCADE(キャスケード)」という新しい技術について書かれています。これは、「難解に書き換えられた JavaScript というプログラミング言語のコードを、人間が読めるように元に戻す(脱暗号化する)」**ためのツールです。

これを理解するために、いくつかの身近な例えを使って説明しましょう。

1. 問題:「魔法の箱」に入ったメッセージ

インターネット上のウェブサイトやアプリは、JavaScript という言語で動いています。しかし、悪い人(マルウェア作成者)は、自分の作った悪意あるコードを隠すために、**「コードの書き換え(難読化)」**という魔法を使います。

  • 元のコード: console.log("Hello World");(「こんにちは世界」と表示する)
  • 書き換え後のコード: 意味不明な変数、複雑な足し算引き算、そして「文字列の引き出し」をするための謎の関数が山ほど混ざり合い、まるで**「誰にも読めない暗号の箱」**のようになります。

従来のツールは、この箱を開けるために「もし A なら B を開け、もし C なら D を開け」といった**「マニュアル(ルール)」**を何千行も作って対応していました。しかし、悪い人がルールを少しだけ変える(例:while(true)while(!false) に変える)だけで、マニュアルは役に立たなくなり、箱が開かなくなってしまいます。

2. 解決策:CASCADE の「2 人の専門家チーム」

CASCADE は、この問題を解決するために**「2 人の専門家」**を組ませたハイブリッドなチームを作りました。

① 最初の専門家:「AI(ジェミニ)」= 天才的な探偵

まず、Google の AI モデル「Gemini」が箱の中を覗き込みます。

  • 役割: 「あ、この部分はおかしいな。これは『文字列の引き出し』をするための**『前奏曲(プレリュード)』**という魔法の関数だ!」と見抜きます。
  • 強み: 従来のマニュアル(ルール)は、形が少し変わると見逃してしまいましたが、AI は「このパターンは『文字列の引き出し』の仕組みだ」という本質を理解しています。
  • 例え: 探偵が「この犯人はいつも同じような手口(前奏曲)を使う」と気づき、犯人の正体を特定するイメージです。

② 2 人目の専門家:「コンパイラ(JSIR)」= 厳密な計算機

AI が「ここが魔法の関数だ」と見つけたら、次に**「JSIR(JavaScript の中間表現)」**という、非常に厳密で正確な計算機が活躍します。

  • 役割: AI が見つけた「魔法の関数」を、安全な実験室(サンドボックス)で実際に動かして、「本当に何番目の箱から、どんな文字が出てくるか」を正確に計算します。
  • 強み: AI は時折、間違った計算をしたり、空想(ハルシネーション)をしてしまうことがありますが、この計算機は**「100% 正確」**です。
  • 例え: 探偵が「犯人はここにいる」と教えてくれたら、厳密な科学者が「この鍵で開けると、中から『こんにちは世界』という紙が出てくる」と、実際に開けて確認するイメージです。

3. なぜこの組み合わせが素晴らしいのか?

この「AI + 計算機」のチームワークには、3 つの大きなメリットがあります。

  1. マニュアル不要で、どんな変化にも強い

    • 従来の「マニュアル(ルール)」方式は、書き換えが少し変わるだけで壊れてしまいました。でも、AI は「本質」を見て判断するので、書き換え方が変わっても「あ、これは同じ仕組みだ」と見抜けます。
    • 例え: 犯人の服装や髪型が変わっても、顔の骨格(本質)を見れば「あ、あの犯人だ!」と見抜ける探偵がいるようなものです。
  2. 間違いをゼロに近づける

    • AI だけでコードを全部書き直そうとすると、計算ミスで「こんにちは世界」が「こんにちは月」になってしまったり、プログラムが壊れたりするリスクがあります。
    • CASCADE は、AI に「何をするか」だけ考えさせ、「実際に計算して書き換える」のは正確な計算機に任せることで、「AI の空想」を防ぎ、正確さを保証しています。
  3. 驚くほど速い

    • 1 ファイルあたり、平均2 秒で、数百から数千の隠された文字を元に戻すことができます。Google ではすでに、毎日数百万のファイルをチェックするために使われています。

4. まとめ:何ができるようになったの?

以前は、悪意あるコードを分析するには、熟練のエンジニアが何時間もかけて手作業で解読する必要がありました。しかし、CASCADE のおかげで:

  • 隠されたメッセージ(文字列)や、隠された機能(API 名)が、瞬時に元通りに見えるようになります。
  • 人間の手作業が大幅に減り、マルウェアの発見が格段に早くなりました。

つまり、CASCADE は**「AI の直感」と「機械の正確さ」を掛け合わせることで、複雑なコードの暗号を、安全かつ高速に解き明かす「最強の鍵」**なのです。

Google はこの技術をすでに実用化しており、これからもっと多くの悪意あるコードからユーザーを守っていく予定です。

このような論文をメールで受け取る

あなたの興味に合わせた毎日または毎週のダイジェスト。Gistまたは技術要約を、あなたの言語で。

Digest を試す →