add
This commit is contained in:
@@ -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 はデータと読むための手掛かりを同じ保存物に近づける。どちらも「将来の読み手が困らないように、文脈を一緒に残す」設計として見られる。
|
||||
@@ -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 はデータを読むための復号手段をファイル側に近づける。
|
||||
Reference in New Issue
Block a user