Slide 1

Slide 1 text

YOUR LOCAL AI ASSISTANT FOR WEEKEND FORENSIC WORK. FORENSIA: ローカルLLM フォレンジックハーネス S.Nakano / @sum3sh1 SA-FOR-001-JA

Slide 2

Slide 2 text

本日のおはなし ローカルLLMでフォレンジック支援を行うツール 「FORENSIA」を開発・公開した。 これを実装するにあたっての設計思想や、 開発する過程で得られた知見を共有する。 github.com/sumeshi/forensia 02

Slide 3

Slide 3 text

背景 生成AI、便利ですよね。フォレンジックでも使えると嬉しい。 一方、機微な情報を扱う場合は複製をどこまで許容するか? 学習のOpt-Outレベルでいい?Bedrockのようなクラウド プラットフォームならOK?レンタルGPUを使う? それで完全にデータを掌握していると説明できる? やっぱり理想はローカルかな。 03

Slide 4

Slide 4 text

目的 完全にオフラインで動作する、ローカルLLMを活用した フォレンジックツールを作る。 取り込む Windows アーティファクト 出力する 調査ツール 調査レポート 04

Slide 5

Slide 5 text

マネージドLLMと同じ土俵で勝負しない(できない) 2B~8B が限界。 その規模のLLMでできるのは 文章の要約など、ごく簡単なタスク 1T (1,000B) マネージドLLM (5T~) 400B 120B 一般的な PC で動くのは このあたりまで 27B 8B モデル規模の相対比較 05

Slide 6

Slide 6 text

ぶん投げはできない、ので歯車としてこき使う 機械的に処理できない「仮説生成」や「検証」のみLLMに任せる ハーネス ルール検知 反 復 証跡検索 レポート更新 LLM 検知結果 仮説 関連証跡 検証結果 仮説生成 検証 06

Slide 7

Slide 7 text

設計原則 1. 孤独に戦う 調査中はオフラインで動作する 2. LLMに過剰な期待をしない よしなに、は通じない 必要な情報を適切に分解して与えるのはこちらの仕事 3. 時間は湯水のごとく使う 一度で完璧な結論を出すのは難しい(人力でも) 仮説検証を繰り返して徐々にブラッシュアップする 07

Slide 8

Slide 8 text

アーキテクチャ 設計原則をもとに、弱いLLMによる調査を補強する 以下の仕組みを実装した。 A1 A3 仮説検証のループ化 推論の厳格な制御 A2 A4 記憶の構造化 調査意図をLLMに伝える 08

Slide 9

Slide 9 text

A1. 仮説検証のループ化 チェックリストのような形はケース固有事象を拾いにくい 調査によって生じた疑問から仮説を生成、検証を繰り返す HYPOTHESIS INGEST SEARCH UPDATE CHECK > My job is to write loops. - Boris Cherny from Anthropic 09

Slide 10

Slide 10 text

A2. 記憶の構造化 CASE STATE(長期記憶) 確定した情報 TRACE STATE(追跡記憶) なぜそう判断したか WORKING STATE(作業記憶) 今何をしているか 多くの情報を一度に与えると出力がブレる 状態を役割ごとに分離し、必要な文脈だけを LLMにわたす際に再構成する。 また、判断の過程をTraceとして残すことで 後から「なぜそう判断したか」を追跡できる。 KNOWLEDGE 外付けの知識 OWASP - Agent Observability Standard https://owasp.org/www-project-agent-observability-standard-2/ 10

Slide 11

Slide 11 text

A3. 推論の厳格な制御 小規模なモデルで安定した品質の出力を得るには、 厳格なプロンプトで推論を制御し、出力する情報と形式を定め 必要最低限のコンテキストを渡して取り違えや推論発散を防ぐ 古典的なアプローチだが、弱いモデルでは依然として有効。 11

Slide 12

Slide 12 text

A4. 調査意図をLLMに伝える 動的な処理ができるのだから、検知結果だけを使わなくてよい。 意図や次に考えること、検索クエリを詰め込んで推論時に渡す。 12 検知ルールの例

Slide 13

Slide 13 text

簡易ベンチマーク CFReDSから、現実装で導出可能な問いを選定 8 / 12 google/gemma-4-e2b では7割程度が正答 Failed: 33.3% Correct: 66.7% 頑張ってくれた RTX 2070 super (約2万円) NIST - CFReDS Data Leakage Case https://cfreds-archive.nist.gov/data_leakage_case/data-leakage-case.html 13 Correct Failed

Slide 14

Slide 14 text

何が不得意だったのか 01 コンテキスト中の単語に引っ張られる Web Browser" というワードから、Web関連証跡だけを見ようとして、 実際に必要だったMFTにたどり着けなかったなど... → パターンマッチでフィルタをかけたり、外付けKnowledgeでブーストする? " 02 不在・未発見・未調査の区別 証跡が存在しない・見つからない・そもそも探していないことの区別を 記憶としては正しく持っていてもモデル側が勘違いしてしまう。 → 調査のカバレッジを内部状態として持つ必要がある? 14

Slide 15

Slide 15 text

まとめ 弱いモデルを調査に使うために、タスクを細かく分解し、 必要な記憶と推論の管理を行うハーネスを開発した 課題はモデルの知識や能力よりも、適切な仕事を与え続けるこ とと、調査の一貫性を保つことにあると感じた。 結局のところ、必要なのは優れた統率者である。 15

Slide 16

Slide 16 text

FORENSIA Your local AI assistant for weekend forensic work. ぶっちゃけ、 ローカルLLMはきびしい!!! github.com/sumeshi/forensia

Slide 17

Slide 17 text

Appendix: Dashboard 17

Slide 18

Slide 18 text

Appendix: Report 18