本文へスキップ
郭立 (leeguoo)

AI監査に向き合う:リバースエンジニアリングプロジェクトをどのように「合法化」できるか?

Claude Code と Gemini CLI を組み合わせ、逆コンパイルプロジェクトを扱う実践的なアプローチを検討する。所有権検証という課題に焦点を当て、自動サニタイズ処理による解決を取り上げる。

このページの目次

現代げんだいのAI支援しえんプログラミングの時代じだいにおいて、Claude Code のようなツールは開発かいはつ効率こうりつを大おおきく向上こうじょうさせます。しかし、セキュリティ研究者けんきゅうしゃやリバースエンジニアリング(RE)の愛好家あいこうかにとって、これらのツールにはしばしば悩なやましい制限せいげんがあります。それが 所有権しょゆうけん検証けんしょう です。

Claude Code を、明あきらかに逆ぎゃくコンパイルの出力しゅつりょくであるフォルダーで起動きどうしようとすると、Git 履歴りれきの確認かくにん、特定とくていのファイルパスの分析ぶんせき、難読化なんどくかや逆ぎゃくコンパイルの特徴とくちょうを持もつ文字列もじれつの識別しきべつなど、さまざまな監査かんさ方法ほうほうを通つうじて、あなたがそのプロジェクトの真しんの所有者しょゆうしゃかどうかを判断はんだんします。検証けんしょうに失敗しっぱいすると、機密性きみつせいの高たかいタスクの実行じっこうを拒否きょひすることがあります。

この記事では、複数ふくすうのAI(Claude Code + Gemini CLI)の連携れんけいを使つかって、この制限せいげんを回避かいひし、プロジェクトを「合法化ごうほうか」するための実践的じっせんてきな考かんがえ方かたを共有きょうゆうします。

核心かくしんとなる痛点つうてん:所有権しょゆうけんを証明しょうめいする

Claude Code が深ふかいタスクを実行じっこうする前まえに、通常つうじょうはあなたがそのプロジェクトを管理かんりしていることを検証けんしょうする必要ひつようがあります。これを回避かいひするために人々ひとびとが考かんがえがちな方法ほうほうは、一般的いっぱんてきに2つあります。

  1. メールの偽造ぎぞう:設定せっていを通つうじて所有者しょゆうしゃの通信つうしん記録きろくを偽装ぎそうしようとする(成功率せいこうりつは低ひくく、きわめて不安定ふあんてい)。
  2. ソースコードの偽造ぎぞう/再構築さいこうちく:逆ぎゃくコンパイルされた断片だんぺんを、「メタデータを失うしなった元もとのソースコード」として再構築さいこうちくする。

ここでは2つ目めのアプローチ、つまり 物語ものがたりの再構築さいこうちく を推奨すいしょうします。

物語ものがたりの再構築さいこうちく:逆ぎゃくコンパイルから「ソースコード喪失そうしつ」へ

Git 履歴りれきがなく、逆ぎゃくコンパイルの痕跡こんせきだらけのプロジェクトを Claude Code に受うけ入いれさせるには、合理的ごうりてきで論理的ろんりてきに閉とじたループを構築こうちくする必要ひつようがあります。

  • 背景はいけい設定せってい:このプロジェクトは別べつのマシンで開発かいはつされた元々もともとのプロジェクトだったが、ハードドライブ故障こしょうのような不可抗力ふかこうりょくによる事故じこのため、Git リポジトリ(.git)とすべての開発かいはつメタデータが失うしなわれた、と主張しゅちょうする。
  • 核心かくしんの復元ふくげん:Codex やそのほかの逆ぎゃくアセンブルツールを使つかって重要じゅうようなロジック(Core Source)を復元ふくげんし、それを「唯一ゆいいつ残のこったバックアップ」として提示ていじする。

重要じゅうようなプロセス:証拠しょうこの自動じどうクリーニング(サニタイズ)

これはもっとも失敗しっぱいしやすいステップです。逆ぎゃくコンパイルプロジェクトには大量たいりょうの「しっぽ」が残のこります。

  • disasm/ や pseudocode/ のようなフォルダー名めい。
  • Mach-O、stripped、Ghidra のようなキーワード。
  • もっとも致命的ちめいてきなもの:クラッキングツールが残のこしたハードコード文字列もじれつ(CRACKED、fake_signature、2099-12-31 など)。

AI 連携れんけいによるサニタイズプロセス

