
Motor de forense digital para Windows de código aberto que adquire, processa e correlaciona artefatos (MFT, USN, Registry, etc.) para reconstruir linhas do tempo com análise assistida por IA e selagem de evidências com padrão judicial.
Uma máquina do tempo forense para Windows.
Crow-Eye não apenas detecta — ele reconstrói o que realmente aconteceu na linha do tempo, desde a aquisição até um veredito rastreável aos seus registros de origem.
Crow-Eye é um mecanismo de forense Windows de código aberto (GPL-3.0) que unifica aquisição, análise, verificação, inteligência e IA. A maioria das ferramentas de segurança pergunta "isto é ruim?" e descarta o que parece legítimo. Crow-Eye faz uma pergunta diferente: "o que aconteceu?" Ele correlaciona toda a atividade — suspeita ou não — e reconstrói a sequência real de eventos em um sistema, de modo que a verdade de uma investigação seja reconstruída a partir de evidências em vez de adivinhada a partir de alertas.
Esse design centrado em reconstrução é exatamente o que é preciso para caçar ameaças de APT e de estados-nação: adversários sofisticados vivem dentro de ferramentas legítimas (powershell.exe, PsExec, certutil) e na sequência de ações — invisíveis para ferramentas que descartam tudo o que parece normal. Como o Crow-Eye nunca descarta nada e raciocina sobre artefatos de execução (que sobrevivem à adulteração de logs e a técnicas antiforenses), o ataque não pode se esconder. O mesmo mecanismo permanece acessível para o trabalho diário de DFIR e para não especialistas que simplesmente querem saber o que aconteceu em um computador.
O Crow-Eye é usado em fluxos de trabalho muito diferentes. Cada um entra no mecanismo por uma porta diferente:
Qualquer coletor funciona. O Crow-Eye não exige sua própria ferramenta de aquisição. Aponte o Importador Offline para uma pasta de artefatos brutos produzidos por Velociraptor, KAPE, um pacote de coleta de EDR ou qualquer outro coletor — ele indexa os artefatos suportados e executa os parsers offline sobre eles. Separadamente, a saída de Plaso, Autopsy, Volatility ou qualquer outra ferramenta pode ser importada como CSV, JSON ou SQLite via Importar Evidências e correlacionada junto com os artefatos nativos.
O Crow-Eye é construído como um ciclo integrado — cada etapa alimenta a próxima, do disco bruto a um veredito defensável.
O Crow-Eye é um pipeline integrado, não apenas um conjunto de parsers. As evidências fluem em uma única direção, e cada etapa mantém seu vínculo de volta ao registro de origem.```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
*Fonte de evidências → Ingestão → Bancos de dados do caso → Análise → Camada de IA → Relatório*
**Como ler:**
| Etapa | O que importa |
|---|---|
| ① → ② | **Quatro portas independentes para um caso.** Você nunca precisa do coletor próprio do Crow-Eye — uma pasta do Velociraptor, KAPE ou de um pacote de EDR passa pelo Importador Offline, e CSV/JSON/SQLite de terceiros passa por Importar Evidências. |
| ② → ③ | Tudo converge para um único lugar: **os bancos de dados do caso**. Os artefatos analisados vão para `Target_Artifacts/`; as evidências de terceiros importadas vão para `Imported_Evidence/` e são descobertas automaticamente. |
| ③ → ④ | **Os três caminhos de análise são independentes entre si.** A Timeline e a UBA leem os bancos de dados do caso diretamente — nenhuma exige uma execução de correlação. O Mecanismo de Correlação é uma camada *adicional*, não um pré-requisito. |
| ③ → ④ | **O Dynamic Linking fica ao lado da Timeline e da UBA** — um quarto leitor independente dos bancos de dados do caso (não tem nada a ver com a visualização da Timeline). Ele reúne mapeamentos de identidade (SID → nome de usuário, MAC → rede, hash/GUID → aplicativo) em um `Crow_Intelligence.db` por caso e, em seguida, sobrepõe esse contexto **embutido nas tabelas de dados de artefatos** por meio de `ATTACH` + `LEFT JOIN` não destrutivos. Isso muda a forma como os registros *são lidos*, nunca as evidências. |
| ④ → ⑤ | O Eye consulta os bancos de dados do caso diretamente e pode obter resultados de correlação **sob demanda**. Ele nunca toca nas evidências em si — emite chamadas de ferramenta que o Crow-Eye executa e registra. |
| ⑤ → Relatório | O **Relatório Vivo é construído apenas pelo Eye**, por meio de suas ferramentas `report_*`. A Timeline e a UBA são superfícies de análise — elas não escrevem no relatório. As conclusões em nível de caso ainda podem ser exportadas separadamente via [Busca e Exportação](#-search--export). |
| ⑤ ↔ | O **Mapa Narrativo é bidirecional**: o Eye escreve nele, você escreve nele, e seu conteúdo é injetado no prompt do Eye a cada turno. É a memória, e você pode comandá-lo. |
| ⑤ ⟳ | A página de **Conformidade audita o Eye.** Cada chamada de ferramenta que o Eye faz é ancorada na cadeia de hash **EvidenceSeal**; a página renderiza o status **GEP** por regra em tempo real (10 princípios) verificado a partir dessa cadeia e de `EYE_Logs/`, exportável como `audit_trail.json`. |
**Estágios independentes.** A Timeline e a UBA leem os bancos de dados de artefatos do caso **diretamente** — nenhum exige uma execução de correlação, e a Timeline não depende do Mecanismo de Correlação (ela aplica seu próprio agrupamento temporal leve). A correlação é uma camada de análise adicional cujos resultados o Eye pode consultar.
**Somente leitura por design.** O parsing escreve no banco de dados do caso; cada estágio downstream (UBA, Timeline, visualizadores de correlação, Eye) abre esses bancos de dados **somente leitura**. As evidências originais nunca são modificadas — o [Dynamic Linking](#-analysis-modes) lê os bancos de dados do caso para criar um `Crow_Intelligence.db` por caso com mapeamentos de identidade e enriquece as tabelas de dados de artefatos inline por meio de consultas `ATTACH` + `LEFT JOIN` não destrutivas, em vez de reescrever linhas.
**Governado por design.** Cada ação do Eye é ancorada à cadeia de hash **EvidenceSeal** à prova de adulteração, e a página de **Conformidade** verifica continuamente o Eye contra o [Protocolo Ghassan Elsman (GEP)](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md) — status por regra em tempo real, exportável para `EYE_Logs/audit_trail.json`.
## 📥 Download e Instalação
> **Recomendado:** obtenha o pacote de build do Windows (**instalador MSI / EXE**) no site oficial — sem configuração de Python, funciona imediatamente.
### ▶️ [Baixe o Crow-Eye para Windows → crow-eye.com/download](https://crow-eye.com/download)
O **build MSI/EXE instalado é a forma recomendada de executar o Crow-Eye**, e é a nossa **maior prioridade em atualizações**:
- 🛡️ **Correções mais rápidas.** Quando um problema é encontrado ou um bug é relatado, lançamos um EXE atualizado **o mais rápido possível** — o build empacotado é onde as correções chegam primeiro.
- 🔄 **Atualização automática integrada.** No aplicativo instalado, abra **Configurações → Atualizações** para **verificar atualizações e instalá-las automaticamente** — sem reinstalação manual.
- 📦 **Zero configuração.** Nenhuma instalação de Python, Node ou dependências é necessária.
> Prefere executar a partir do código-fonte? Veja **[Início Rápido](#-quick-start)** abaixo. O build a partir do código-fonte é destinado a colaboradores e **não inclui o atualizador automático** — use o MSI/EXE para atualizações automáticas.
## 🚀 Início Rápido
### Opção A — Build instalado (recomendado)
Baixe o **MSI/EXE** de [crow-eye.com/download](https://crow-eye.com/download), instale e abra o **Crow-Eye** como Administrador. Crie um caso e comece a analisar.
### Opção B — Executar a partir do código-fonte (desenvolvedores)
> Para colaboradores e usuários avançados. Este caminho **não inclui o atualizador automático** — use o MSI/EXE para atualizações automáticas.
**Requisitos** (instalados automaticamente na primeira execução):
- Python 3.12.4
- **Node.js e npm** — necessários para a **Visualização da Timeline**
- Pacotes principais: PyQt5, python-registry, pywin32, pandas, streamlit, altair, olefile, windowsprefetch, sqlite3, colorama, setuptools
**Hardware recomendado**
| | Mínimo | Recomendado para casos grandes |
|---|---|---|
| **RAM** | 8 GB | 16 GB+ (conjuntos MFT/USN com milhões de registros) |
| **Disco** | 5 GB livres | Espaço livre ≥ 2× o tamanho das evidências sendo analisadas |
| **CPU** | 4 núcleos | 8+ núcleos |
| **SO** | Windows 10/11 (completo) · Linux (offline e análise de imagem) | — |
> A correlação processa em fluxo com memória constante para conjuntos de dados muito grandes, então a RAM raramente é o limite rígido — taxa de transferência do disco e espaço livre geralmente são.
**Execução** (execute como Administrador para que o Crow-Eye possa acessar artefatos do sistema):```bash
python "Crow Eye.py"
A interface principal abre, você cria um caso e toda a saída de análise é organizada sob o diretório desse caso para revisão e relatórios posteriores.
🖥️ Nota de multiplataforma: no Linux, os parsers ao vivo são desativados automaticamente e o Crow-Eye executa no modo offline / imagem forense. A aquisição ao vivo completa é exclusiva do Windows.
O Crow-Eye analisa um amplo conjunto de artefatos de execução, sistema de arquivos e atividade do usuário do Windows, tanto de um sistema ao vivo quanto de fontes offline (pastas coletadas ou imagens forenses).
Jump Lists e LNK são analisados pelo parser LNK / Jump List dedicado do próprio Crow-Eye — não por um módulo de terceiros.
Registry personalizado / arquivos bloqueados: o Windows bloqueia os hives do registro ao vivo (
NTUSER.DAT,SOFTWARE,SYSTEM) durante a operação. Para análise personalizada de um sistema ao vivo, inicialize a partir de mídia externa (WinPE/Live CD), use ferramentas de aquisição forense ou analise uma imagem de disco.
CrowEye/Artifacts Collectors/Target Artifacts (ou para a pasta registry/ do seu caso):
NTUSER.DAT de C:\Users\<Username>\NTUSER.DATSOFTWARE de C:\Windows\System32\config\SOFTWARESYSTEM de C:\Windows\System32\config\SYSTEMC:\Windows\Prefetch, extraindo histórico de execução e metadados forenses (incluindo timestamps por execução).Crow-Claw é o mecanismo de aquisição especializado do Crow-Eye para coletar e preservar artefatos de sistemas ao vivo ou imagens montadas.
Analise artefatos coletados de qualquer fonte sem conexão ao vivo com o alvo — três operações claras:
live_acquisition do caso, organizados por tipo.A análise é feita pelos parsers offline dedicados do Crow-Eye — a mesma lógica de artefatos do modo ao vivo, operando sobre arquivos coletados: Prefetch, Registry, MFT, USN (além do correlacionador MFT/USN), AmCache, ShimCache, SRUM, Logs de Eventos, LNK/JumpLists e Lixeira.
Além de artefatos brutos, o Crow-Eye pode receber saída forense de terceiros diretamente em um caso — Plaso, Autopsy, Volatility ou qualquer exportação personalizada — e torná-la utilizável pelo Eye e pela Timeline sem exigir uma execução de correlação primeiro.
Como o gerenciador de banco de dados do caso descobre automaticamente qualquer .db na árvore do caso, as evidências importadas ficam imediatamente disponíveis para:
imported, com filtragem por janela de tempo e limites de tempo funcionais.O importador usa apenas a biblioteca padrão (sqlite3 / csv / json) e é executado em um worker em segundo plano, para que importações grandes não bloqueiem a interface.
Analisa artefatos diretamente do sistema Windows em execução, extraindo automaticamente de seus locais padrão para análise forense em tempo real.
Toda investigação é um caso: um diretório autocontido que organiza bancos de dados de artefatos e a saída da análise. O Crow-Eye acompanha casos recentes (com favoritos, tags e status), valida um caso ao abrir, grava a configuração atomicamente (à prova de falhas) e suporta importação/exportação de configuração de casos e modelos com mapeamentos semânticos prontos.
Correlacione eventos entre artefatos em uma grade temporal unificada, com visualizações Heat Map, Week e Day — uma história conectada por identidade e rastreável em tribunal, em vez de uma super-timeline plana.
A Timeline lê os bancos de dados de artefatos analisados do caso diretamente e é independente do Mecanismo de Correlação — você não precisa construir feathers, criar wings ou executar um pipeline para usá-la. Ela aplica seu próprio agrupamento temporal leve (correlação por timestamp exato e janela de tempo, agrupamento por aplicativo, caminho ou usuário) para relacionar eventos na grade. Evidências trazidas por meio de Importar Evidências também aparecem na timeline como tipo de artefato imported, com filtragem por janela de tempo e limites de tempo funcionais.
Busca de texto completo no banco de dados do caso, além de exportação para CSV (planilhas), JSON (integração com outras ferramentas) e relatórios HTML detalhados (dossiês completos consolidando todo artefato vinculado a um termo de busca).
Traduza identificadores técnicos brutos — SIDs, endereços MAC, hashes — em contexto legível por humanos em tempo real. A Vinculação Dinâmica enriquece a visualização usando consultas SQL ATTACH não destrutivas, de modo que a evidência original nunca é modificada, e pode ingerir feeds de IOC em massa para sinalizar indicadores conhecidamente maliciosos inline.
Transforme artefatos brutos em uma história de atividade em inglês simples — um relato compreensível para gerentes/Recursos Humanos do que um usuário e seus aplicativos realmente fizeram, com cada declaração rastreável até a evidência de origem exata.
A User Behavior Analytics (UBA) lê os bancos de dados de artefatos analisados na pasta Target_Artifacts/ do seu caso (estritamente somente leitura) e os reproduz por meio de um conjunto de regras declarativas para produzir uma História de Atividade clara e cronológica. Abra-a pelo botão da barra de ferramentas "User Behavior" ou com Ctrl+Shift+B (um caso deve estar carregado).
uba/config/behavior_rules.json) — ajustáveis sem código — cada uma classificada por severidade: rotineiro · notável · suspeito · crítico.runas), alterações de contas e grupos, alterações de serviços, adulteração do relógio do sistema (suspeito) e limpeza de logs de eventos (crítico).database : table : rowid) — nada é afirmado sem uma fonte.As 40 detecções abrangem quatro classes de severidade e toda a amplitude do conjunto de artefatos analisados:
Filtros: busca de texto livre · usuário/ator (incluindo "Unattributed" e um alternador de sessão conectada) · classe de comportamento (usuário / aplicativo / sistema) · severidade · aplicativo (multi-seleção pesquisável entre mais de 200 programas) · intervalo de data/hora com predefinições rápidas (todo o tempo / primeiro dia / último dia / última hora de atividade).
Fontes de dados: Security, System e Application Event Logs · USN Journal · MFT · UserAssist · BAM · Prefetch · ShimCache · AmCache · MUICache · ShellBags · LNK / JumpLists · Lixeira · SRUM (aplicativo, rede, conectividade) · hives do registro.
database → table → rowid e abre as linhas reais de origem sob demanda.<usuário>"), nunca para atribuir uma ação.A UBA é correlação e classificação comportamental orientada por regras, não pontuação estatística/ML de anomalias — cada descoberta mapeia para uma regra explícita e auditável. Veja
RELEASE_NOTES.mdpara o catálogo completo de detecções.
Correlation Engine v1.7.0 — o núcleo de reconstrução. Veja RELEASE_NOTES.md para o histórico de versões.
O Crow-Eye Correlation Engine é um sistema de correlação forense de nível de produção. Ele ingere artefatos do Windows de qualquer fonte, normaliza-os e evidencia as relações temporais e de identidade que transformam registros isolados em uma narrativa coerente do que aconteceu em um sistema, quando e quem estava envolvido. Ele funciona de imediato com regras de correlação integradas (Wings) para as perguntas de investigação mais comuns, permite que analistas criem regras personalizadas sem tocar em código e transfere o significado para regras criáveis e para o investigador — nunca para uma pontuação de caixa-preta.
Importação Universal de Dados: O Mecanismo de Correlação pode receber a saída de qualquer ferramenta forense em formato CSV, JSON ou SQLite e convertê-la em um banco de dados Feather. Isso significa que você pode correlacionar dados de ferramentas de terceiros (Plaso, Autopsy, Volatility etc.) com os artefatos nativos do Crow-Eye, criando uma análise de correlação unificada em todas as suas fontes de dados forenses.
Uma passagem focada de precisão, validada de ponta a ponta contra um caso real do Windows com ~700 mil registros, aplicada sobre o trabalho de confiabilidade anterior. Cada correção abaixo é garantida pela suíte de testes de regressão pytest e verificada por um harness de validação holística que exercita todos os 7 wings padrão contra ambos os mecanismos.
O mecanismo de identidade captura todas as evidências
TypeError e abortava o loop por linha). Registros vistos saltaram de 3.558 → 745.615 no caso de validação.User, ComputerName, NewProcessName, TargetUserName) antes dos metadados de canal/provider.artifact em cada linha. O mecanismo agora recorre a feather_metadata.artifact_type, de modo que SecurityLogs / SystemLogs / ApplicationLogs usam sua prioridade de identidade específica do artefato.'N/A', 'Unknown', '-', GUIDs nulos agrupavam registros não relacionados). O validador agora rejeita mais de 30 variantes de espaço reservado.Chega de "tudo é Low — algo está errado"
High. Correspondências com feather_count == 1 agora recebem confidence_category="Low - single feather", de modo que a visão High se concentra na correlação real entre feathers.chrome tinha 10+ chaves e nunca correlacionava). A chave agora é apenas o nome — a correlação entre feathers funciona novamente.Detecção de impersonação via classificação de caminho — após uma correspondência ser formada, o mecanismo classifica o caminho de cada registro como TRUSTED (Program Files, System32, WinSxS, as formas /device/harddiskvolumeN/... do BAM/SRUM, …) ou SUSPICIOUS (Temp, Downloads, Public, AppData\Local\Temp, Lixeira, raízes removíveis, compartilhamentos de rede). Uma correspondência que abrange ambas as classificações levanta impersonation_alert (taxa de ≈0,05%, cada uma um candidato real).
Contabilidade honesta de evidências — um registro de descarte por janela com buckets nomeados (no_identity_field, normalize_failure, below_threshold_skipped, …) além de um resumo por pipeline (registros vistos, high/low emitidos, sem identidade, buckets de descarte, junções de feathers sem tempo). Cada registro ou cai em uma correspondência ou em um bucket de descarte nomeado — "nenhuma evidência sobrando" é verificável no log. low_confidence_review_mode está ATIVADO por padrão, de modo que grupos abaixo do limite se tornam correspondências de baixa confiança em vez de desaparecerem silenciosamente.
Enriquecimento de identidade de feathers sem tempo — feathers sem timestamps por linha (AutoStartPrograms, MUICache, SystemServices, TypedPaths) não recebem mais um timestamp falso de geração em cada linha; em vez disso, após a formação das correspondências temporais, o mecanismo junta registros correspondentes de cada feather sem tempo por identidade como evidência suplementar.
Registro de identidade consolidado — config/standard_fields/identities.json é a fonte única de verdade para cada coluna que os mecanismos + Eye devem consultar: 98 categorias, 1.146 sinônimos de colunas (app/processo, arquivo, hash, usuário, host/dispositivo, rede, registro, serviço/tarefa, evento, e-mail, navegador, nuvem, internals do Windows, certificado, contêiner, objetos do SO). Adicionar um novo sinônimo de coluna é uma edição de JSON, não uma mudança de código.
Correções de falsos positivos de mapeamento semântico — o gating por múltiplos indicadores agora é realmente aplicado (data-exfiltration-pattern exige ≥2 indicadores); regras AND impossíveis (4625 AND 4624) reescritas como OR; regras de wiper/ferramentas remotas usam regex real em vez de disparar a cada entrada de Prefetch; regras de atividade de linha de base rebaixadas de high/critical para info/low (a pontuação ponderada do wing eleva ameaças reais).
O Mecanismo de Correlação está pronto para produção e é ativamente usado em investigações (Correlation Engine v1.7.0):- ✅ Motor de Varredura por Janela de Tempo — pronto para produção, recomendado para análises baseadas em tempo (O(N log N))
Chrome.exe/chrome.dll/Chrome.EXE são unificadas em um único balde; versões e qualificadores de arquitetura permanecem distintos.YYYYMMDD, barras no padrão americano e strings anotadas são todos analisados corretamente na primeira tentativa.run_times) expandidas para que cada execução receba seu próprio evento de correlação.config/standard_fields/*.json; metadados por tabela em correlation_engine/config/feather_schemas.json — estenda editando JSON, não código.query_time_range_iter com memória O(1); caches feather protegidos por locks; pronto para correlação paralela.O Motor de Correlação consiste em quatro componentes principais:
Propósito: Transformar artefatos forenses brutos em um formato padronizado e consultável.
Examples:
**Formatos de importação suportados:** CSV (qualquer arquivo com cabeçalho), JSON (plano ou aninhado) e SQLite (importação direta). Mapeamento automático de colunas, detecção de tipo de dados, normalização de timestamp para ISO, validação e índices otimizados.```
prefetch.db (Feather)
├── feather_metadata (artifact type, source, record count)
├── prefetch_data (executable_name, path, last_executed, hash)
└── Indexes (timestamp, name, path)
Objetivo: Definir quais artefatos correlacionar e como.
#### 3. ⚙️ Motores (Estratégias de Correlação)
**Objetivo**: Executar a lógica de correlação para encontrar relações entre artefatos. Os vínculos estruturais vêm **primeiro**; uma pontuação ponderada por camadas é sobreposta como *interpretação/ranqueamento*, não como base para uma correspondência.
**Mecanismo de Varredura por Janela de Tempo** — melhor para análise baseada em tempo e correlação temporal sistemática. Varre o tempo em intervalos fixos, coleta registros de todos os feathers por janela, aplica correspondência de campos semânticos + pontuação ponderada e evita duplicatas por meio do rastreamento de MatchSet. **O(N log N)** (consultas indexadas por timestamp); processamento em lote (~2.567 janelas/segundo).
**Mecanismo de Correlação Baseado em Identidade** — melhor para grandes conjuntos de dados (>1.000 registros) e rastreamento de identidade. Extrai e normaliza identidades, agrupa registros por identidade, constrói âncoras temporais dentro de cada cluster, classifica evidências como primárias/secundárias/de suporte e faz streaming para conjuntos muito grandes (>5.000 âncoras) com memória constante. **O(N log N)**; mais de 40 padrões de campos de identidade por tipo.
**Seleção do mecanismo:** use o mecanismo de Janela de Tempo para análise baseada em tempo e o mecanismo Baseado em Identidade para rastreamento de identidade — ambos estão prontos para produção e otimizados para grandes conjuntos de dados com consultas indexadas.
#### 4. 🔄 Pipelines (Orquestração de Fluxos de Trabalho)
**Objetivo**: Automatizar fluxos de trabalho de análise completos, da criação de feathers à geração de resultados. Um pipeline lê sua configuração (tipo de mecanismo, wings, feathers), instancia o mecanismo correto por meio do EngineSelector, executa cada wing, agrega correspondências, salva os resultados (DB + JSON) e os exibe na GUI com filtragem e visualização.```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"
}
}
### Exemplo de Caso de Uso: Encontrando Provas de Execução
**Cenário**: provar que `malware.exe` foi executado em um sistema.```json
{
"wing_id": "malware-execution",
"correlation_rules": { "time_window_minutes": 5, "minimum_matches": 2 },
"feathers": ["prefetch", "shimcache", "amcache"]
}
(no content provided)```python from correlation_engine.pipeline import PipelineExecutor executor = PipelineExecutor(pipeline_config) results = executor.execute()
I don't see any content to translate in the input. Please provide the 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.mainUm assistente poderoso, não um substituto. O Eye automatiza e verifica as hipóteses de um investigador — ele nunca decide por você.
O Eye é o assistente de IA forense integrado do Crow-Eye: um investigador forense qualificado apoiado por uma base de conhecimento real de artefatos do Windows. Ele oferece uma interface em linguagem natural para consultar, correlacionar e documentar tudo em um caso — Prefetch, MFT, Registry, Event Logs, AmCache, ShimCache, SRUM e mais — mantendo um registro auditável e à prova de adulteração exatamente do que fez. O Eye pode ser executado inteiramente em seu próprio hardware (incluindo totalmente isolado de rede), alinhado à postura de privacidade do Crow-Eye de "0 ms de dados enviados para fora do dispositivo". Arquitetura completa: eye/README.md.
O Eye transforma perguntas conversacionais ("mostre-me o que foi executado a partir de C:\Temp após as 22:00") em trabalho forense real: ele planeja uma abordagem, recupera conhecimento relevante dos artefatos, executa SQL e buscas entre artefatos em seus bancos de dados de caso e sintetiza uma resposta validada. Cada resposta é produzida em dois lugares ao mesmo tempo — uma resposta no chat para você e um bloco estruturado gravado em um Espaço de Trabalho de Relatório Vivo, para que o dossiê se construa sozinho à medida que a investigação avança.
Tudo o que o Eye faz está ancorado no Protocolo Ghassan Elsman (GEP) — um padrão neutro em relação a fornecedores e independente de ferramentas sobre como qualquer IA deve ser usada na forense digital. São 10 princípios que um sistema em conformidade deve cumprir para que as descobertas assistidas por IA permaneçam verdadeiras, rastreáveis até os registros de origem e respaldadas por uma cadeia auditável e à prova de adulteração, com o investigador humano no controle:
O Eye do Crow-Eye é a implementação de referência do GEP; os comportamentos dentro do produto que o sustentam são as Regras Operacionais. 📜 Leia o padrão: eye/docs/GEP_standard.md.
O Eye se adapta ao seu modelo de ameaça por meio de três modos de implantação:
No modo CLI-agent, o Crow-Eye utiliza um agente de terminal/linha de comando de IA existente como o modelo — em vez de uma API na nuvem ou um servidor offline local — para que você possa investigar com o agente que já utiliza.
O ciclo de investigação:
Você pode trocar de modelo em tempo de execução com a ferramenta switch_model. A troca é restrita ao mesmo backend, para que as evidências nunca sejam enviadas silenciosamente a um provedor diferente daquele que você escolheu.
O Eye foi projetado para que você possa ver — e depois comprovar — como ele chegou a uma conclusão. Conforme o Eye trabalha, ele transmite atualizações estruturadas de ThinkingStep para a interface em tempo real; cada uma carrega um step_id, type, label legível por humanos, status (active → done, ou error) e tool/params/detail opcionais.
| Tipo de etapa | O que você está vendo |
|---|
Uma consulta típica se desenrola como thinking → rag → thinking → tool_call → synthesis, e todo caso mantém artefatos de rastreamento em disco que você pode inspecionar posteriormente:
| Arquivo | O que ele registra |
|---|---|
<case>/EYE_Logs/eye_payload_seal.jsonl | Os payloads exatos enviados ao modelo, encadeados por hash. |
<case>/EYE_Logs/truncation_audit.log | Qual contexto foi mantido, resumido, descartado ou fixado — e por quê. |
<case>/case_history.json | O histórico completo da conversa, com contagens de tokens por mensagem. |
O Eye é orientado a ferramentas: o modelo nunca toca nas evidências diretamente. Ele emite chamadas de ferramentas, e o Eye as executa contra os bancos de dados do caso e retorna os resultados — para que cada ação seja explícita, registrada e reproduzível. As ferramentas são definidas em configs/llm_config.json e despachadas por meio de eye/services/context_manager.py.
Ferramentas investigativas — leem e analisam evidências:
Ferramentas de relatório constroem o Espaço de Trabalho de Relatório Vivo: 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 e export_report (a exportação exige aprovação humana).
Ferramentas de autoria (governadas — veja Construindo Correlation Wings e Mapeamentos Semânticos): correlation_create_wing, correlation_edit_wing, correlation_create_semantic_mapping, correlation_edit_semantic_mapping. As chamadas de ferramentas são traduzidas para o que o backend ativo espera — chamada de função nativa para APIs na nuvem e servidores locais, ou um wrapper XML <tool_call> para agentes CLI.
O Eye não apenas consulta o Mecanismo de Correlação — ele pode ajudar a estendê-lo. Quando o Eye identifica um padrão recorrente entre artefatos, ele pode propor novas Wings (regras de correlação) e Mapeamentos Semânticos (traduções técnico-para-humano). Isso é autoria governada: o Eye propõe, o analista revisa o artefato salvo, e toda alteração é justificada e respaldada por evidências.
Uma Wing une as feathers dentro de uma janela de tempo e um limite mínimo de correspondências para comprovar uma afirmação:
Um Mapeamento Semântico traduz um valor técnico bruto em significado legível por humanos (ex.: EventID 4624 → "Logon Bem-sucedido"). Ele vem em duas variações: um mapping simples (valor único/regex → valor semântico) ou uma rule com múltiplas condições (condições unidas por AND/OR). Ambos suportam category, severity, confidence e scope, e ambos exigem reason + related_evidence.
Governança — regras do lado de escrita que sustentam o GEP:
reason forense.database:table:rowid.Investigações longas podem exceder a janela de contexto de um modelo — especialmente modelos offline menores. Em vez de falhar ou descartar evidências silenciosamente, o Eye autocompacta seu próprio contexto antes de cada chamada ao modelo (dentro de seu caminho de geração protegido, totalmente auditado).
Antes de cada chamada, o Eye mede o payload completo e reserva espaço para a resposta (10% da janela, mínimo de 512 tokens, nunca mais da metade). Se ainda assim não couber, ele se auto-recupera em duas passagens ordenadas, nunca tocando em mensagens protegidas (fixadas, evidências detectadas automaticamente ou um resultado de ferramenta):
SUMMARIZED.TRUNCATED.Se o núcleo de evidências irredutível (fixadas + resultados de ferramentas + a pergunta atual) ainda transbordar, o Eye se recusa a prosseguir em vez de truncar evidências (REFUSED_OVERFLOW) e pede que você restrinja a consulta ou use analyze_large_dataset. O que quer que finalmente vá para o modelo é exatamente o payload que é selado para a cadeia de custódia.
O Eye é sem estado entre as interações — então o Mapa Narrativo é onde "o que sabemos e o que concluímos" vive para um caso. É a memória de trabalho persistente, auditável e à prova de adulteração do Eye, e seu conteúdo é injetado no prompt do Eye a cada interação (o mapa literalmente é a memória).
proven · open · negative · needs · absolute) e as Evidências respaldadas por artefatos abaixo delas.narrative_map_audit.jsonl). Você pode adicionar, editar e remover suas afirmações e evidências, moldando diretamente como o Eye entende e interpreta o caso.open sem evidências enquanto investiga, mas nunca pode ser proven sem evidências; um tema que o Eye verificou, mas encontrou vazio, é convertido automaticamente para negative — porque uma ausência documentada é, por si só, uma descoberta.A conformidade não é um recurso acoplado por cima — ela é aplicada no pipeline.
database:table:rowid, além de offsets calculados para registros MFT). Os selos são somente anexação e encadeados por hash em <case>/EYE_Logs/eye_payload_seal.jsonl — um único registro alterado ou removido quebra a cadeia, então o log prova matematicamente quais bytes o modelo analisou.<case>/EYE_Logs/truncation_audit.log (SUMMARIZED, TRUNCATED, PRESERVED, PINNED, UNPINNED, BUDGET_REDUCED), cada uma com um hash. Evidências detectadas são fixadas automaticamente acima de um limite de confiança; você também pode fixar mensagens manualmente.📖 Arquitetura completa do Eye: eye/README.md.
Historicamente, os investigadores caíram na armadilha de confiar em suas ferramentas forenses sem entender como os artefatos subjacentes se comportam ou como a ferramenta os analisou. O risco hoje é simplesmente substituir "a ferramenta" por "a IA". Uma IA pode analisar um registro com precisão técnica perfeita e ainda assim colocá-lo no contexto errado — mudando todo o significado da evidência.
O Eye-Describe existe para que nem o humano nem o modelo precisem adivinhar. É uma referência interativa, em nível de byte, para as estruturas binárias brutas dos artefatos do Windows, e atende a dois papéis ao mesmo tempo:
| Papel | O que ele faz |
|---|---|
| 🧑🏫 O blueprint para o humano | Uma referência educacional interativa sobre a anatomia profunda em nível de byte dos artefatos do Windows — o que cada estrutura é, como se comporta, o que pode e o que não pode comprovar. Gratuito para usar, voltado a estudantes, educadores e profissionais que querem entender a evidência em vez da coluna de saída. |
Ao ancorar a camada de IA ao comportamento documentado dos artefatos, o Crow-Eye não está pedindo que você confie em um modelo — está restringindo o modelo a respeitar a forense bruta.
Não troque a confiança na ferramenta pela confiança na IA. Entenda os dados.
Ferramentas forenses só são úteis se sua saída puder ser defendida. O trabalho de correção do Crow-Eye é deliberadamente visível:
RELEASE_NOTES.md — incluindo casos em que uma correção alterou os registros vistos em ordens de magnitude. Saber o que estava errado, e quando, faz parte do que torna um resultado defensável.verify_chain() percorre novamente o log de auditoria do Mapa Narrativo e a cadeia do Selo de Evidência para detectar modificações — inclusive em campos legíveis por humanos.Uma seleção das visualizações de interface e análise do Crow-Eye.






Trabalhos planejados e em andamento (veja RELEASE_NOTES.md para as alterações já lançadas):
Tem uma ideia ou quer adicionar um artefato? Abra uma issue ou veja Contribuindo.
O Crow-Eye foi construído como uma plataforma aberta de pesquisa, e contribuições são bem-vindas — novos parsers, regras de correlação, documentação e pesquisa de artefatos.
O Crow-Eye é lançado sob a GNU General Public License v3.0 (GPL-3.0). É livre para usar, estudar, compartilhar e modificar sob os termos dessa licença.
Se você usar o Crow-Eye em trabalhos acadêmicos, pesquisas publicadas ou relatos de caso, cite-o:```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} }
Plain text: Elsman, G. *Crow-Eye: A Windows Forensics Engine* (GPL-3.0). https://github.com/Ghassan-elsman/Crow-Eye
Para citações metodológicas, o Protocolo Ghassan Elsman é documentado separadamente em [`eye/docs/GEP_standard.md`](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md).
## 💖 Apoio
O Crow-Eye é gratuito e de código aberto, criado e mantido por uma pessoa. Se ele for útil para o seu trabalho, considere patrociná-lo — isso financia diretamente novos parsers e pesquisa: **[SPONSORS.md](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/SPONSORS.md)** · **[GitHub Sponsors](https://github.com/sponsors/Ghassan-elsman)**.
## Créditos
Criado e mantido por **Ghassan Elsman**.
| Você é | Sua entrada típica | Por onde começar |
|---|
| IR corporativo / MSSP / MDR | Coletas direcionadas de Velociraptor, KAPE ou coleção nativa de EDR | Importador Offline → Mecanismo de Correlação → UBA |
| Aplicação da lei / laboratórios forenses | Imagens forenses completas (E01, VHDX, VMDK, Raw) com requisitos de cadeia de custódia | Análise de imagens → Mecanismo de Correlação → Mapa Narrativo |
| Segurança interna / ameaças internas e investigações de RH | Sistemas ao vivo ou artefatos coletados | Análise ao vivo → UBA história de atividades |
| Estudantes, educadores e pesquisadores | Imagens de exemplo e dados de laboratório | Eye-Describe → Início Rápido |
| Subsistema | O que faz | Etapa |
|---|
| Crow-Claw | Aquisição de alta velocidade de sistemas ao vivo e imagens de máquinas desligadas. | Aquisição |
| Importador Offline | SCAN → COLLECT → PARSE artefatos de qualquer fonte para o banco de dados do caso. | Aquisição |
| Mecanismo de Correlação | Reconstrução de motor duplo (Identidade + Janela de Tempo) via Feathers · Wings · Engines · Pipelines. | Análise |
| Linha do Tempo Interativa | Linha do tempo encadeada por identidade e rastreável judicialmente (vistas Heat Map / Semana / Dia), lida diretamente dos bancos de dados do caso. | Verificação |
| Análise de Comportamento do Usuário (UBA) | História de atividades em linguagem simples, orientada por regras: "o que este usuário fez". | Inteligência |
| Eye — Assistente de IA | Investigação em linguagem natural + a memória de caso lacrada Narrative Map. | IA |
| Forense de Armazenamento | Análise de disco físico e partições (detecção de ocultos/não montados, avisos de inicialização). | Análise |
| Artefato | Ao vivo | Offline | Dados extraídos |
|---|
| Prefetch | ✅ | ✅ | Histórico de execução, contagem de execuções, timestamps por execução |
| Registry (AutoRun, UserAssist, BAM, ShimCache, redes, fuso horário) | ✅ | ✅ | Persistência, uso de programas, atividade em segundo plano, configuração de rede |
| Amcache | ✅ | ✅ | Execução de aplicativos, hora da instalação, SHA-1, caminhos de arquivo |
| ShimCache | ✅ | ✅ | Aplicativos executados, última modificação, tamanho |
| MUICache | ✅ | ✅ | Presença de programas e nomes de exibição |
| Jump Lists e LNK | ✅ | ✅ | Acesso a arquivos, caminhos, timestamps, metadados |
| ShellBags | ✅ | ✅ | Histórico de acesso a pastas e navegação |
| MRU e RecentDocs / Caminhos digitados | ✅ | ✅ | Histórico de Abrir/Salvar, arquivos recentes, locais digitados |
| Histórico de navegador / sites | ✅ | ✅ | Sites visitados e horários de acesso |
| Logs de eventos (System / Security / Application) | ✅ | ✅ | Logons, criação de processos (4688), alterações de contas e serviços, limpeza de logs |
| MFT | ✅ | ✅ | Metadados de arquivos, arquivos excluídos, timestamps (NTFS, Win 7/10/11) |
| USN Journal | ✅ | ✅ | Criar/modificar/excluir/renomear arquivos com histórico completo de nomes |
| Lixeira | ✅ | ✅ | Nomes de arquivos excluídos, caminhos, hora da exclusão, tamanho |
| SRUM | ✅ | ✅ | Uso de recursos/rede/energia por aplicativo, dados transferidos por aplicativo |
| Dispositivos USB e conectados | ✅ | ✅ | Conexão e presença de dispositivos |
| Lista de redes e conexões | ✅ | ✅ | Redes conhecidas e atividade de conexão |
| AutoStart / Serviços e Drivers | ✅ | ✅ | Persistência, instalações de serviços e mudanças de estado |
| Discos e Partições (Forense de Armazenamento) | ✅ | ✅ | Árvore de discos físicos, layout de partições, detecção de ocultas/desmontadas |
$RECYCLE.BIN para recuperar nomes de arquivos excluídos, caminhos originais, horários de exclusão e tamanhos (sistemas ao vivo e imagens de disco).| 🔍 SCAN | 📦 COLLECT |
|---|
| Ação | Descoberta — identifica artefatos no local original | Aquisição — copia e preserva artefatos na pasta do caso |
| Impacto de I/O | Somente leitura; nenhum arquivo é movido | Leitura + escrita; duplica fisicamente os artefatos |
| Organização | Atualiza os metadados .artifact_scan_index.json | Organiza arquivos em pastas específicas por tipo |
| Caso de uso | Triagem rápida para ver se a fonte tem dados relevantes | Preservação forense completa para análise de longo prazo |
| Entrada | O que acontece |
|---|
.db / .sqlite | Validado e copiado verbatim para a pasta Imported_Evidence/ do caso. O esquema não é alterado. |
.csv / .json | Convertido automaticamente em um banco de dados SQLite em formato feather por meio do FeatherWriter canônico, carregando feather_metadata que declara o timestamp primário da tabela — auto-detectado a partir dos nomes das colunas — exatamente como uma feather coletada nativamente. |
| Categoria | Detecções incluem |
|---|
| Identidade e acesso | Entrar / sair, desbloqueio da estação de trabalho, logons de área de trabalho remota, logons de administrador, uso de credenciais explícitas (runas), criação e alteração de contas, adições a grupos de administradores |
| Execução | Programas abertos (UserAssist), programas executados (Prefetch, expandido em eventos por execução), criação de processos (4688), presença de programas (ShimCache / AmCache / MUICache), instalações de aplicativos, falhas de aplicativos (de registros 1001 do Application Event Log) |
| Atividade de arquivos | Abrir / criar / excluir / copiar / renomear arquivos — renomeações mostram o histórico completo de nomes (antigo → … → atual) reconstruído a partir do USN Journal, com resolução de exclusão suave ($R/$I) |
| Navegação | Navegação em pastas (ShellBags), documentos recentes, locais digitados, visitas a sites |
| Dispositivos e rede | Conexão de dispositivos USB, presença de dispositivos, compartilhamentos de rede, conexões de rede, dados transferidos por aplicativo (SRUM) |
| Persistência e sistema | Persistência em autostart (chaves Run + serviços, escalada quando o alvo é executado a partir de um caminho gravável pelo usuário), instalações de serviços e drivers, mudanças de estado de serviços, inicialização/desligamento do sistema, alterações de relógio, limpeza de logs de eventos |
| Registros | Mecanismo de Janela de Tempo | Mecanismo Baseado em Identidade |
|---|
| 1,000 | 0.5s | 2s |
| 10,000 | 5s | 15s |
| 100,000 | 50s | 2.5 min (streaming) |
| 1,000,000 | — | 25 min (streaming) |
| Capacidade | O que isso significa para você |
|---|
| Investigação em linguagem natural | Pergunte em inglês simples; o Eye escreve o SQL e pesquisa por você. |
| Integração de múltiplas fontes | Acesso unificado a todos os artefatos analisados no caso. |
| Análise aprimorada por RAG | O Eye busca conhecimento forense específico do artefato antes de responder. |
| Espaço de Trabalho de Relatório Vivo | Descobertas, tabelas, gráficos e cronologias são documentados em tempo real. |
| Humano no circuito | Ações críticas (ex.: exportação de relatório) exigem sua aprovação explícita. |
| Cadeia de custódia | Prova criptográfica exatamente do que o modelo analisou. |
| # | Princípio | Em uma linha |
|---|
| GEP-1 | Primazia da Evidência | Conclusões vêm apenas de artefatos efetivamente examinados. |
| GEP-2 | Rastreabilidade | Cada fato está vinculado a um registro de origem específico. |
| GEP-3 | Especificidade e Cronologia | Timestamps UTC exatos, identificadores e caminhos, ordenados no tempo. |
| GEP-4 | Corroboração Cruzada | Basear-se em múltiplas fontes; relatar concordância, silêncio e conflito. |
| GEP-5 | Verificação de Premissas | Tratar afirmações humanas como hipóteses a provar ou refutar. |
| GEP-6 | Completude | Nunca descartar ou truncar evidências silenciosamente. |
| GEP-7 | Integridade e Não Repúdio | Nunca modificar evidências; registrar o que foi visto e feito, à prova de adulteração. |
| GEP-8 | Transparência e Explicabilidade | Raciocínio, ferramentas usadas e dados vistos são visíveis e auditáveis. |
| GEP-9 | Autoridade Humana | O investigador decide; ações duradouras são atribuíveis. |
| GEP-10 | Defensabilidade | A saída é objetiva, precisa e estruturada para revisão independente. |
| Modo | Melhor para | Backends |
|---|
| ☁️ Modelos de IA em Nuvem | Análise profunda e complexa com o máximo de computação | OpenAI, Anthropic (Claude), Google Gemini |
| 🔒 Servidor de IA Offline (isolado de rede) | Investigações on-premise com exposição zero | Ollama, LM Studio |
| ⚡ Agentes de Terminal CLI | Reutilizar um agente de terminal de IA que você já possui como modelo | Claude Code, Gemini CLI, ChatGPT CLI, llama.cpp, … |
thinking | O Eye planejando — detectando intenção forense, construindo o prompt do sistema, decidindo os próximos passos. |
rag | O Eye recuperando conhecimento de artefatos de sua base de conhecimento para fundamentar a resposta. |
tool_call | O Eye executando uma ferramenta forense (uma consulta SQL, uma busca, uma verificação de correlação). |
synthesis | O Eye validando e montando a resposta final respaldada por evidências. |
| Ferramenta | Finalidade |
|---|
query_database | Executa um SELECT em um banco de dados forense. |
search_artifacts | Busca de texto / regex entre bancos de dados. |
semantic_search_artifacts | Busca semântica entre artefatos analisados. |
get_schema | Inspeciona os esquemas de tabelas. |
query_correlation_results | Consulta a saída do Mecanismo de Correlação por tempo / identidade. |
correlate_imported_evidence | Correlaciona evidências de terceiros importadas para o caso com artefatos nativos. |
analyze_large_dataset | Análise map-reduce de grandes conjuntos de resultados — sem truncamento silencioso. |
list_case_files | Lista arquivos no diretório do caso. |
internet_search / fetch_web_content | Pesquisa e obtém contexto externo de ameaças / técnico. |
query_living_off_the_land_intel | Consultas LOLBAS / LOLDrivers. |
query_threat_intel | Consultas VirusTotal / threat-intel. |
switch_model | Troca o modelo em tempo de execução (somente no mesmo backend). |
| Campo | Significado |
|---|
wing_name | Nome legível por humanos para a regra. |
proves | A afirmação forense que ela sustenta (ex.: execução de programa). |
feathers[] | Artefatos a correlacionar — cada um com artifact_type, weight opcional (0–1) e tier (1–4). |
time_window_minutes | Janela de correlação (padrão 180 = 3 horas). |
minimum_matches | Quantas feathers devem corresponder dentro da janela (padrão 1). |
reason (obrigatório) | Justificativa forense para a regra. |
related_evidence (obrigatório) | Uma ou mais referências database:table:rowid que a motivaram. |
reason forense e related_evidence; regras criadas fora do Eye são somente leitura e não podem ser reescritas silenciosamente.| ⚖️ A âncora de conformidade para a IA | A visibilidade do Eye está vinculada aos comportamentos documentados de artefatos no Eye-Describe. O modelo raciocina contra uma referência fixa do que um artefato realmente significa, em vez de inferir semântica por conta própria. |