
オープンソースのWindowsフォレンジックエンジン。MFT、USN、レジストリなどのアーティファクトを取得・解析・関連付けてタイムラインを再構築し、AI支援分析と法廷級の証拠封印に対応します。
Windowsのためのフォレンジックタイムマシン。
Crow-Eyeはただ検出するだけではありません — 実際に何が起きたのかを再構築します。タイムライン上で、取得から、そのソースレコードまで遡れる判定結果に至るまで。
Crow-Eyeは、取得、分析、検証、インテリジェンス、AIを統合したオープンソース(GPL-3.0)のWindowsフォレンジックエンジンです。 ほとんどのセキュリティツールは*「これは悪いものか?」*と問い、正当に見えるものをすべて除外します。Crow-Eyeは別の問いを投げかけます:「何が起きたのか?」 それは、怪しいかどうかに関わらずすべてのアクティビティを相関させ、システム上で実際に発生した一連のイベントを再構築します。調査の真実はアラートからの推測ではなく、証拠から再構築されるのです。
この再構築ファーストの設計こそ、APTや国家支援型の脅威を追跡するために必要なものです。高度な攻撃者は正当なツール(powershell.exe、PsExec、certutil)やアクションの順序の中に潜んでおり、正常に見えるものを除外するツールには見えません。Crow-Eyeは決して何も除外せず、実行アーティファクト(ログ改ざんやアンチフォレンジックにも耐える)に基づいて推論するため、攻撃は隠れることができません。同じエンジンは、日常的なDFIR業務や、コンピュータで何が起きたのかを知りたいだけの非専門家にとっても使いやすいままです。
Crow-Eyeは非常に異なるワークフローで使用されています。それぞれが異なる入り口からエンジンに入ります:
どのコレクタでも機能します。 Crow-Eyeは独自の取得ツールを必要としません。オフラインインポーターをVelociraptor、KAPE、EDRコレクションパッケージ、または他の任意のコレクタが生成した生のアーティファクトのフォルダに向けてください。サポートされているアーティファクトをインデックス化し、その上でオフラインパーサーを実行します。また、Plaso、Autopsy、Volatilityまたは他のツールの出力は、Import Evidence を介してCSV、JSON、SQLiteとして取り込み、ネイティブアーティファクトと並べて相関させることができます。
Crow-Eyeは統合ループとして構築されています。各ステージが次のステージへと供給され、生のディスクから防御可能な判定までを結びます。
Crow-Eyeはパーサーの寄せ集めではなく、統合パイプラインです。証拠は一方向に流れ、各ステージはソースレコードへのリンクを保持します。```mermaid %%{init: {"flowchart": {"nodeSpacing": 60, "rankSpacing": 70, "curve": "basis"}, "themeVariables": {"fontSize": "17px", "fontFamily": "system-ui, sans-serif"}} }%% flowchart TB
%% ═══════════ 1. EVIDENCE SOURCE ═══════════
S1["Live Windows system"]
S2["Forensic image
E01 · VHDX · VMDK · Raw"]
S3["Collected artifacts
Velociraptor · KAPE · EDR"]
S4["Third-party output
Plaso · Autopsy · Volatility"]
%% ═══════════ 2. INGEST ═══════════
I1["CROW-CLAW
live acquisition"]
I2["IMAGE PARSING
direct, no mounting"]
I3["OFFLINE IMPORTER
SCAN → COLLECT → PARSE"]
I4["IMPORT EVIDENCE
CSV · JSON · SQLite"]
PARSERS["ARTIFACT PARSERS<br/>18 artifact types · live and offline"]
%% ═══════════ 3. CASE ═══════════
CASE[("CASE DATABASES
Target_Artifacts/
Imported_Evidence/")]
%% ═══════════ 4. ANALYSIS ═══════════
TL["INTERACTIVE TIMELINE
heat map · week · day"]
UB["USER BEHAVIOR ANALYTICS
40 detections · plain-English story"]
CE["CORRELATION ENGINE
Feathers → Wings → Engines → Pipelines"]
RES[("Correlation results")]
DL["DYNAMIC LINKING
non-destructive enrichment overlay"]
INTEL[("Crow_Intelligence.db
SID · MAC · hash · GUID → name")]
%% ═══════════ 5. AI LAYER ═══════════
EYE["EYE
GEP-governed AI assistant"]
NM["NARRATIVE MAP
hash-chained case memory"]
COMP["COMPLIANCE
live GEP status · EvidenceSeal audit"]
OUT["LIVING REPORT<br/>CSV · JSON · HTML"]
%% ═══════════ FLOW ═══════════ S1 --> I1 S2 --> I2 S3 --> I3 S4 --> I4
I1 --> PARSERS
I2 --> PARSERS
I3 --> PARSERS
PARSERS -- "parsed artifacts" --> CASE
I4 -- "verbatim copy or<br/>converted to feather" --> CASE
CASE -- "read-only" --> TL
CASE -- "read-only" --> UB
CASE -- "read-only" --> CE
CASE -- "read-only" --> DL
CE --> RES
DL --> INTEL
CASE -- "read-only queries" --> EYE
RES -. "queried on demand" .-> EYE
EYE <== "verdict · narrative · evidence" ==> NM
EYE -- "audited by" --> COMP
EYE -- "report_* tools" --> OUT
%% ═══════════ STYLE ═══════════ classDef src fill:#334155,stroke:#94a3b8,stroke-width:2px,color:#f1f5f9 classDef ing fill:#0f766e,stroke:#2dd4bf,stroke-width:2px,color:#f0fdfa classDef store fill:#92400e,stroke:#fbbf24,stroke-width:3px,color:#fffbeb classDef ana fill:#1e40af,stroke:#60a5fa,stroke-width:2px,color:#eff6ff classDef ai fill:#6b21a8,stroke:#c084fc,stroke-width:2px,color:#faf5ff classDef out fill:#166534,stroke:#4ade80,stroke-width:2px,color:#f0fdf4
class S1,S2,S3,S4 src
class I1,I2,I3,I4,PARSERS ing
class CASE,RES,INTEL store
class TL,UB,CE,DL ana
class EYE,NM,COMP ai
class OUT out
linkStyle default stroke-width:2px
*証跡ソース → 取り込み → ケースデータベース → 分析 → AIレイヤー → レポート*
**読み方:**
| 段階 | 重要ポイント |
|---|---|
| ① → ② | **事件への4つの独立した入り口。** Crow-Eye独自のコレクターは不要です。Velociraptor、KAPE、またはEDRパッケージのフォルダはOffline Importerを経由し、サードパーティ製のCSV/JSON/SQLiteはImport Evidenceを経由します。 |
| ② → ③ | すべてが**ケースデータベース**という1か所に収束します。解析されたアーティファクトは `Target_Artifacts/` に配置され、インポートされたサードパーティ証跡は `Imported_Evidence/` に配置されて自動検出されます。 |
| ③ → ④ | **3つの分析パスは互いに独立しています。** タイムラインとUBAはケースデータベースを直接読み取ります。どちらも相関実行を必要としません。相関エンジンは*追加の*レイヤーであり、前提条件ではありません。 |
| ③ → ④ | **ダイナミックリンクはタイムラインおよびUBAと並んで配置されます** — ケースデータベースを読み取る4つ目の独立したリーダーです(タイムラインの可視化とは何の関係もありません)。IDマッピング(SID → ユーザー名、MAC → ネットワーク、ハッシュ/GUID → アプリ)をケースごとの `Crow_Intelligence.db` に収集し、そのコンテキストを非破壊的な `ATTACH` + `LEFT JOIN` によって**アーティファクトデータテーブル内にインラインで**重ね合わせます。これによりレコードの*読み方*が変わるだけで、証跡が変わることはありません。 |
| ④ → ⑤ | Eyeはケースデータベースを直接照会し、相関結果を**オンデマンド**で取得できます。それ自体は証跡に一切触れず、Crow-Eyeが実行して記録するツールコールを発行するだけです。 |
| ⑤ → Report | **Living ReportはEye単独で構築され**、`report_*` ツールを通じて行われます。タイムラインとUBAは分析サーフェスであり、レポートには書き込みません。ケースレベルの調査結果は、[検索とエクスポート](#-search--export) を介して個別にエクスポートすることもできます。 |
| ⑤ ↔ | **ナラティブマップは双方向です。** Eyeが書き込み、あなたも書き込み、その内容は毎ターンEyeのプロンプトに注入されます。それはメモリであり、あなたはそれを指示できます。 |
| ⑤ ⟳ | **コンプライアンスページはEyeを監査します。** Eyeが行うすべてのツールコールは**EvidenceSeal**ハッシュチェーンに固定され、ページはそのチェーンと `EYE_Logs/` から検証したルールごとのライブな**GEP**ステータス(10原則)を表示し、`audit_trail.json` としてエクスポートできます。 |
**独立したステージ。** タイムラインとUBAはケースアーティファクトデータベースを**直接**読み取ります。どちらも相関実行を必要とせず、タイムラインも相関エンジンには依存しません(独自の軽量な時間的グループ化を適用します)。相関は追加の分析レイヤーであり、その結果はEyeが照会できます。
**設計上読み取り専用。** パース処理はケースデータベースに書き込みます。後続のすべてのステージ(UBA、タイムライン、相関ビューア、Eye)はそれらのデータベースを**読み取り専用**で開きます。元の証跡が変更されることは決してありません。[ダイナミックリンク](#-analysis-modes) はケースデータベースを読み取って、IDマッピングのケースごとの `Crow_Intelligence.db` を構築し、行を書き換えるのではなく、非破壊的な `ATTACH` + `LEFT JOIN` クエリでアーティファクトデータテーブルをインラインで強化します。
**設計上ガバナンスされています。** Eyeが行うすべてのアクションは、改ざん検知可能な**EvidenceSeal**ハッシュチェーンに固定され、**コンプライアンス**ページはEyeを [Ghassan Elsman Protocol (GEP)](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md) に照らして継続的に検証します。ルールごとのライブなステータスが表示され、`EYE_Logs/audit_trail.json` にエクスポートできます。
## 📥 ダウンロードとインストール
> **推奨:** 公式ウェブサイトからパッケージ版のWindowsビルド(**MSIインストーラー / EXE**)を入手してください。Pythonのセットアップは不要で、すぐにそのまま動作します。
### ▶️ [Windows版Crow-Eyeをダウンロード → crow-eye.com/download](https://crow-eye.com/download)
**インストール版のMSI/EXEビルドはCrow-Eyeを実行する推奨方法であり**、またアップデートの**最優先事項**です:
- 🛡️ **最速の修正。** 問題やバグが報告されたら、**できるだけ早く**更新版EXEをリリースします。パッケージ版ビルドが最初に修正を受け取る場所です。
- 🔄 **内蔵の自動アップデート。** インストール済みアプリで**設定 → 更新**を開き、**更新を確認して自動でインストール**できます。手動での再インストールは不要です。
- 📦 **ゼロセットアップ。** Python、Node、依存関係のインストールは不要です。
> ソースから実行したい場合は? 以下の**[クイックスタート](#-quick-start)**を参照してください。ソースからのビルドはコントリビューター向けであり、**自動アップデーターは含まれません**。自動更新にはMSI/EXEを使用してください。
## 🚀 クイックスタート
### オプションA — インストール版(推奨)
[crow-eye.com/download](https://crow-eye.com/download) から**MSI/EXE**をダウンロードし、インストールして、**Crow-Eye**を管理者として起動してください。ケースを作成して分析を開始します。
### オプションB — ソースから実行(開発者向け)
> コントリビューターおよび上級ユーザー向けです。この方法には**自動アップデーターは含まれません**。自動更新にはMSI/EXEを使用してください。
**要件**(初回実行時に自動インストールされます):
- Python 3.12.4
- **Node.js & npm** — **タイムライン可視化**に必要
- 主要パッケージ:PyQt5、python-registry、pywin32、pandas、streamlit、altair、olefile、windowsprefetch、sqlite3、colorama、setuptools
**推奨ハードウェア**
| | 最小構成 | 大規模ケース向け推奨 |
|---|---|---|
| **RAM** | 8 GB | 16 GB以上(数百万レコードのMFT/USNセット) |
| **ディスク** | 空き5 GB | 解析対象の証跡のサイズの2倍以上の空き容量 |
| **CPU** | 4コア | 8コア以上 |
| **OS** | Windows 10/11(フル)・Linux(オフラインおよびイメージ分析) | — |
> 相関処理は非常に大きなデータセットに対しても一定のメモリでストリーミングされるため、RAMがボトルネックになることはほとんどありません。通常、ボトルネックになるのはディスクのスループットと空き容量です。
**起動**(Crow-Eyeがシステムアーティファクトにアクセスできるように管理者として実行):```bash
python "Crow Eye.py"
メインインターフェイスを開き、ケースを作成すると、すべての解析出力はそのケースディレクトリ配下に整理され、後日のレビューやレポート作成に備えられます。
🖥️ クロスプラットフォームに関する注意: Linuxでは、ライブパーサーが自動的に無効化され、Crow-Eyeはオフライン / フォレンジックイメージモードで実行されます。完全なライブ取得はWindowsのみでサポートされています。
Crow-Eyeは、ライブシステムとオフラインソース(収集したフォルダまたはフォレンジックイメージ)の両方から、Windowsの実行、ファイルシステム、ユーザーアクティビティに関する幅広いアーティファクトを解析します。
Jump Lists & LNKは、Crow-Eye独自の専用設計のLNK / ジャンプリストパーサーによって解析されます。サードパーティ製モジュールではありません。
カスタムレジストリ / ロックされたファイル: Windowsは動作中、ライブのレジストリハイブ(
NTUSER.DAT、SOFTWARE、SYSTEM)をロックします。ライブシステムのカスタム解析を行うには、外部メディア(WinPE/Live CD)から起動するか、フォレンジック取得ツールを使用するか、ディスクイメージを解析してください。
CrowEye/Artifacts Collectors/Target Artifacts(またはケースの registry/ フォルダ)にコピーします:
NTUSER.DAT(C:\Users\<Username>\NTUSER.DAT から)SOFTWARE(C:\Windows\System32\config\SOFTWARE から)SYSTEM(C:\Windows\System32\config\SYSTEM から)C:\Windows\Prefetch を解析し、実行履歴とフォレンジックメタデータ(実行ごとのタイムスタンプを含む)を抽出します。$RECYCLE.BIN を解析して、削除されたファイル名、元のパス、削除日時、サイズを復元します(ライブシステムとディスクイメージ)。Crow-Clawは、ライブシステムまたはマウントされたイメージからアーティファクトを収集・保全するための、Crow-Eyeの専用取得エンジンです。
ターゲットへのライブ接続なしで、あらゆるソースから収集されたアーティファクトを解析します。3つの明確な操作があります:
live_acquisition フォルダに物理的にコピーします。解析は、Crow-Eyeの専用オフラインパーサーが処理します。ライブモードと同じアーティファクトロジックを収集されたファイルに対して適用します: Prefetch、Registry、MFT、USN(MFT/USNコリレーターを含む)、AmCache、ShimCache、SRUM、Event Logs、LNK/JumpLists、Recycle Bin。
生のアーティファクトに加えて、Crow-Eyeはサードパーティのフォレンジック出力をそのままケースに取り込むことができます — Plaso、Autopsy、Volatility、または任意のカスタムエクスポート — そして、事前の相関実行を必要とせずに、Eyeとタイムラインで利用可能にします。
ケースデータベースマネージャーはケースツリー配下のすべての .db を自動検出するため、インポートされた証拠はすぐに以下で利用可能になります:
imported アーティファクトタイプとして提供され、タイムウィンドウのフィルタリングと時間範囲が機能します。インポーターは標準ライブラリのみ(sqlite3 / csv / json)で構成され、バックグラウンドワーカーで実行されるため、大規模なインポートでもUIをブロックしません。
実行中のWindowsシステムからアーティファクトを直接解析し、標準ロケーションから自動抽出してリアルタイムのフォレンジック解析を行います。
すべての調査はケースです。アーティファクトデータベースと解析出力を整理する自己完結型のディレクトリです。Crow-Eyeは最近のケースを追跡し(お気に入り、タグ、ステータス付き)、開くときにケースを検証し、設定をアトミックに書き込み(クラッシュセーフ)、ケース設定のインポート/エクスポートと、既製のセマンティックマッピングを備えたテンプレートをサポートします。
統合された時間グリッド上でアーティファクト間のイベントを相関させます。ヒートマップ、週、日のビューを備え、フラットなスーパータイムラインではなく、アイデンティティで結び付けられた、法廷で追跡可能なストーリーを提供します。
タイムラインはケースの解析済みアーティファクトデータベースを直接読み取り、Correlation Engineから独立しています — 使用するためにfeatherを構築したり、Wingを作成したり、パイプラインを実行したりする必要はありません。独自の軽量な時間グループ化(正確なタイムスタンプとタイムウィンドウの相関、アプリケーション/パス/ユーザーによるグループ化)を適用して、グリッド上のイベントを関連付けます。Import Evidenceを通じて取り込まれた証拠も、imported アーティファクトタイプとしてタイムラインに表示され、タイムウィンドウのフィルタリングと時間範囲が機能します。
ケースデータベース全体の全文検索に加え、CSV(スプレッドシート)、JSON(他のツールとの統合)、詳細なHTMLレポート(検索語に関連するすべてのアーティファクトをまとめた完全な調査ファイル)へのエクスポートを提供します。
SID、MACアドレス、ハッシュなどの生の技術的識別子を、その場で人間が読めるコンテキストに変換します。動的リンキングは非破壊的なSQL ATTACH クエリを使用してビューを拡張するため、元の証拠が変更されることはありません。また、バルクのIOC脅威フィードを取り込んで、既知の悪性インジケータをインラインでフラグ付けできます。
生のアーティファクトを、平易な英語のアクティビティストーリーに変換します。ユーザーとそのアプリケーションが実際に何を行ったかを、マネージャー/人事担当者にも読みやすい形で説明し、すべての記述は正確なソース証拠まで追跡可能です。
ユーザー行動分析(UBA)は、ケースの Target_Artifacts/ フォルダにある解析済みアーティファクトデータベースを(厳密に読み取り専用で)読み取り、宣言型ルールセットを通じて再生し、明確で時系列順の**アクティビティストーリー(Activity Story)を生成します。ツールバーの 「User Behavior」 ボタン、またはCtrl+Shift+B**キーから開きます(ケースがロードされている必要があります)。
uba/config/behavior_rules.json)— コードを書かずに調整可能 — 各検知は重大度で分類されます: routine · notable · suspicious · critical。runas)、アカウントとグループの変更、サービスの変更、システムクロックの改ざん(suspicious)、イベントログの消去(critical)。database : table : rowid)が開きます。ソースなしに主張されることはありません。40の検知は、4つの重大度クラスと、解析されたアーティファクトセットの全範囲を網羅しています:
フィルター: フリーテキスト検索 · ユーザー/アクター(「Unattributed」とサインインセッショントグルを含む) · 行動クラス(user / application / system) · 重大度 · アプリケーション(200以上のプログラムにわたる検索可能なマルチセレクト) · クイックプリセット付きの日時範囲(全期間 / 初日 / 最終日 / アクティビティの最終1時間)。
データソース: Security、System、Applicationの各イベントログ · USN Journal · MFT · UserAssist · BAM · Prefetch · ShimCache · AmCache · MUICache · ShellBags · LNK / JumpLists · Recycle Bin · SRUM(アプリケーション、ネットワーク、接続) · レジストリハイブ。
database → table → rowid を保持し、必要に応じて実際のソース行を開きます。<user> のセッション中」)としてのみ使用され、アクションの属性推定には使用されません。UBAは、統計/MLによる異常スコアリングではなく、ルール駆動の行動相関と分類です。すべての検出結果は、明示的で監査可能なルールに対応付けられます。完全な検知カタログについては
RELEASE_NOTES.mdを参照してください。
Correlation Engine v1.7.0 — 再構築の中核。リリース履歴については RELEASE_NOTES.md を参照してください。
Crow-Eye Correlation Engineは、本番グレードのフォレンジック相関システムです。あらゆるソースからWindowsアーティファクトを取り込み、正規化し、時間的およびアイデンティティ上の関係を浮き彫りにします。これにより、孤立したレコードが、システムで何が起こったのか、いつ、誰が関与したのかという一貫した物語に変わります。最も一般的な調査の質問に対する組み込みの相関ルール(Wing)をすぐに使用でき、アナリストはコードに触れずにカスタムルールを作成でき、意味の解釈は作成可能なルールと調査担当者に委ねられ、ブラックボックスのスコアに委ねられることは決してありません。
ユニバーサルデータインポート: 相関エンジンは、あらゆるフォレンジックツールのCSV、JSON、SQLite形式の出力を取り込み、Featherデータベースに変換できます。つまり、サードパーティツール(Plaso、Autopsy、Volatilityなど)のデータをCrow-Eyeのネイティブアーティファクトと相関させ、すべてのフォレンジックデータソースにわたる統合された相関分析を作成できます。
以前の信頼性向上作業の上に重ねられた、精度に焦点を当てたパスです。実際の約70万レコードのWindowsケースに対してエンドツーエンドで検証されています。以下のすべての修正はpytest回帰テストスイートによって固定され、両エンジンに対して7つのデフォルトWingすべてを実行する総合的な検証ハーネスによって検証されています。
アイデンティティエンジンがすべての証拠を捕捉します
TypeErrorを発生させ、行ごとのループが中断されていました)。検証ケースでは、処理されたレコード数が3,558 → 745,615に増加しました。User、ComputerName、NewProcessName、TargetUserName)を優先します。artifact列をスタンプしないため、アーティファクト対応のフィールドマッピングが機能していませんでした。 エンジンは現在 feather_metadata.artifact_type にフォールバックするため、SecurityLogs / SystemLogs / ApplicationLogsはアーティファクト固有のアイデンティティ優先順位を使用します。'N/A'、'Unknown'、'-'、nil-GUIDが無関係なレコードをまとめていました)。バリデーターは現在、30以上のプレースホルダバリアントを拒否します。「すべてがLow — 何かがおかしい」はもう終わり
Highとタグ付けされていました。 feather_count == 1 のマッチは現在 confidence_category="Low - single feather" を取得するため、Highビューは実際のクロスfeather相関に焦点を当てます。chrome は10以上のキーを持ち、決して相関しませんでした)。キーは現在名前のみになり、クロスfeather相関が再び機能します。パス分類によるなりすまし検出 — マッチが形成された後、エンジンは各レコードのパスをTRUSTED(Program Files、System32、WinSxS、BAM/SRUMの /device/harddiskvolumeN/... 形式など)またはSUSPICIOUS(Temp、Downloads、Public、AppData\Local\Temp、Recycle Bin、リムーバブルルート、ネットワーク共有)に分類します。両方の分類にまたがるマッチは impersonation_alert を発生させます(約0.05%の割合で、それぞれが実際の候補です)。
正直な証拠の会計処理 — 名前付きバケット(no_identity_field、normalize_failure、below_threshold_skipped など)を持つウィンドウごとのドロップ台帳に加え、パイプラインごとのサマリー(処理されたレコード数、High/Lowの出力数、アイデンティティなし、ドロップバケット、timeless-feather結合)を提供します。すべてのレコードはマッチまたは名前付きドロップバケットのいずれかに格納されるため、「残った証拠がない」ことをログから検証できます。low_confidence_review_mode はデフォルトでONのため、閾値未満のグループは静かに消えるのではなく、Low信頼度マッチになります。
Timeless-featherのアイデンティティ強化 — 行ごとのタイムスタンプを持たないfeather(AutoStartPrograms、MUICache、SystemServices、TypedPaths)には、各行に偽の生成時刻がスタンプされなくなりました。代わりに、時間指定のマッチが形成された後、エンジンはすべてのtimeless featherから一致するレコードをアイデンティティごとに補足証拠として結合します。
統合アイデンティティレジストリ — config/standard_fields/identities.json は、エンジンとEyeが参照すべきすべての列の単一の情報源です: 98カテゴリ、1,146の列シノニム(アプリ/プロセス、ファイル、ハッシュ、ユーザー、ホスト/デバイス、ネットワーク、レジストリ、サービス/タスク、イベント、メール、ブラウザ、クラウド、Windows内部、証明書、コンテナ、OSオブジェクト)。新しい列シノニムの追加は、コード変更ではなくJSONの編集です。
セマンティックマッピングの誤検知修正 — マルチインジケータのゲーティングが実際に強制されるようになりました(data-exfiltration-pattern は≥2のインジケータを要求)。不可能なANDルール(4625 AND 4624)はORとして書き直されました。wiper/リモートツールルールは、すべてのPrefetchエントリで発火する代わりに実際の正規表現を使用します。ベースラインアクティビティルールは high/critical から info/low に格下げされました(wingの重み付けスコアリングが実際の脅威を増幅します)。
相関エンジンは本番対応であり、調査で積極的に使用されています(Correlation Engine v1.7.0):- ✅ タイムウィンドウスキャンエンジン — 本番対応、時間ベースの分析に推奨(O(N log N))
Chrome.exe/chrome.dll/Chrome.EXE などのバリアントは1つのバケットにまとまり、バージョンやアーキテクチャの修飾子は区別されたまま。YYYYMMDD、米国式スラッシュ、注釈付き文字列をすべて初回で正しく解析。run_times)を展開し、各実行が独自の相関イベントを取得。config/standard_fields/*.json、テーブルごとのメタデータは correlation_engine/config/feather_schemas.json — コードではなくJSONの編集で拡張。query_time_range_iter、ロック保護されたfeatherキャッシュ、並列相関に対応。相関エンジンは4つの主要コンポーネントで構成されています:
目的:生のフォレンジックアーティファクトを標準化されたクエリ可能な形式に変換します。
Examples:
**対応しているインポート形式:** CSV(ヘッダー付きの任意のファイル)、JSON(フラットまたはネスト)、SQLite(直接インポート)。自動カラムマッピング、データ型の検出、ISO形式へのタイムスタンプ正規化、検証、および最適化されたインデックス。```
prefetch.db (Feather)
├── feather_metadata (artifact type, source, record count)
├── prefetch_data (executable_name, path, last_executed, hash)
└── Indexes (timestamp, name, path)
目的: どのアーティファクトを相関させるか、そしてその方法を定義する。
#### 3. ⚙️ エンジン(相関戦略)
**目的**: アーティファクト間の関係を見つけるための相関ロジックを実行します。構造的なリンクが**最初**に来ます。その上にティア重み付けスコアが*解釈/ランキング*として重ねられますが、マッチの基準にはなりません。
**タイムウィンドウスキャンエンジン** — 時間ベースの分析と体系的な時間的相関に最適です。固定間隔で時間をスキャンし、ウィンドウごとに全featherからレコードを収集し、セマンティックフィールドマッチング+重み付けスコアリングを適用し、MatchSetトラッキングによって重複を防ぎます。**O(N log N)**(インデックス化されたタイムスタンプクエリ)。バッチ処理(約2,567ウィンドウ/秒)。
**アイデンティティベース相関エンジン** — 大規模データセット(1,000レコード超)とアイデンティティ追跡に最適です。アイデンティティを抽出・正規化し、アイデンティティごとにレコードをグループ化し、各クラスター内に時間的アンカーを構築し、証拠を一次/二次/補助に分類し、非常に大きなセット(5,000アンカー超)では一定メモリでストリーミング処理します。**O(N log N)**。タイプごとに40以上のアイデンティティフィールドパターン。
**エンジン選択**: 時間ベースの分析にはタイムウィンドウエンジンを、アイデンティティ追跡にはアイデンティティベースエンジンを使用してください。どちらも本番対応で、インデックス化されたクエリにより大規模データセット向けに最適化されています。
#### 4. 🔄 パイプライン(ワークフローオーケストレーション)
**目的**: feather作成から結果生成までの完全な分析ワークフローを自動化します。パイプラインは設定(エンジンタイプ、wings、feathers)を読み取り、EngineSelectorを介して適切なエンジンをインスタンス化し、各wingを実行し、マッチを集約し、結果(DB+JSON)を保存し、フィルタリングと可視化を備えたGUIで表示します。```json
{
"pipeline_name": "Investigation Pipeline",
"engine_type": "identity_based",
"wings": [{"wing_id": "execution-proof"}, {"wing_id": "file-access"}],
"feathers": [
{"feather_id": "prefetch", "database_path": "data/prefetch.db"},
{"feather_id": "srum", "database_path": "data/srum.db"},
{"feather_id": "eventlogs", "database_path": "data/eventlogs.db"}
],
"filters": {
"time_period_start": "2024-01-01T00:00:00",
"time_period_end": "2024-12-31T23:59:59"
}
}
### 使用例: 実行証跡の検出
**シナリオ**: システム上で `malware.exe` が実行されたことを証明する。```json
{
"wing_id": "malware-execution",
"correlation_rules": { "time_window_minutes": 5, "minimum_matches": 2 },
"feathers": ["prefetch", "shimcache", "amcache"]
}
The input text for chunk 18 is missing. Please provide the Markdown content to translate.```python from correlation_engine.pipeline import PipelineExecutor executor = PipelineExecutor(pipeline_config) results = executor.execute()
```| STIX | ✅ | ✅ | ✅ (転送中) \n✅ (保存中) | 🟡 | 🟡 | ✅ | 🟡 |
| OpenIOC | ✅ | ✅ | ✅ (転送中) \n✅ (保存中) | ✅ | 🟡 (制限付き) | ✅ | ✅ |
| VirusTotal | ✅ | ✅ | ✅ (転送中) \n✅ (保存中) | ✅ | ✅ | ✅ | ✅ |
| Splunk | 🟡 | 🟡 | 🟡 (Splunkアプリなし) | ✅ | ✅ | 🟡 (モジュールなし) | 🟡 (モジュールなし) |
| FreshDesk | ✅ (変換なし) | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
### モジュールパス
- `frontend`: `$HOME/.shuffle`
- `backend`: `/var/lib/shuffle/`
- `Orborus`: `/var/lib/shuffle/`
## さらに詳しく
[<img src="https://shuffler.io/images/Shuffle-favicon-white-bg.png">](https://shuffler.io?utm_source=gh&utm_medium=repo) **shuffler.ioでオープンソースSOARについて詳しく学ぶ**``````
Identity: malware.exe
Anchor 1 (2024-01-15 10:30:00):
✓ Prefetch: malware.exe executed at 10:30:00
✓ ShimCache: malware.exe modified at 10:30:15
✓ AmCache: malware.exe installed at 10:29:45
Conclusion: Execution proven with 3 corroborating artifacts
| レコード数 | タイムウィンドウエンジン |
|---|
python -m correlation_engine.main強力なアシスタントであり、代替品ではありません。 Eyeは調査担当者の仮説を自動化し、検証します — 最終判断を下すことは決してありません。
EyeはCrow-Eyeに組み込まれたフォレンジックAIアシスタントであり、Windowsアーティファクトの実知識ベースに支えられた熟練のフォレンジック調査担当者です。ケース内のすべて(Prefetch、MFT、Registry、Event Logs、AmCache、ShimCache、SRUMなど)を照会、相関、文書化するための自然言語インターフェースを提供し、実行内容の監査可能で改ざん防止された記録を保持します。Eyeは、Crow-Eyeの**「デバイス外に送信されるデータは0ms」**というプライバシーポリシーに従い、自分のハードウェアだけで(完全にエアギャップされた環境でも)実行できます。完全なアーキテクチャ: eye/README.md。
Eyeは、会話形式の質問(「22:00以降にC:\Tempから実行されたものを表示して」)を実際のフォレンジック作業に変換します。アプローチを計画し、関連するアーティファクト知識を取得し、ケースデータベースに対してSQLとクロスアーティファクト検索を実行し、検証済みの回答を合成します。すべての回答は同時に2つの場所で生成されます — あなたへのチャット返信と、リビングレポートワークスペースに書き込まれる構造化ブロックです。調査が進むにつれて資料が自動的に構築されます。
Eyeが行うすべては、Ghassan Elsmanプロトコル(GEP) に基づいています。これは、デジタルフォレンジックでAIをどのように使用すべきかに関するベンダー中立でツール非依存の標準です。適合するシステムが守らなければならない10の原則であり、AI支援による調査結果が真実で、ソースレコードにトレーサブルで、監査可能かつ改ざん防止されたチェーンによって裏付けられ、人間の調査担当者が制御を保持することを保証します:
Crow-EyeのEyeはGEPのリファレンス実装です。これを支えるプロダクト内の動作はオペレーティングルールです。📜 標準を読む: eye/docs/GEP_standard.md。
Eyeは3つのデプロイモードであなたの脅威モデルに適応します:
CLIエージェントモードでは、Crow-EyeはクラウドAPIやローカルのオフラインサーバーの代わりに、既存のAIターミナル/コマンドラインエージェントをモデルとして駆動します — つまり、既に使っているエージェントで調査できます。
調査ループ:
switch_modelツールで実行時にモデルを変更できます。切り替えは同じバックエンドに制限されているため、証拠が選択したプロバイダーとは異なるプロバイダーに黙って送信されることはありません。
Eyeは、どのように結論に達したかを確認でき、後で証明できるように構築されています。Eyeが作業する間、構造化されたThinkingStepアップデートがUIにリアルタイムでストリーミングされます。各ステップにはstep_id、type、人間が読めるlabel、status(active → done、またはerror)、およびオプションのtool/params/detailが含まれます。
| ステップタイプ | 表示される内容 |
|---|---|
thinking | Eyeの計画 — フォレンジック意図の検出、システムプロンプトの構築、次のアクションの決定。 |
rag | Eyeが知識ベースからアーティファクト知識を取得して回答を裏付け。 |
典型的なクエリはthinking → rag → thinking → tool_call → synthesisとして展開され、すべてのケースは後で検査できるディスク上のトレースアーティファクトを保持します:
| ファイル | 記録される内容 |
|---|---|
<case>/EYE_Logs/eye_payload_seal.jsonl | モデルに送信された正確なペイロード(ハッシュチェーン)。 |
<case>/EYE_Logs/truncation_audit.log | 保持、要約、破棄、または固定されたコンテキストとその理由。 |
<case>/case_history.json | メッセージごとのトークン数を含む完全な会話履歴。 |
Eyeはツール駆動型です。モデルが証拠に直接触れることはありません。モデルはツール呼び出しを発行し、Eyeがケースのデータベースに対して実行して結果を返します — これにより、すべてのアクションが明示的で、ログ記録され、再現可能になります。ツールはconfigs/llm_config.jsonで定義され、eye/services/context_manager.pyを通じてディスパッチされます。
調査ツール — 証拠の読み取りと分析:
レポートツールはリビングレポートワークスペースを構築します: report_append_section、report_add_data_table、report_add_chart、report_add_timeline、report_add_heatmap、report_add_chain_of_custody、report_add_chat_transcript、report_add_image、report_edit_section、report_delete_section、chat_add_table、export_report(エクスポートには人間の承認が必要)。
オーサリングツール(ガバナンス対象 — 相関Wingsとセマンティックマッピングの構築を参照): correlation_create_wing、correlation_edit_wing、correlation_create_semantic_mapping、correlation_edit_semantic_mapping。ツール呼び出しは、アクティブなバックエンドが期待する形式に変換されます — クラウドAPIとローカルサーバーではネイティブのファンクションコーリング、CLIエージェントではXMLの<tool_call>ラッパーです。
Eyeは相関エンジンを照会するだけでなく、その拡張を支援できます。Eyeが繰り返し発生するクロスアーティファクトパターンを検出すると、新しいWings(相関ルール)とセマンティックマッピング(技術から人間への翻訳)を提案できます。これはガバナンスされたオーサリングです。Eyeが提案し、アナリストが保存されたアーティファクトをレビューし、すべての変更が正当化され証拠に裏付けられています。
Wing は、タイムウィンドウと最小マッチ閾値内でfeathersを結び付け、主張を証明します:
セマンティックマッピング は、生の技術値を人間が読める意味に変換します(例: EventID 4624 → 「Successful Logon(正常なログオン)」)。単純なmapping(単一の値 / 正規表現 → セマンティック値)または複数条件のrule(AND/ORで結合された条件)の2つの形式があります。どちらもcategory、severity、confidence、scopeをサポートし、reason + related_evidenceが必要です。
ガバナンス — GEPを支える書き込み側ルール:
reasonを含める必要があります。database:table:rowid参照を引用する必要があります。長時間の調査はモデルのコンテキストウィンドウを超える可能性があります — 特に小規模なオフラインモデルでは顕著です。クラッシュしたり証拠を黙って破棄したりする代わりに、Eyeは各モデル呼び出しの前に自身のコンテキストを自動圧縮します(ガードされた生成パス内で、完全に監査されます)。
各呼び出しの前に、Eyeは完全なペイロードを測定し、返信用のスペースを確保します(ウィンドウの10%、最小512トークン、半分を超えることはありません)。それでも収まらない場合、2つの順序付けられたパスで修復し、保護されたメッセージ(固定、自動検出された証拠、またはツール結果)には決して触れません:
SUMMARIZEDとしてログ記録されます。TRUNCATEDとしてログ記録されます。削減不可能な証拠コア(固定 + ツール結果 + 現在の質問)がそれでもオーバーフローする場合、Eyeは証拠を切り詰める代わりに処理を拒否し(REFUSED_OVERFLOW)、クエリを絞り込むかanalyze_large_datasetを使用するように求めます。最終的にモデルに送信されるものは、証拠保管チェーンのためにシールされる正確なペイロードです。
Eyeはターン間でステートレスです — そのため、ナラティブマップがケースの「わかっていることと結論付けたこと」を保持する場所です。これはEyeの永続的で、監査可能で、改ざん防止された作業メモリであり、その内容は毎ターンEyeのプロンプトに注入されます(マップは文字通りメモリそのものです)。
proven · open · negative · needs · absolute)、その下のアーティファクトに裏付けられたEvidence(証拠)。narrative_map_audit.jsonl)にシールされます。主張と証拠を追加、編集、削除でき、Eyeがケースを理解して解釈する方法を直接形作れます。openのままになることはありますが、証拠なしでprovenになることは決してありません。Eyeが確認したが空だったテーマは自動的に**negative**に変換されます — 文書化された不在自体が調査結果だからです。コンプライアンスは後付けの機能ではありません — パイプライン内で強制されます。
database:table:rowid、MFTレコードの計算オフセットを含む)。シールは追記専用かつハッシュチェーンされて<case>/EYE_Logs/eye_payload_seal.jsonlに保存されます — 1つのレコードが変更または削除されるとチェーンが壊れるため、ログはモデルが分析したバイトを数学的に証明します。<case>/EYE_Logs/truncation_audit.logにログ記録されます(SUMMARIZED、TRUNCATED、PRESERVED、PINNED、UNPINNED、BUDGET_REDUCED)。それぞれにハッシュが付きます。検出された証拠は信頼度閾値を超えると自動的に固定され、メッセージを手動で固定することもできます。reasonとを含める必要があります。Eyeの外部で作成されたルールは読み取り専用であり、黙って書き換えることはできません。📖 Eyeの完全なアーキテクチャ: eye/README.md。
歴史的に、調査担当者は基盤となるアーティファクトがどのように動作するか、またはツールがそれらをどのように解析したかを理解せずにフォレンジックツールを信頼するという罠に陥っていました。今日のリスクは、単に*「ツール」を「AI」*に置き換えることです。AIは完全な技術的精度でレコードを解析できても、それを誤ったコンテキストに配置する可能性があります — 証拠の意味全体が変わってしまいます。
Eye-Describe は、人間もモデルも推測する必要がないように存在します。これはWindowsアーティファクトの生のバイナリ構造のためのインタラクティブなバイトレベルリファレンスであり、同時に2つの役割を果たします:
| 役割 | 機能 |
|---|---|
| 🧑🏫 人間のための設計図 | Windowsアーティファクトの深いバイトレベルの構造に関するインタラクティブな教育リファレンス — 各構造が何であるか、どのように動作するか、何を証明できて何を証明できないか。無料で使用でき、出力カラムではなく証拠そのものを理解したい学生、教育者、実務者を対象としています。 |
| ⚖️ AIのためのコンプライアンスアンカー | Eyeの可視性はEye-Describeに文書化されたアーティファクトの動作に拘束されます。モデルは独自にセマンティクスを推測するのではなく、アーティファクトが実際に意味するものに関するハードコードされたリファレンスに照らして推論します。 |
AIレイヤーを文書化されたアーティファクトの動作に固定することで、Crow-Eyeはモデルを信頼するよう求めているのではなく、モデルが生のフォレンジックスを尊重するように制約しているのです。
ツールへの信頼をAIへの信頼に置き換えないでください。データを理解してください。
フォレンジックツールは、その出力が防御可能であって初めて有用です。Crow-Eyeの正確性への取り組みは意図的に可視化されています:
RELEASE_NOTES.mdで公開されています — 修正によって確認されたレコード数が桁違いに変化したケースも含まれます。何がいつ間違っていたかを知ることが、結果を防御可能にする要素の1つです。verify_chain()は、ナラティブマップの監査ログとEvidence Sealチェーンを再ウォークして、人間が読めるフィールドの改ざんも含む変更を検出します。Crow-Eye のインターフェースと分析ビューの一部です。






計画中および進行中の作業 (リリース済みの変更については RELEASE_NOTES.md を参照):
アイデアがありますか、またはアーティファクトを追加したいですか? Issue を開く か、Contributing を参照してください。
Crow-Eye はオープンリサーチプラットフォームとして構築されており、新しいパーサー、相関ルール、ドキュメント、アーティファクト研究など、コントリビューションを歓迎します。
Crow-Eye は GNU General Public License v3.0 (GPL-3.0) の下でリリースされています。このライセンスの条件の下で、自由に使用、学習、共有、改変できます。
学術研究、発表済みの研究、またはケースレポートで Crow-Eye を使用する場合は、次のように引用してください:```bibtex @software{elsman_crow_eye, author = {Elsman, Ghassan}, title = {Crow-Eye: A Windows Forensics Engine}, url = {https://github.com/Ghassan-elsman/Crow-Eye}, license = {GPL-3.0}, year = {2026} }
プレーンテキスト:Elsman, G. *Crow-Eye: Windowsフォレンジックスエンジン* (GPL-3.0). https://github.com/Ghassan-elsman/Crow-Eye
方法論の引用については、Ghassan Elsmanプロトコルは[`eye/docs/GEP_standard.md`](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md)に別途文書化されています。
## 💖 サポート
Crow-Eyeは無料のオープンソースであり、一人の開発者によって構築・保守されています。お役に立てたなら、スポンサーへの登録をご検討ください。スポンサー資金は、新しいパーサーと研究に直接充てられます:**[SPONSORS.md](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/SPONSORS.md)** · **[GitHub Sponsors](https://github.com/sponsors/Ghassan-elsman)**。
## クレジット
**Ghassan Elsman** によって作成・保守されています。
| あなたは | 典型的な入力 | 始める場所 |
|---|
| 企業IR / MSSP / MDR | Velociraptor、KAPE、またはEDRネイティブコレクションからのターゲット収集 | オフラインインポーター → 相関エンジン → UBA |
| 法執行機関 / フォレンジックラボ | チェーンオブカストディ要件を伴う完全なフォレンジックイメージ(E01、VHDX、VMDK、Raw) | イメージ分析 → 相関エンジン → ナラティブマップ |
| 内部セキュリティ / インサイダー脅威&人事調査 | ライブシステムまたは収集されたアーティファクト | ライブ分析 → UBA アクティビティストーリー |
| 学生、教育者、研究者 | サンプルイメージとラボデータ | Eye-Describe → クイックスタート |
| サブシステム | 機能 | ステージ |
|---|
| Crow-Claw | ライブシステムとデッドボックスイメージの高速取得。 | 取得 |
| オフラインインポーター | 任意のソースからアーティファクトをSCAN → COLLECT → PARSEしてケースデータベースに取り込みます。 | 取得 |
| 相関エンジン | Feathers・Wings・Engines・Pipelinesによるデュアルエンジン(Identity + Time-Window)再構築。 | 分析 |
| インタラクティブタイムライン | ケースデータベースから直接読み取る、IDスレッド化された法廷追跡可能なタイムライン(ヒートマップ / 週 / 日ビュー)。 | 検証 |
| ユーザー行動分析(UBA) | ルール駆動の平易な英語による「このユーザーは何をしたか」アクティビティストーリー。 | インテリジェンス |
| Eye — AIアシスタント | 自然言語調査+シールされたナラティブマップケースメモリ。 | AI |
| ストレージフォレンジック | 物理ディスク&パーティション分析(隠し/未マウント検出、ブート警告)。 | 分析 |
| アーティファクト | ライブ | オフライン | 抽出データ |
|---|
| Prefetch | ✅ | ✅ | 実行履歴、実行回数、実行ごとのタイムスタンプ |
| Registry (AutoRun, UserAssist, BAM, ShimCache, networks, time zone) | ✅ | ✅ | 永続化、プログラム使用状況、バックグラウンドアクティビティ、ネットワーク構成 |
| Amcache | ✅ | ✅ | アプリの実行、インストール日時、SHA-1、ファイルパス |
| ShimCache | ✅ | ✅ | 実行されたアプリ、最終変更日時、サイズ |
| MUICache | ✅ | ✅ | プログラムの存在と表示名 |
| Jump Lists & LNK | ✅ | ✅ | ファイルアクセス、パス、タイムスタンプ、メタデータ |
| ShellBags | ✅ | ✅ | フォルダアクセス履歴とナビゲーション |
| MRU & RecentDocs / Typed Paths | ✅ | ✅ | 開く/保存の履歴、最近使用したファイル、入力済みの場所 |
| Browser / Website history | ✅ | ✅ | 訪問したサイトとアクセス時刻 |
| Event Logs (System / Security / Application) | ✅ | ✅ | ログオン、プロセス作成(4688)、アカウントとサービスの変更、ログ消去 |
| MFT | ✅ | ✅ | ファイルメタデータ、削除されたファイル、タイムスタンプ(NTFS、Win 7/10/11) |
| USN Journal | ✅ | ✅ | ファイルの作成/変更/削除/名前変更と完全な名前履歴 |
| Recycle Bin | ✅ | ✅ | 削除されたファイル名、パス、削除日時、サイズ |
| SRUM | ✅ | ✅ | アプリのリソース/ネットワーク/エネルギー使用量、アプリごとの転送データ量 |
| USB & connected devices | ✅ | ✅ | デバイスの接続と存在 |
| Network list & connections | ✅ | ✅ | 既知のネットワークと接続アクティビティ |
| AutoStart / Services & Drivers | ✅ | ✅ | 永続化、サービスのインストールと状態変更 |
| Disks & Partitions (Storage Forensics) | ✅ | ✅ | 物理ディスクツリー、パーティションレイアウト、隠し/未マウントの検出 |
| 🔍 SCAN | 📦 COLLECT |
|---|
| 動作 | 検出 — 元の場所にあるアーティファクトを特定します | 取得 — アーティファクトをケースフォルダにコピーして保全します |
| I/Oへの影響 | 読み取り専用。ファイルは移動されません | 読み取り+書き込み。アーティファクトを物理的に複製します |
| 整理 | .artifact_scan_index.json メタデータを更新します | ファイルをタイプ別フォルダに整理します |
| ユースケース | ソースに関連データがあるかを確認する高速トリアージ | 長期的な分析のための完全なフォレンジック保全 |
| 入力 | 動作 |
|---|
.db / .sqlite | 検証され、ケースの Imported_Evidence/ フォルダにそのままコピーされます。スキーマは変更されません。 |
.csv / .json | 正規の FeatherWriter を介して、feather形式のSQLiteデータベースに自動変換されます。テーブルのプライマリタイムスタンプを宣言する feather_metadata が付与され、タイムスタンプは列名から自動検出されます。ネイティブに収集されたfeatherとまったく同じです。 |
| カテゴリ | 検知内容 |
|---|
| アイデンティティとアクセス | サインイン/サインアウト、ワークステーションのロック解除、リモートデスクトップログオン、管理者ログオン、明示的な資格情報の使用(runas)、アカウントの作成と変更、管理者グループへの追加 |
| 実行 | 開かれたプログラム(UserAssist)、実行されたプログラム(Prefetch、実行ごとのイベントに展開)、プロセス作成(4688)、プログラムの存在(ShimCache / AmCache / MUICache)、アプリケーションのインストール、アプリケーションのクラッシュ(Applicationイベントログの1001レコードから) |
| ファイルアクティビティ | ファイルのオープン/作成/削除/コピー/名前変更 — 名前変更では、USNジャーナルから再構築された完全な名前履歴(old → … → current)と、ソフト削除($R/$I)の解決が表示されます |
| ナビゲーション | フォルダの閲覧(ShellBags)、最近使ったドキュメント、入力済みの場所、ウェブサイトへの訪問 |
| デバイスとネットワーク | USBデバイスの接続、デバイスの存在、ネットワーク共有、ネットワーク接続、アプリごとの転送データ量(SRUM) |
| 永続化とシステム | 自動起動の永続化(Runキー+サービス。ターゲットがユーザー書き込み可能なパスから実行される場合は深刻度が上がります)、サービスとドライバのインストール、サービス状態の変更、システムの起動/シャットダウン、クロック変更、イベントログの消去 |
| アイデンティティベースエンジン |
|---|
| 1,000 | 0.5s | 2s |
| 10,000 | 5s | 15s |
| 100,000 | 50s | 2.5分(ストリーミング) |
| 1,000,000 | — | 25分(ストリーミング) |
| 機能 | あなたにとっての意味 |
|---|
| 自然言語による調査 | 平易な英語で質問するだけ。EyeがSQLを作成し、検索を実行します。 |
| マルチソース統合 | ケース内のすべての解析済みアーティファクトへの統合アクセス。 |
| RAG強化分析 | Eyeは回答前にアーティファクト固有のフォレンジック知識を取得します。 |
| リビングレポートワークスペース | 調査結果、テーブル、チャート、タイムラインがリアルタイムで文書化されます。 |
| ヒューマン・イン・ザ・ループ | 重要なアクション(例: レポートのエクスポート)には明示的な承認が必要です。 |
| 証拠保管チェーン | モデルが分析した内容の暗号学的証明。 |
| # | 原則 | 一言で |
|---|
| GEP-1 | 証拠優先 | 結論は実際に検査したアーティファクトからのみ導かれます。 |
| GEP-2 | トレーサビリティ | すべての事実は特定のソースレコードにリンクしています。 |
| GEP-3 | 具体性と時系列 | 正確なUTCタイムスタンプ、識別子、パスを時系列で並べます。 |
| GEP-4 | 相互裏付け | 複数のソースに基づき、一致、沈黙、矛盾を報告します。 |
| GEP-5 | 前提の検証 | 人間の主張を、証明または反駁すべき仮説として扱います。 |
| GEP-6 | 完全性 | 証拠を黙って破棄または切り詰めることは決してしません。 |
| GEP-7 | 完全性と否認防止 | 証拠を変更せず、見たことと行ったことを改ざん防止的に記録します。 |
| GEP-8 | 透明性と説明可能性 | 推論、使用ツール、参照データが可視化され、監査可能です。 |
| GEP-9 | 人間の権限 | 調査担当者が決定し、永続的なアクションは帰属可能です。 |
| GEP-10 | 防御可能性 | 出力は客観的、正確で、独立したレビューのために構造化されています。 |
| モード | 最適な用途 | バックエンド |
|---|
| ☁️ クラウドAIモデル | 最大の計算リソースによる深く複雑な分析 | OpenAI, Anthropic (Claude), Google Gemini |
| 🔒 オフラインAIサーバー(エアギャップ) | 露呈ゼロのオンプレミス調査 | Ollama, LM Studio |
| ⚡ CLIターミナルエージェント | 既に持っているAIターミナルエージェントをモデルとして再利用 | Claude Code, Gemini CLI, ChatGPT CLI, llama.cpp, … |
tool_call | Eyeがフォレンジックツールを実行(SQLクエリ、検索、相関ルックアップ)。 |
synthesis | Eyeが最終的な証拠に裏付けられた回答を検証して組み立て。 |
| ツール | 目的 |
|---|
query_database | フォレンジックデータベースに対してSELECTを実行。 |
search_artifacts | データベース横断のテキスト / 正規表現検索。 |
semantic_search_artifacts | 解析済みアーティファクト全体のセマンティック検索。 |
get_schema | テーブルスキーマの検査。 |
query_correlation_results | 相関エンジンの出力を時間 / アイデンティティで照会。 |
correlate_imported_evidence | ケースにインポートされた第三者証拠をネイティブアーティファクトと相関。 |
analyze_large_dataset | 大きな結果セットのMap-reduce分析 — 黙った切り詰めはありません。 |
list_case_files | ケースディレクトリ内のファイルを一覧表示。 |
internet_search / fetch_web_content | 外部の脅威 / 技術コンテキストの検索と取得。 |
query_living_off_the_land_intel | LOLBAS / LOLDriversのルックアップ。 |
query_threat_intel | VirusTotal / 脅威インテリジェンスのルックアップ。 |
switch_model | 実行時にモデルを変更(同じバックエンドのみ)。 |
| フィールド | 意味 |
|---|
wing_name | ルールの人間が読める名前。 |
proves | サポートするフォレンジック主張(例: プログラム実行)。 |
feathers[] | 相関するアーティファクト — それぞれにartifact_type、オプションのweight(0–1)とtier(1–4)。 |
time_window_minutes | 相関ウィンドウ(デフォルト180 = 3時間)。 |
minimum_matches | ウィンドウ内でマッチしなければならないfeathersの数(デフォルト1)。 |
reason (必須) | ルールのフォレンジック上の正当性。 |
related_evidence (必須) | 動機となった1つ以上のdatabase:table:rowid参照。 |
related_evidence