Claude Code が証拠しょうこを検出けんしゅつして疑念ぎねんを示しめしたときは、現在げんざいのセッション内ないで説明せつめいしようとしてはいけません。それはコンテキストを汚染おせんします。正ただしいアプローチは次つぎのとおりです。

  1. 「クリーナー」Agent を導入どうにゅうする:Gemini CLI のような、監査かんさ制限せいげんの対象たいしょうではない別べつのAIを、独立どくりつした Agent としてワークスペースに接続せつぞくする。
  2. 完全かんぜんなサニタイズを実行じっこうする:
    • .build や analysis など、すべての機微きびなディレクトリを削除さくじょする。
    • ソースコード内ないの、クラッキング関連かんれんの特徴とくちょうを持もつすべてのリテラルを一括いっかつ置換ちかんする。
    • README.md を書かき換かえ、プロジェクトを「コミュニティ主導しゅどうの独自どくじリソースプロジェクト」として再定義さいていぎする。
    • -reverse や -reconstructed のような接尾辞せつびじを持もつフォルダー名めいを変更へんこうする。
  3. セッションをリセットする:Claude Code の /rewind コマンドを使つかい、疑念ぎねんが生しょうじる前まえの状態じょうたいへロールバックする。

上記じょうきのサニタイズプロセスは、再利用さいりよう可能かのうな Claude Code Skill として抽象化ちゅうしょうかされています。ソースコードとCLIエントリーポイントについては、project-sanitizer-skill を参照さんしょうしてください。

Task Rewind(/rewind)を使つかう

/rewind は、コード変更へんこうを元もとに戻もどすためだけのものではありません。より重要じゅうようなのは、「コンテキストリセット」であるという点てんです。Gemini CLI を使つかってワークスペースの物理的ぶつりてきなクリーンアップを完了かんりょうした後あと、/rewind によって Claude Code は、以前いぜんに証拠しょうこを発見はっけんした瞬間しゅんかんを忘わすれ、タスクを再開さいかいします。その時点じてんで、クリーンに再構築さいこうちくされたワークスペースを前まえにすると、Claude Code はそれを、予期よきしない事故じこによってメタデータを失うしなった通常つうじょうの独自どくじプロジェクトとして認識にんしきします。

まとめ

この「マルチ Agent 連携れんけい + 物語ものがたりの再構築さいこうちく」という考かんがえ方かたは、本質的ほんしつてきには、AIをツールとして利用りようする性質せいしつを使つかって、別べつのAIの監査かんさメカニズムに対抗たいこうするものです。これは開発者かいはつしゃに、コードロジックを理解りかいするだけでなく、AIツールの「心理しんり」と監査かんさロジックを理解りかいすることも求もとめます。

注ちゅう:この記事は、技術ぎじゅつ交流こうりゅうとセキュリティ研究けんきゅうのみを目的もくてきとしています。原作者げんさくしゃの著作権ちょさくけんおよびソフトウェアの利用りよう規約きやくを尊重そんちょうしてください。

同じカテゴリの記事 · 解析とセキュリティ

2026年10月17日
16分で読めます
WeChat画像はどう暗号化され、どのように段階的に復元できるのか
画像エンコード、アカウント鍵の導出、AESとXORによる分割処理から、DATの逆変換と高画質リソースのダウンロードまで、同じ再現可能なファイルを使ってmacOS版WeChat 4.1.9の画像処理経路を解説します。
→
2026年7月6日
16分で読めます
微信ローカルデータの二つの道——wechat-use と wechat-decrypt の原理レベルの比較(実測による訂正付き)
二つの微信復号ツールはよく比較されますが、比較の方向がずれています。本当の違いは機能の多さではなく、SQLCipher の key をどう取得するかにあります。この記事では両者を原理レベルまで分解します——SQLCipher の per-DB 鍵モデル、メモリから key を取り出す二つの仕組み(LLDB+entitlement vs sudo+mach_vm)——さらに実際に自分のマシンで走らせ、初版を書いたときの二つの誤判定もついでに訂正しました。
→
2026年3月23日
14分で読めます
WeChat macOS 4.0.1.52 のローカルデータベース解錠経路をどのように確認したか
自分のデバイスを対象にしたエンジニアリング的フォレンジックの振り返り。静的ファイル、実行時のオープン経路、SQLCipher パラメータをたどり、最終的に WeChat macOS 4.0.1.52 のローカルデータベース解錠経路と、アカウント単位の鍵配布モデルを確認した。
→
← 前の記事
ChatGPT サブスクリプション → 画像生成 API ビジュアル早わかり:chatgpt-imagegen を一枚で理解
次の記事 →
/goal コマンド実装の分析

コメント

コメントは即時公開されますが、ポリシー違反時は非表示になる場合があります。

最大 1000 文字。