This commit is contained in:
2026-06-30 01:24:06 +09:00
parent 8ee766722e
commit 9ad671521d
10 changed files with 1417 additions and 17 deletions
+32
View File
@@ -0,0 +1,32 @@
---
title: F3 File Format
created: 2026-06-29
updated: 2026-06-29
type: entity
tags: [tool, dev-tool, data-format, reliability, hack]
sources: [raw/articles/f3-file-format-2026.md]
confidence: medium
---
# F3 File Format
F3 は、分析用データを保存するための新しい列指向ファイル形式を試す研究実装。Parquet や ORC のような既存形式が長く使われるなかで、古い配置や拡張しにくさを抱え続ける問題に対し、ファイルの中にデータ、メタデータ、必要なら WebAssembly の復号器まで入れる設計を提案している。
中心にある発想は [[extensible-data-file-formats]]。読み手が符号化方式をすでに知っていればそのまま読める。知らない場合でも、ファイル内の Wasm 復号器を使って読めるようにする。つまり「形式を読むための知識」を、実装や外部仕様だけに置かず、ファイル自身にも持たせる。
## 何が面白いか
- **将来対応の逃げ道**: 新しい圧縮・符号化・配置を試すたびにファイル形式全体を作り直すのではなく、符号化単位ごとに復号器を付ける道を作る。
- **細かい読み出しの設計**: row group、IOUnit/Chunk、EncUnit という階層で、入出力単位と符号化単位を分けて扱う。
- **自己説明性**: Arrow schema、列メタデータ、共有辞書、checksum、Wasm binary、任意メタデータを同じファイルにまとめる。
- **研究としての検証**: `fff-bench` と再現手順があり、Parquet、Vortex、Lance、Nimble、ORC などとの比較を論文側で扱っている。
## 注意点
README は明確に「研究プロトタイプであり本番利用しない」と書いている。実装にも、研究用 API、未整備の再現手順、Debian 12/Intel でのみ試験済みという制約が残っている。現時点では採用候補というより、データ形式の設計案と実験台として読むのがよい。
## Wiki 上の位置づけ
F3 は、[[ghidra-mcp]] が専門道具の操作を MCP の道具層へ寄せたのと少し似ている。どちらも、知識や手順を人間の記憶や prompt だけに置かず、扱う対象の近くに実行可能な形で置こうとする。ただし F3 の対象は逆解析ではなく、長く残るデータファイルそのもの。
また [[llm-wiki-pattern]] が raw source をあとから読める形で残し、合成された知識と出典を分けるのに対し、F3 はデータと読むための手掛かりを同じ保存物に近づける。どちらも「将来の読み手が困らないように、文脈を一緒に残す」設計として見られる。
+31
View File
@@ -0,0 +1,31 @@
---
title: Ghidra MCP
created: 2026-06-29
updated: 2026-06-29
type: entity
tags: [tool, dev-tool, security, agent, automation]
sources: [raw/articles/ghidra-mcp-2026.md]
confidence: medium
---
# Ghidra MCP
Ghidra MCP は、Ghidra の静的解析・逆コンパイル・デバッグ機能を、Model Context Protocol 経由で AI エージェントから扱えるようにする Ghidra 拡張と MCP サーバー。README は「デモ用の読み取りだけ」ではなく、関数名変更、型付け、コメント、構造体作成、スクリプト実行、P-code 実行、実機デバッガー連携まで含む 251 個の道具を掲げている。
このリポジトリが面白いのは、[[ai-assisted-reverse-engineering]] を「AI が逆コンパイル結果を読む」だけで終わらせず、逆解析作業そのものの作法を道具側に寄せている点。v5.0 では命名規則や型の安全性、文書化基準を MCP の道具層で検査し、自動修正・警告・拒否に分ける。これにより、モデルや作業者が変わっても、関数名・型・コメントの粒度がばらけにくい。
## 目立つ機能
- Ghidra の関数解析、呼び出し関係、参照、メモリ読み取り、文字列探索、import/export 解析を MCP から呼び出せる。
- P-code グラフを使った値伝播、関数単体の P-code 実行、API hash 解決など、静的解析と軽い実行をつなぐ機能がある。
- Ghidra TraceRmi による実機デバッガー連携で、breakpoint、register、memory、step、静的アドレスと動的アドレスの対応を扱う。
- 関数 hash によって、別版の binary に文書化を移す cross-binary documentation transfer を掲げている。
- GUI 付き Ghidra だけでなく、headless server や Docker/CI 向けの運用も想定している。
## Wiki 上の位置づけ
[[ai-research-automation]] や [[wiki-maintenance-loop]] が「情報収集・知識化の手順を持続させる」話だとすると、Ghidra MCP は「専門道具の操作手順と品質基準を MCP の道具として固定する」例。LLM に自由入力で作法を毎回思い出させるのではなく、操作の入口が規則を知っている形にする。
逆解析は security と dev-tool の境界にあるため、このページでは攻撃手順ではなく、解析支援、再現性、共同作業、道具側の品質保証という観点で扱う。
F3 の [[f3-file-format]] とは領域が違うが、「使い方の知識を対象の近くに置く」という点では響き合う。Ghidra MCP は解析手順を道具層に置き、F3 はデータを読むための復号手段をファイル側に近づける。