
Криминалистический движок Windows с открытым исходным кодом, который выполняет сбор, разбор и корреляцию артефактов (MFT, USN, реестр и т. д.) для восстановления таймлайнов с помощью анализа на основе ИИ и опечатывания доказательств судебного уровня.
Криминалистическая машина времени для Windows.
Crow-Eye не просто обнаруживает — он реконструирует, что именно произошло на временной шкале: от сбора данных до вердикта, прослеживаемого до исходных записей.
Crow-Eye — это движок криминалистики Windows с открытым исходным кодом (GPL-3.0), объединяющий сбор данных, анализ, проверку, разведку и ИИ. Большинство инструментов безопасности спрашивают «это вредоносно?» и вычёркивают всё, что выглядит легитимным. Crow-Eye задаёт другой вопрос: «что произошло?» Он коррелирует всю активность — подозрительную или нет — и реконструирует фактическую последовательность событий в системе, чтобы истина расследования восстанавливалась из улик, а не угадывалась по оповещениям.
Именно такой подход — реконструкция в первую очередь — необходим для охоты на APT и угрозы уровня национальных государств: изощрённые противники живут внутри легитимных инструментов (powershell.exe, PsExec, certutil) и в последовательности действий, что невидимо для инструментов, отбрасывающих всё, что выглядит нормально. Поскольку Crow-Eye ничего не отбрасывает и рассуждает на основе артефактов исполнения (которые переживают подчистку логов и антикриминалистику), атака не может спрятаться. Этот же движок остаётся доступным для повседневной работы по DFIR и для неспециалистов, которые просто хотят узнать, что произошло на компьютере.
Crow-Eye используется в самых разных рабочих процессах. Каждый из них входит в движок через свою дверь:
Работает с любым коллектором. Crow-Eye не требует собственного инструмента сбора. Укажите офлайн-импортёру папку с сырыми артефактами, созданными Velociraptor, KAPE, пакетом сбора EDR или любым другим коллектором, — он индексирует поддерживаемые артефакты и запускает по ним офлайн-парсеры. Отдельно выходные данные Plaso, Autopsy, Volatility или любого другого инструмента можно импортировать в виде CSV, JSON или SQLite через Import Evidence и коррелировать наряду с собственными артефактами.
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
*Источник доказательств → Приём данных → Базы данных дела → Анализ → ИИ-слой → Отчёт*
**Как это читать:**
| Этап | Что важно |
|---|---|
| ① → ② | **Четыре независимых входа в дело.** Вам никогда не понадобится собственный сборщик Crow-Eye — папка от Velociraptor, KAPE или EDR-пакета проходит через Offline Importer, а сторонние CSV/JSON/SQLite — через Import Evidence. |
| ② → ③ | Всё сходится в одном месте: **базы данных дела**. Разобранные артефакты попадают в `Target_Artifacts/`; импортированные сторонние доказательства попадают в `Imported_Evidence/` и автоматически обнаруживаются. |
| ③ → ④ | **Три пути анализа независимы друг от друга.** Timeline и UBA читают базы данных дела напрямую — ни один не требует запуска корреляции. Correlation Engine — это *дополнительный* слой, а не обязательное условие. |
| ③ → ④ | **Dynamic Linking находится рядом с Timeline и UBA** — четвёртый независимый читатель баз данных дела (он не имеет отношения к визуализации Timeline). Он собирает сопоставления идентификаторов (SID → имя пользователя, MAC → сеть, hash/GUID → приложение) в `Crow_Intelligence.db` для дела, а затем накладывает этот контекст **прямо в таблицы данных артефактов** через неразрушающие `ATTACH` + `LEFT JOIN`. Он меняет то, как записи *читаются*, но никогда не меняет доказательства. |
| ④ → ⑤ | Eye напрямую запрашивает базы данных дела и может получать результаты корреляции **по требованию**. Он никогда не касается самих доказательств — он генерирует вызовы инструментов, которые Crow-Eye выполняет и регистрирует. |
| ⑤ → Report | **Living Report создаётся только Eye**, через его инструменты `report_*`. Timeline и UBA — это аналитические поверхности; они не пишут в отчёт. Выводы по делу по-прежнему можно экспортировать отдельно через [Search & Export](#-search--export). |
| ⑤ ↔ | **Narrative Map двунаправлен**: Eye пишет в него, вы пишете в него, и его содержимое каждый ход внедряется в промпт Eye. Это память, и вы можете им управлять. |
| ⑤ ⟳ | **Страница Compliance проверяет Eye.** Каждый вызов инструмента, который делает Eye, привязан к защищённой от вмешательства хэш-цепочке **EvidenceSeal**; страница отображает в реальном времени статус **GEP** по каждому правилу (10 принципов), проверенный по этой цепочке и `EYE_Logs/`, с возможностью экспорта в `audit_trail.json`. |
**Независимые этапы.** Timeline и UBA читают базы данных артефактов дела **напрямую** — ни один не требует запуска корреляции, и Timeline не зависит от Correlation Engine (он применяет собственную облегчённую временную группировку). Correlation — это дополнительный слой анализа, результаты которого Eye может запрашивать.
**Только для чтения по замыслу.** Парсинг записывает в базу данных дела; все последующие этапы (UBA, Timeline, просмотрщики корреляции, Eye) открывают эти базы **только для чтения**. Исходные доказательства никогда не изменяются — [Dynamic Linking](#-analysis-modes) читает базы данных дела, чтобы построить `Crow_Intelligence.db` с сопоставлениями идентификаторов для дела, и обогащает таблицы данных артефактов на месте с помощью неразрушающих запросов `ATTACH` + `LEFT JOIN`, а не перезаписи строк.
**Управление по замыслу.** Каждое действие Eye привязано к защищённой от несанкционированного вмешательства хэш-цепочке **EvidenceSeal**, а страница **Compliance** непрерывно проверяет 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, работает из коробки.
### ▶️ [Скачать Crow-Eye для Windows → crow-eye.com/download](https://crow-eye.com/download)
**Установленная сборка MSI/EXE — рекомендуемый способ запуска Crow-Eye**, и она является нашим **главным приоритетом для обновлений**:
- 🛡️ **Самые быстрые исправления.** Когда обнаруживается проблема или сообщается об ошибке, мы выпускаем обновлённый EXE **как можно скорее** — исправления в первую очередь попадают в готовую сборку.
- 🔄 **Встроенное автоматическое обновление.** В установленном приложении откройте **Настройки → Обновления**, чтобы **проверить наличие обновлений и установить их автоматически** — без ручной переустановки.
- 📦 **Никакой настройки.** Не требуется установка Python, Node или зависимостей.
> Предпочитаете запускать из исходников? Смотрите **[Быстрый старт](#-quick-start)** ниже. Сборка из исходного кода предназначена для контрибьюторов и **не включает автообновление** — для автоматических обновлений используйте MSI/EXE.
## 🚀 Быстрый старт
### Вариант А — Установленная сборка (рекомендуется)
Скачайте **MSI/EXE** с [crow-eye.com/download](https://crow-eye.com/download), установите и запустите **Crow-Eye** от имени администратора. Создайте дело и начните анализ.
### Вариант Б — Запуск из исходников (для разработчиков)
> Для контрибьюторов и продвинутых пользователей. Этот путь **не включает автообновление** — для автоматических обновлений используйте MSI/EXE.
**Требования** (устанавливаются автоматически при первом запуске):
- Python 3.12.4
- **Node.js и npm** — требуются для **визуализации Timeline**
- Ключевые пакеты: PyQt5, python-registry, pywin32, pandas, streamlit, altair, olefile, windowsprefetch, sqlite3, colorama, setuptools
**Рекомендуемое оборудование**
| | Минимум | Рекомендуется для больших дел |
|---|---|---|
| **ОЗУ** | 8 ГБ | 16 ГБ+ (наборы MFT/USN из миллионов записей) |
| **Диск** | 5 ГБ свободно | Свободное место ≥ 2× размера разбираемых доказательств |
| **Процессор** | 4 ядра | 8+ ядер |
| **ОС** | Windows 10/11 (полная) · Linux (автономный режим и анализ образов) | — |
> Корреляция обрабатывает очень большие наборы данных потоково с постоянным использованием памяти, поэтому ОЗУ редко является жёстким ограничением — обычно это пропускная способность диска и свободное место.
**Запуск** (запускайте от имени администратора, чтобы Crow-Eye мог получать доступ к системным артефактам):```bash
python "Crow Eye.py"
Основной интерфейс открывается, вы создаёте дело (case), и все результаты анализа сохраняются в каталоге этого дела для последующего просмотра и составления отчётов.
🖥️ Примечание о кроссплатформенности: на Linux живые парсеры автоматически отключаются, и Crow-Eye работает в режиме офлайн / криминалистический образ. Полный сбор с живой системы доступен только в Windows.
Crow-Eye анализирует широкий набор артефактов Windows — исполнение, файловая система и активность пользователя — как с живой системы, так и из офлайн-источников (собранные папки или криминалистические образы).
Jump Lists и LNK обрабатываются собственным специализированным парсером LNK / Jump List компании Crow-Eye — а не сторонним модулем.
Пользовательский анализ реестра / заблокированные файлы: Windows блокирует живые кусты реестра (
NTUSER.DAT,SOFTWARE,SYSTEM) во время работы. Для пользовательского анализа живой системы загрузитесь с внешнего носителя (WinPE/Live CD), используйте инструменты криминалистического сбора или проанализируйте образ диска.
CrowEye/Artifacts Collectors/Target Artifacts (или в папку registry/ вашего дела):
NTUSER.DAT из C:\Users\<Username>\NTUSER.DATSOFTWARE из C:\Windows\System32\config\SOFTWARESYSTEM из C:\Windows\System32\config\SYSTEMC:\Windows\Prefetch, извлекая историю запусков и криминалистические метаданные (включая метки времени каждого запуска).Crow-Claw — это специализированный механизм сбора Crow-Eye для сбора и сохранения артефактов с живых систем или подключённых образов.
Анализ артефактов, собранных из любого источника, без живого подключения к целевой системе — три чёткие операции:
live_acquisition дела с сортировкой по типу.Разбор выполняется выделенными офлайн-парсерами Crow-Eye — той же логикой артефактов, что и в живом режиме, но работающей с собранными файлами: Prefetch, реестр, MFT, USN (плюс коррелятор MFT/USN), AmCache, ShimCache, SRUM, журналы событий, LNK/JumpLists и корзина.
Помимо исходных артефактов, Crow-Eye может принимать результаты сторонних криминалистических инструментов напрямую в дело — Plaso, Autopsy, Volatility или любой пользовательский экспорт — и делать их доступными для Eye и Timeline без необходимости предварительного запуска корреляции.
Поскольку менеджер базы данных дела автоматически обнаруживает любые .db в дереве дела, импортированные доказательства сразу становятся доступны для:
imported с работающей фильтрацией по временному окну и границами времени.Импортёр использует только стандартную библиотеку (sqlite3 / csv / json) и работает в фоновом потоке, поэтому большие импорты не блокируют интерфейс.
Анализирует артефакты непосредственно с работающей системы Windows, автоматически извлекая их из стандартных расположений для криминалистического анализа в реальном времени.
Каждое расследование — это дело: автономный каталог, в котором организованы базы данных артефактов и результаты анализа. Crow-Eye отслеживает недавние дела (с избранным, тегами и статусом), проверяет дело при открытии, атомарно записывает конфигурацию (устойчиво к сбоям), поддерживает импорт/экспорт конфигурации дел и шаблоны с готовыми семантическими сопоставлениями.
Сопоставление событий между артефактами на единой временной сетке с представлениями Heat Map, Week и Day — это связанная по идентичностям, прослеживаемая в суде история, а не плоская супер-хронология.
Timeline читает проанализированные базы данных артефактов дела напрямую и не зависит от Correlation Engine — вам не нужно создавать feather, писать wings или запускать пайплайн для её использования. Она применяет собственную лёгкую временную группировку (корреляцию по точным меткам времени и временным окнам, группировку по приложению, пути или пользователю) для связывания событий на сетке. Доказательства, загруженные через Import Evidence, также появляются на таймлайне как тип артефакта imported с работающей фильтрацией по временному окну и границами времени.
Полнотекстовый поиск по базе данных дела, а также экспорт в CSV (электронные таблицы), JSON (интеграция с другими инструментами) и подробные HTML-отчёты (полные досье, объединяющие все артефакты, связанные с поисковым запросом).
Преобразование сырых технических идентификаторов — SID, MAC-адресов, хэшей — в читаемый человеком контекст на лету. Динамические связи обогащают представление с помощью неразрушающих SQL-запросов ATTACH, поэтому исходные доказательства никогда не изменяются, а также могут принимать массовые потоки IOC-индикаторов для инлайн-пометки известных вредоносных индикаторов.
Превращает сырые артефакты в понятную историю активности на простом английском — отчёт для менеджеров/HR о том, что на самом деле делал пользователь и его приложения, причём каждое утверждение прослеживается до точного исходного доказательства.
Аналитика поведения пользователя (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 детекторов охватывают четыре класса серьёзности и весь спектр анализируемого набора артефактов:
Фильтры: полнотекстовый поиск · пользователь/исполнитель (включая «Unattributed» и переключатель сеанса входа) · класс поведения (user / application / system) · серьёзность · приложение (поиск с множественным выбором среди 200+ программ) · диапазон дат и времени с быстрыми пресетами (всё время / первый день / последний день / последний час активности).
Источники данных: Security, System и Application Event Logs · USN Journal · MFT · UserAssist · BAM · Prefetch · ShimCache · AmCache · MUICache · ShellBags · LNK / JumpLists · корзина · SRUM (приложения, сеть, подключения) · кусты реестра.
database → table → rowid и открывает реальные исходные строки по требованию.<user>»), но никогда для атрибуции действия.UBA — это управляемая правилами поведенческая корреляция и классификация, а не статистическое/ML-скоринговое обнаружение аномалий — каждый вывод сопоставляется с явным проверяемым правилом. Полный каталог детектирования см. в
RELEASE_NOTES.md.
Correlation Engine v1.7.0 — ядро реконструкции. История версий: RELEASE_NOTES.md.
Crow-Eye Correlation Engine — это промышленная криминалистическая система корреляции. Она принимает артефакты Windows из любого источника, нормализует их и выявляет временные и идентификационные связи, превращающие отдельные записи в связное повествование о том, что произошло в системе, когда и кто был вовлечён. Работает «из коробки» со встроенными правилами корреляции (Wings) для наиболее распространённых вопросов расследования, позволяет аналитикам создавать собственные правила без изменения кода и оставляет интерпретацию настраиваемым правилам и следователю — а не «чёрному ящику» оценки.
Универсальный импорт данных: Correlation Engine может принимать вывод любого криминалистического инструмента в формате CSV, JSON или SQLite и преобразовывать его в базу данных Feather. Это означает, что вы можете коррелировать данные сторонних инструментов (Plaso, Autopsy, Volatility и т. д.) с нативными артефактами Crow-Eye, создавая единый корреляционный анализ по всем вашим криминалистическим источникам данных.
Целенаправленный проход по повышению точности, проверенный сквозным образом на реальном Windows-деле с ~700K записей, поверх более ранних работ по надёжности. Каждое исправление ниже закреплено регрессионным набором pytest и проверено целостным проверочным стендом, который прогоняет все 7 стандартных wings на обоих движках.
Движок идентичности собирает все доказательства
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, формы /device/harddiskvolumeN/... из BAM/SRUM и т. д.) или SUSPICIOUS (Temp, Downloads, Public, AppData\Local\Temp, корзина, съёмные корни, сетевые ресурсы). Совпадение, охватывающее обе классификации, поднимает impersonation_alert (≈0,05% случаев, каждый — реальный кандидат).
Честный учёт доказательств — подневной журнал отброшенных записей с именованными категориями (no_identity_field, normalize_failure, below_threshold_skipped, …) плюс сводка по каждому пайплайну (записей просмотрено, high/low выдано, без идентичности, категории отбрасывания, соединения timeless-feather). Каждая запись либо попадает в совпадение, либо в именованную категорию отбрасывания — «не осталось неучтённых доказательств» проверяемо по журналу. low_confidence_review_mode включён по умолчанию, поэтому группы ниже порога становятся Low-confidence совпадениями, а не исчезают молча.
Обогащение идентичности timeless-feather — feathers без посекундных меток времени в строках (AutoStartPrograms, MUICache, SystemServices, TypedPaths) больше не получают фиктивную метку времени генерации на каждой строке; вместо этого после формирования таймированных совпадений движок присоединяет по идентичности соответствующие записи из каждого timeless-feather как дополнительные доказательства.
Консолидированный реестр идентичностей — config/standard_fields/identities.json является единственным источником истины для каждой колонки, которую должны учитывать движки и Eye: 98 категорий, 1 146 синонимов колонок (приложение/процесс, файл, хэш, пользователь, хост/устройство, сеть, реестр, служба/задача, событие, email, браузер, облако, внутренности Windows, сертификат, контейнер, объекты ОС). Добавление нового синонима колонки — это правка JSON, а не изменение кода.
Исправления ложных срабатываний семантического сопоставления — проверка нескольких индикаторов теперь действительно применяется (data-exfiltration-pattern требует ≥2 индикаторов); невозможные правила AND (4625 AND 4624) переписаны как OR; правила wiper/remote-tool используют настоящие regex вместо срабатывания на каждой записи Prefetch; правила базовой активности понижены с high/critical до info/low (взвешенный скоринг wing повышает реальные угрозы).
Correlation Engine готов к продакшену и активно используется в расследованиях (Correlation Engine v1.7.0):- ✅ Механизм сканирования по временному окну — готов к продакшену, рекомендуется для анализа по времени (O(N log N))
Chrome.exe/chrome.dll/Chrome.EXE схлопываются в одну корзину; версии и архитектурные квалификаторы остаются различимыми.YYYYMMDD, US-формат с косой чертой и строки с аннотациями — всё корректно разбирается с первого раза.run_times) разворачиваются, чтобы каждое выполнение получало собственное событие корреляции.config/standard_fields/*.json; метаданные для каждой таблицы в correlation_engine/config/feather_schemas.json — расширение редактированием JSON, а не кода.query_time_range_iter; кэши feather под защитой блокировок; готовность к параллельной корреляции.Механизм корреляции состоит из четырёх основных компонентов:
Назначение: Преобразование сырых форензических артефактов в стандартизированный, пригодный для запросов формат.
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. ⚙️ Движки (Стратегии корреляции)
**Назначение**: Выполнение логики корреляции для поиска связей между артефактами. Структурные связи идут **первыми**; оценка с весовыми коэффициентами накладывается сверху как *интерпретация/ранжирование*, а не как основа для сопоставления.
**Движок сканирования по временным окнам** — лучше всего подходит для анализа на основе времени и систематической временной корреляции. Сканирует время фиксированными интервалами, собирает записи из всех перьев за окно, применяет сопоставление семантических полей + взвешенную оценку и предотвращает дубликаты через отслеживание MatchSet. **O(N log N)** (индексированные запросы по времени); пакетная обработка (~2 567 окон/сек).
**Движок корреляции на основе идентичности** — лучше всего подходит для больших наборов данных (>1 000 записей) и отслеживания идентичности. Извлекает и нормализует идентичности, группирует записи по идентичности, строит временные якоря внутри каждого кластера, классифицирует доказательства как первичные/вторичные/поддерживающие и обрабатывает потоки для очень больших наборов (>5 000 якорей) при постоянной памяти. **O(N log N)**; 40+ шаблонов полей идентичности на тип.
**Выбор движка:** используйте движок временных окон для анализа на основе времени и движок на основе идентичности для отслеживания идентичности — оба готовы к продакшену и оптимизированы для больших наборов данных с индексированными запросами.
#### 4. 🔄 Конвейеры (Оркестрация рабочих процессов)
**Назначение**: Автоматизация полных аналитических рабочих процессов от создания перьев до генерации результатов. Конвейер читает свою конфигурацию (тип движка, крылья, перья), создаёт нужный движок через EngineSelector, выполняет каждое крыло, агрегирует совпадения, сохраняет результаты (БД + 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"]
}
No input content was provided after "INPUT:" — there is no text to translate. Please supply chunk 18 of 25.```python from correlation_engine.pipeline import PipelineExecutor executor = PipelineExecutor(pipeline_config) results = executor.execute()
The INPUT section is empty — no chunk content was provided to translate. Please supply the Markdown text for chunk 20 of 25.```
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: опытный криминалистический исследователь, опирающийся на реальную базу знаний об артефактах Windows. Он предоставляет интерфейс на естественном языке для запросов, корреляции и документирования всего в рамках дела — Prefetch, MFT, реестр, журналы событий, AmCache, ShimCache, SRUM и многое другое — сохраняя при этом аудируемый, защищённый от вмешательства журнал того, что именно он сделал. Eye может работать полностью на вашем собственном оборудовании (включая полностью изолированную от внешних сетей среду), в соответствии с позицией Crow-Eye по конфиденциальности: «0 мс данных, отправляемых за пределы устройства». Полная архитектура: eye/README.md.
Eye превращает разговорные вопросы («покажи, что запускалось из C:\Temp после 22:00») в реальную криминалистическую работу: он планирует подход, извлекает релевантные знания об артефактах, выполняет SQL-запросы и межартефактный поиск по базам данных дела и синтезирует проверенный ответ. Каждый ответ создаётся сразу в двух местах — ответ в чате для вас и структурированный блок, записываемый в рабочее пространство живого отчёта, так что досье собирается само по мере хода расследования.
Всё, что делает Eye, опирается на протокол Гассана Элсмана (GEP) — не зависящий от вендора и инструментов стандарт того, как любой ИИ должен использоваться в цифровой криминалистике. Это 10 принципов, которым должна следовать соответствующая система, чтобы результаты, полученные с помощью ИИ, оставались достоверными, прослеживаемыми до исходных записей и подкреплёнными аудируемой цепочкой с защитой от вмешательства, при этом человек-исследователь сохраняет контроль:
Eye из Crow-Eye — это эталонная реализация GEP; поведение внутри продукта, обеспечивающее его соблюдение, — это рабочие правила. 📜 Прочтите стандарт: eye/docs/GEP_standard.md.
Eye адаптируется к вашей модели угроз с помощью трёх режимов развёртывания:
В режиме CLI-агента Crow-Eye использует существующий ИИ-агент терминала/командной строки в качестве модели — вместо облачного API или локального автономного сервера, — так что вы можете вести расследование с агентом, которым уже пользуетесь.
Цикл расследования:
Вы можете менять модель во время работы с помощью инструмента switch_model. Переключение ограничено тем же бэкендом, поэтому улики никогда незаметно не отправляются иному провайдеру, кроме выбранного вами.
Eye устроен так, чтобы вы могли видеть — и впоследствии доказать — как он пришёл к выводу. Пока Eye работает, он в реальном времени передаёт в интерфейс структурированные обновления ThinkingStep; каждый шаг содержит step_id, type, читаемую человеком label, status (active → done или error) и опциональные tool/params/detail.
| Тип шага | Что вы видите |
|---|---|
Типичный запрос разворачивается как thinking → rag → thinking → tool_call → synthesis, и по каждому делу на диске сохраняются trace-артефакты, которые можно изучить впоследствии:
| Файл | Что он фиксирует |
|---|---|
<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 и локальных серверов или XML-обёртка <tool_call> для CLI-агентов.
Eye не просто выполняет запросы к механизму корреляции — он может помочь расширить его. Когда Eye замечает повторяющийся межартефактный шаблон, он может предложить новые Wings (правила корреляции) и семантические сопоставления (перевод с технического языка на человеческий). Это управляемое авторство: Eye предлагает, аналитик проверяет сохранённый артефакт, и каждое изменение обосновано и подкреплено уликами.
Wing связывает feathers друг с другом в пределах временного окна и порога минимального совпадения, чтобы подтвердить утверждение:
Семантическое сопоставление переводит сырое техническое значение в понятный человеку смысл (например, EventID 4624 → «Успешный вход»). Оно бывает двух видов: простое mapping (одно значение/regex → семантическое значение) или многокомпонентное rule (условия, объединённые через AND/OR). Оба поддерживают category, severity, confidence и scope, и оба требуют reason + related_evidence.
Управление — правила на стороне записи, обеспечивающие соблюдение GEP:
reason.database:table:rowid.Длительные расследования могут превысить окно контекста модели — особенно у небольших автономных моделей. Вместо сбоя или молчаливого отбрасывания улик Eye автоматически уплотняет свой контекст перед каждым вызовом модели (внутри защищённого пути генерации, полностью фиксируемого аудитом).
Перед каждым вызовом Eye измеряет полную полезную нагрузку и резервирует место для ответа (10% окна, минимум 512 токенов, но никогда не более половины). Если это всё равно не помещается, он восстанавливается двумя последовательными проходами, никогда не затрагивая защищённые сообщения (закреплённые, автоматически обнаруженные улики или результат инструмента):
SUMMARIZED.TRUNCATED.Если неприводимое ядро улик (закреплённые + результаты инструментов + текущий вопрос) всё равно переполняется, Eye отказывается продолжать, а не усекает улики (REFUSED_OVERFLOW) и просит вас сузить запрос или использовать analyze_large_dataset. То, что в итоге отправляется модели, — это точная полезная нагрузка, которая запечатывается для цепочки хранения улик.
Eye не сохраняет состояние между ходами — поэтому Narrative Map — это место, где для дела хранится «что мы знаем и к каким выводам пришли». Это постоянная, аудируемая, защищённая от вмешательства рабочая память Eye, и её содержимое внедряется в промпт Eye на каждом ходу (карта буквально и есть память).
proven · open · negative · needs · absolute), а под ними — подкреплённые артефактами Улики.narrative_map_audit.jsonl). Вы можете добавлять, изменять и удалять его утверждения и улики, напрямую формируя то, как Eye понимает и интерпретирует дело.open без улик, пока идёт расследование, но без улик он никогда не может стать proven; тема, проверенная Eye и оказавшаяся пустой, автоматически переводится в negative — потому что документально зафиксированное отсутствие само по себе является находкой.Соответствие требованиям — это не прикрученная сверху функция: оно обеспечивается в самом конвейере.
database:table:rowid, а также вычисленные смещения для записей MFT). Печати записываются в <case>/EYE_Logs/eye_payload_seal.jsonl в режиме append-only и со сцеплением хешей — одна изменённая или удалённая запись разрывает цепочку, поэтому журнал математически доказывает, какие байты анализировала модель.<case>/EYE_Logs/truncation_audit.log (SUMMARIZED, TRUNCATED, PRESERVED, PINNED, UNPINNED, BUDGET_REDUCED), каждое со своим хешем. Обнаруженные улики автоматически закрепляются выше порога уверенности; вы также можете закреплять сообщения вручную.📖 Полная архитектура Eye: eye/README.md.
Исторически исследователи попадали в ловушку, доверяя своим криминалистическим инструментам, не понимая, как ведут себя базовые артефакты или как инструмент их разобрал. Сегодняшний риск — это простая замена «инструмента» на «ИИ». ИИ может разобрать запись с идеальной технической точностью и всё равно поместить её в неправильный контекст — изменив весь смысл улики.
Eye-Describe существует, чтобы ни человеку, ни модели не приходилось гадать. Это интерактивный справочник по сырым двоичным структурам артефактов Windows на уровне байтов, и он выполняет сразу две роли:
| Роль | Что она делает |
|---|---|
| 🧑🏫 План-схема для человека | Интерактивный образовательный справочник по глубокой анатомии артефактов Windows на уровне байтов — что представляет собой каждая структура, как она себя ведёт, что может и чего не может доказать. Бесплатен в использовании, ориентирован на студентов, преподавателей и практиков, которые хотят понимать улики, а не колонку результатов. |
Привязывая ИИ-слой к задокументированному поведению артефактов, Crow-Eye не просит вас доверять модели — он ограничивает модель, заставляя её уважать сырую криминалистику.
Не заменяйте доверие к инструменту доверием к ИИ. Понимайте данные.
Криминалистический инструментарий полезен только тогда, когда его результаты можно защитить. Работа Crow-Eye над корректностью намеренно открыта:
RELEASE_NOTES.md — включая случаи, когда исправление меняло число учтённых записей на порядки. Знание того, что и когда было неправильно, — часть того, что делает результат защищаемым.verify_chain() заново проходит по аудит-журналу Narrative Map и цепочке Evidence Seal, чтобы обнаружить изменения — в том числе в читаемых человеком полях.Подборка интерфейса и аналитических представлений Crow-Eye.






Запланированные и текущие работы (см. RELEASE_NOTES.md о выпущенных изменениях):
Есть идея или хотите добавить артефакт? Откройте issue или см. раздел Участие.
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) с требованиями цепочки хранения | Анализ образов → Механизм корреляции → Карта повествования |
| Внутренняя безопасность / расследования инсайдерских угроз и HR | Живые системы или собранные артефакты | Живой анализ → история действий UBA |
| Студенты, преподаватели и исследователи | Образцы образов и лабораторные данные | Eye-Describe → Быстрый старт |
| Подсистема | Что делает | Этап |
|---|
| Crow-Claw | Высокоскоростной сбор живых систем и образов выключенных машин. | Сбор |
| Офлайн-импортёр | SCAN → COLLECT → PARSE артефактов из любого источника в базу данных дела. | Сбор |
| Механизм корреляции | Двухдвижковая реконструкция (Identity + Time-Window) через Feathers · Wings · Engines · Pipelines. | Анализ |
| Интерактивная временная шкала | Прослеживаемая до суда временная шкала с привязкой к идентичности (Heat Map / Week / Day), читается прямо из баз данных дела. | Проверка |
| Аналитика поведения пользователей (UBA) | Управляемая правилами история действий «что делал этот пользователь» на простом английском. | Разведка |
| Eye — ИИ-ассистент | Расследование на естественном языке + опечатанная Карта повествования (Narrative Map) — память дела. | ИИ |
| Криминалистика хранилищ | Анализ физических дисков и разделов (обнаружение скрытых/непримонтированных разделов, предупреждения о загрузке). | Анализ |
| Артефакт | Live | Offline | Извлекаемые данные |
|---|
| Prefetch | ✅ | ✅ | История запусков, количество запусков, метки времени каждого запуска |
| Реестр (AutoRun, UserAssist, BAM, ShimCache, сети, часовой пояс) | ✅ | ✅ | Персистентность, использование программ, фоновая активность, сетевая конфигурация |
| Amcache | ✅ | ✅ | Запуск приложений, время установки, SHA-1, пути к файлам |
| ShimCache | ✅ | ✅ | Запускавшиеся приложения, время последнего изменения, размер |
| MUICache | ✅ | ✅ | Наличие программ и их отображаемые имена |
| Jump Lists и LNK | ✅ | ✅ | Доступ к файлам, пути, метки времени, метаданные |
| ShellBags | ✅ | ✅ | История доступа к папкам и навигация по ним |
| MRU и RecentDocs / Typed Paths | ✅ | ✅ | История открытия/сохранения, недавние файлы, введённые вручную пути |
| История браузера / посещённых сайтов | ✅ | ✅ | Посещённые сайты и время доступа |
| Журналы событий (System / Security / Application) | ✅ | ✅ | Входы в систему, создание процессов (4688), изменения учётных записей и служб, очистка журналов |
| MFT | ✅ | ✅ | Метаданные файлов, удалённые файлы, метки времени (NTFS, Win 7/10/11) |
| USN Journal | ✅ | ✅ | Создание/изменение/удаление/переименование файлов с полной историей имён |
| Корзина | ✅ | ✅ | Имена удалённых файлов, пути, время удаления, размер |
| SRUM | ✅ | ✅ | Использование ресурсов/сети/энергии приложениями, объём переданных данных по каждому приложению |
| USB и подключённые устройства | ✅ | ✅ | Подключение и наличие устройств |
| Список сетей и подключения | ✅ | ✅ | Известные сети и активность подключений |
| Автозапуск / службы и драйверы | ✅ | ✅ | Персистентность, установка служб и изменение их состояния |
| Диски и разделы (криминалистика хранилищ) | ✅ | ✅ | Дерево физических дисков, структура разделов, обнаружение скрытых/неподключённых разделов |
$RECYCLE.BIN для восстановления имён удалённых файлов, исходных путей, времени удаления и размеров (живые системы и образы дисков).| 🔍 SCAN | 📦 COLLECT |
|---|
| Действие | Обнаружение — находит артефакты в их исходном расположении | Сбор — копирует и сохраняет артефакты в папке дела |
| Влияние на ввод/вывод | Только чтение; файлы не перемещаются | Чтение + запись; физически дублирует артефакты |
| Организация | Обновляет метаданные .artifact_scan_index.json | Сортирует файлы по папкам с учётом типа |
| Сценарий использования | Быстрая триаж для проверки наличия релевантных данных в источнике | Полное криминалистическое сохранение для долгосрочного анализа |
| Входные данные | Что происходит |
|---|
.db / .sqlite | Проверяются и копируются как есть в папку Imported_Evidence/ дела. Схема не изменяется. |
.csv / .json | Автоматически преобразуются в SQLite-базу данных в формате feather через канонический FeatherWriter, с метаданными feather_metadata, объявляющими основную метку времени таблицы — автоматически определяемую по именам столбцов — точно так же, как для нативно собранного feather. |
| Категория | Детекторы включают |
|---|
| Идентичность и доступ | Вход / выход, разблокировка рабочей станции, входы через удалённый рабочий стол, входы администратора, использование явных учётных данных (runas), создание учётных записей и их изменения, добавление в группу администраторов |
| Выполнение | Открытие программ (UserAssist), запуск программ (Prefetch, расширенный до событий каждого запуска), создание процессов (4688), наличие программ (ShimCache / AmCache / MUICache), установка приложений, сбои приложений (из записей 1001 Application Event Log) |
| Действия с файлами | Открытие / создание / удаление / копирование / переименование файлов — при переименованиях показывается полная история имён (старое → … → текущее), восстановленная из USN Journal, с разрешением мягкого удаления ($R/$I) |
| Навигация | Просмотр папок (ShellBags), недавние документы, введённые вручную пути, посещения веб-сайтов |
| Устройства и сеть | Подключение USB-устройств, наличие устройств, сетевые ресурсы, сетевые подключения, объём переданных данных по приложению (SRUM) |
| Персистентность и система | Автозапуск (ключи Run + службы, с повышением серьёзности, если цель запускается из пути, доступного для записи пользователю), установка служб и драйверов, изменение состояния служб, запуск/остановка системы, изменение часов, очистка журналов событий |
| Записей | Механизм временных окон | Механизм на основе идентичности |
|---|
| 1,000 | 0.5s | 2s |
| 10,000 | 5s | 15s |
| 100,000 | 50s | 2.5 min (потоковый режим) |
| 1,000,000 | — | 25 min (потоковый режим) |
| Возможность | Что это значит для вас |
|---|
| Расследование на естественном языке | Спрашивайте простым английским; 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 | Защищаемость | Результаты объективны, точны и структурированы для независимой проверки. |
| Режим | Оптимально для | Бэкенды |
|---|
| ☁️ Облачные ИИ-модели | Глубокий, сложный анализ с максимальными вычислительными ресурсами | OpenAI, Anthropic (Claude), Google Gemini |
| 🔒 Автономный ИИ-сервер (изолированный от сети) | Расследования с нулевым риском утечки, on-premise | Ollama, LM Studio |
| ⚡ CLI-агенты в терминале | Использование уже имеющегося у вас ИИ-агента терминала в качестве модели | Claude Code, Gemini CLI, ChatGPT CLI, llama.cpp, … |
thinking| Планирование Eye — определение криминалистического намерения, формирование системного промпта, выбор следующих шагов. |
rag | Eye извлекает знания об артефактах из своей базы знаний, чтобы обосновать ответ. |
tool_call | Eye выполняет криминалистический инструмент (SQL-запрос, поиск, корреляционный запрос). |
synthesis | Eye проверяет и собирает итоговый ответ, подкреплённый уликами. |
| Инструмент | Назначение |
|---|
query_database | Выполнить SELECT по криминалистической базе данных. |
search_artifacts | Межбазовый текстовый / regex-поиск. |
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 / threat-intel. |
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 (обязательно) | Одна или несколько ссылок database:table:rowid, послуживших основанием для правила. |
reason и related_evidence; правила, созданные вне Eye, доступны только для чтения и не могут быть молча переписаны.| ⚖️ Якорь соответствия для ИИ | Видимость Eye привязана к задокументированному поведению артефактов в Eye-Describe. Модель рассуждает на основе жёстко заданного справочника о том, что артефакт на самом деле означает, а не выводит семантику самостоятельно. |