
Motor forense de Windows de código abierto que adquiere, analiza y correlaciona artefactos (MFT, USN, Registry, etc.) para reconstruir líneas de tiempo con análisis asistido por IA y sellado de evidencia de grado judicial.
Una máquina del tiempo forense para Windows.
Crow-Eye no solo detecta — reconstruye lo que realmente ocurrió en la línea temporal, desde la adquisición hasta un veredicto trazable hasta sus registros de origen.
Crow-Eye es un motor forense para Windows de código abierto (GPL-3.0) que unifica adquisición, análisis, verificación, inteligencia e IA. La mayoría de las herramientas de seguridad preguntan "¿es esto malo?" y descartan todo lo que parece legítimo. Crow-Eye plantea una pregunta distinta: "¿qué ocurrió?". Correlaciona toda la actividad —sospechosa o no— y reconstruye la secuencia real de eventos en un sistema, de modo que la verdad de una investigación se reconstruye a partir de la evidencia en lugar de adivinarse a partir de alertas.
Ese diseño centrado en la reconstrucción es exactamente lo que se necesita para cazar amenazas APT y de estados-nación: los adversarios sofisticados viven dentro de herramientas legítimas (powershell.exe, PsExec, certutil) y en la secuencia de acciones —invisibles para las herramientas que descartan todo lo que parece normal—. Como Crow-Eye nunca descarta nada y razona sobre artefactos de ejecución (que sobreviven a la manipulación de registros y a las técnicas anti-forenses), el ataque no puede ocultarse. El mismo motor sigue siendo accesible para el trabajo diario de DFIR y para no expertos que simplemente quieren saber qué ocurrió en un ordenador.
Crow-Eye se utiliza en flujos de trabajo muy diferentes. Cada uno entra al motor por una puerta distinta:
Cualquier recopilador sirve. Crow-Eye no requiere su propia herramienta de adquisición. Apunte el Importador sin conexión a una carpeta de artefactos en crudo producidos por Velociraptor, KAPE, un paquete de recopilación de EDR o cualquier otro recopilador: indexa los artefactos compatibles y ejecuta los analizadores sin conexión sobre ellos. Por separado, la salida de Plaso, Autopsy, Volatility o cualquier otra herramienta puede importarse como CSV, JSON o SQLite mediante Importar evidencia y correlacionarse junto con los artefactos nativos.
Crow-Eye está construido como un bucle integrado: cada etapa alimenta a la siguiente, desde el disco en bruto hasta un veredicto defendible.
Crow-Eye es un pipeline integrado, no una bolsa de analizadores. La evidencia fluye en una sola dirección y cada etapa mantiene su vínculo con el registro de origen.```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
*Fuente de evidencia → Ingesta → Bases de datos del caso → Análisis → Capa de IA → Informe*
**Cómo leerlo:**
| Etapa | Qué importa |
|---|---|
| ① → ② | **Cuatro puertas independientes hacia un caso.** Nunca necesitas el recolector propio de Crow-Eye — una carpeta de Velociraptor, KAPE o un paquete de EDR pasa por el Importador Offline, y CSV/JSON/SQLite de terceros pasa por Import Evidence. |
| ② → ③ | Todo converge en un solo lugar: **las bases de datos del caso**. Los artefactos parseados van a `Target_Artifacts/`; la evidencia importada de terceros va a `Imported_Evidence/` y se auto-descubre. |
| ③ → ④ | **Las tres rutas de análisis son independientes entre sí.** La Línea de Tiempo y la UBA leen las bases de datos del caso directamente — ninguna requiere una ejecución de correlación. El Motor de Correlación es una capa *adicional*, no un prerrequisito. |
| ③ → ④ | **El Enlace Dinámico se sitúa junto a la Línea de Tiempo y la UBA** — un cuarto lector independiente de las bases de datos del caso (no tiene nada que ver con la visualización de la Línea de Tiempo). Reúne asignaciones de identidad (SID → usuario, MAC → red, hash/GUID → aplicación) en una `Crow_Intelligence.db` por caso, y luego superpone ese contexto **en línea en las tablas de datos de artefactos** mediante `ATTACH` + `LEFT JOIN` no destructivos. Cambia cómo se *leen* los registros, nunca la evidencia. |
| ④ → ⑤ | The Eye consulta las bases de datos del caso directamente y puede obtener resultados de correlación **bajo demanda**. Nunca toca la evidencia en sí — emite llamadas a herramientas que Crow-Eye ejecuta y registra. |
| ⑤ → Informe | El **Informe Vivo lo construye exclusivamente The Eye**, a través de sus herramientas `report_*`. La Línea de Tiempo y la UBA son superficies de análisis — no escriben en el informe. Los hallazgos a nivel de caso pueden exportarse por separado mediante [Search & Export](#-search--export). |
| ⑤ ↔ | El **Mapa Narrativo es bidireccional**: The Eye escribe en él, tú escribes en él, y su contenido se inyecta en el prompt de The Eye en cada turno. Es la memoria, y puedes comandarlo. |
| ⑤ ⟳ | La página de **Cumplimiento audita a The Eye.** Cada llamada a herramienta que hace The Eye está anclada a la cadena de hash **EvidenceSeal**; la página muestra en vivo el estado **GEP** por regla (10 principios) verificado desde esa cadena y `EYE_Logs/`, exportable como `audit_trail.json`. |
**Etapas independientes.** La Línea de Tiempo y la UBA leen las bases de datos de artefactos del caso **directamente** — ninguna requiere una ejecución de correlación, y la Línea de Tiempo no depende del Motor de Correlación (aplica su propio agrupamiento temporal ligero). La correlación es una capa de análisis adicional cuyos resultados The Eye puede consultar.
**Solo lectura por diseño.** El parseo escribe en la base de datos del caso; cada etapa posterior (UBA, la Línea de Tiempo, los visores de correlación, The Eye) abre esas bases de datos **en modo solo lectura**. La evidencia original nunca se modifica — el [Enlace Dinámico](#-analysis-modes) lee las bases de datos del caso para construir una `Crow_Intelligence.db` por caso con asignaciones de identidad y enriquece las tablas de datos de artefactos en línea mediante consultas `ATTACH` + `LEFT JOIN` no destructivas en lugar de reescribir filas.
**Gobernado por diseño.** Cada acción que toma The Eye está anclada a la cadena de hash **EvidenceSeal** a prueba de manipulación, y la página de **Cumplimiento** verifica continuamente a The Eye contra el [Protocolo Ghassan Elsman (GEP)](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md) — estado en vivo por regla, exportable a `EYE_Logs/audit_trail.json`.
## 📥 Descarga e Instalación
> **Recomendado:** obtén la compilación empaquetada para Windows (**instalador MSI / EXE**) desde el sitio web oficial — sin configuración de Python, funciona de inmediato.
### ▶️ [Descargar Crow-Eye para Windows → crow-eye.com/download](https://crow-eye.com/download)
La **compilación MSI/EXE instalada es la forma recomendada de ejecutar Crow-Eye**, y es nuestra **máxima prioridad para actualizaciones**:
- 🛡️ **Correcciones más rápidas.** Cuando se encuentra un problema o se reporta un error, publicamos un EXE actualizado **lo antes posible** — la compilación empaquetada es donde las correcciones llegan primero.
- 🔄 **Actualización automática integrada.** En la aplicación instalada, abre **Settings → Updates** para **buscar actualizaciones e instalarlas automáticamente** — sin reinstalación manual.
- 📦 **Cero configuración.** No se requiere Python, Node ni instalación de dependencias.
> ¿Prefieres ejecutar desde el código fuente? Consulta **[Quick Start](#-quick-start)** a continuación. La compilación desde el código fuente está pensada para contribuidores y **no incluye el actualizador automático** — usa el MSI/EXE para actualizaciones automáticas.
## 🚀 Inicio Rápido
### Opción A — Compilación instalada (recomendada)
Descarga el **MSI/EXE** desde [crow-eye.com/download](https://crow-eye.com/download), instala y lanza **Crow-Eye** como Administrador. Crea un caso y comienza a analizar.
### Opción B — Ejecutar desde el código fuente (desarrolladores)
> Para contribuidores y usuarios avanzados. Esta vía **no incluye el actualizador automático** — usa el MSI/EXE para actualizaciones automáticas.
**Requisitos** (se instalan automáticamente en el primer arranque):
- Python 3.12.4
- **Node.js y npm** — necesarios para la **Visualización de Línea de Tiempo**
- Paquetes clave: 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 de millones de registros) |
| **Disco** | 5 GB libres | Espacio libre ≥ 2× el tamaño de la evidencia a parsear |
| **CPU** | 4 núcleos | 8+ núcleos |
| **SO** | Windows 10/11 (completo) · Linux (análisis offline y de imágenes) | — |
> La correlación transmite en memoria constante para conjuntos de datos muy grandes, por lo que la RAM rara vez es el límite duro — el rendimiento del disco y el espacio libre suelen serlo.
**Lanzamiento** (ejecuta como Administrador para que Crow-Eye pueda acceder a los artefactos del sistema):```bash
python "Crow Eye.py"
Se abre la interfaz principal, se crea un caso y todo el resultado del análisis se organiza bajo el directorio de ese caso para su posterior revisión e informes.
🖥️ Nota multiplataforma: en Linux, los analizadores en vivo se desactivan automáticamente y Crow-Eye funciona en modo offline / imagen forense. La adquisición completa en vivo es solo para Windows.
Crow-Eye analiza un amplio conjunto de artefactos de ejecución, sistema de archivos y actividad de usuario de Windows, tanto de un sistema en vivo como de fuentes offline (carpetas recopiladas o imágenes forenses).
Jump Lists y LNK son analizados por el analizador LNK / Jump List específicamente diseñado por Crow-Eye — no por un módulo de terceros.
Registro personalizado / archivos bloqueados: Windows bloquea las colmenas de registro en vivo (
NTUSER.DAT,SOFTWARE,SYSTEM) durante su funcionamiento. Para un análisis personalizado de un sistema en vivo, arranque desde medios externos (WinPE/Live CD), use herramientas forenses de adquisición o analice una imagen de disco.
CrowEye/Artifacts Collectors/Target Artifacts (o a la carpeta registry/ de su caso):
NTUSER.DAT de C:\Users\<Username>\NTUSER.DATSOFTWARE de C:\Windows\System32\config\SOFTWARESYSTEM de C:\Windows\System32\config\SYSTEMC:\Windows\Prefetch, extrayendo el historial de ejecución y los metadatos forenses (incluidas las marcas de tiempo por ejecución).Crow-Claw es el motor de adquisición especializado de Crow-Eye para recopilar y preservar artefactos de sistemas en vivo o imágenes montadas.
Analice artefactos recopilados de cualquier fuente sin una conexión en vivo con el objetivo — tres operaciones claras:
live_acquisition del caso, organizados por tipo.El análisis es gestionado por los analizadores offline dedicados de Crow-Eye — la misma lógica de artefactos que en el modo en vivo, operando sobre archivos recopilados: Prefetch, Registro, MFT, USN (además del correlacionador MFT/USN), AmCache, ShimCache, SRUM, Registros de eventos, LNK/JumpLists y Papelera de reciclaje.
Más allá de los artefactos sin procesar, Crow-Eye puede llevar resultados forenses de terceros directamente a un caso — Plaso, Autopsy, Volatility o cualquier exportación personalizada — y hacerlos utilizables por el Eye y la Timeline sin requerir antes una ejecución de correlación.
Dado que el gestor de la base de datos del caso auto-detecta cualquier .db bajo el árbol del caso, la evidencia importada queda inmediatamente disponible para:
imported, con filtrado funcional por ventanas de tiempo y límites temporales.El importador usa solo la biblioteca estándar (sqlite3 / csv / json) y se ejecuta en un trabajador en segundo plano, por lo que las importaciones grandes no bloquean la interfaz.
Analiza artefactos directamente desde el sistema Windows en ejecución, extrayéndolos automáticamente de sus ubicaciones estándar para un análisis forense en tiempo real.
Toda investigación es un caso: un directorio autocontenido que organiza las bases de datos de artefactos y el resultado del análisis. Crow-Eye realiza un seguimiento de los casos recientes (con favoritos, etiquetas y estado), valida un caso al abrirlo, escribe la configuración de forma atómica (a prueba de fallos) y admite la importación/exportación de configuración de casos y plantillas con asignaciones semánticas ya preparadas.
Correlacione eventos entre artefactos en una cuadrícula temporal unificada, con vistas de mapa de calor, semana y día: una historia hilada por identidades y trazable ante un tribunal, en lugar de una super-timeline plana.
La Timeline lee directamente las bases de datos de artefactos analizados del caso y es independiente del Motor de correlación — no necesita crear feathers, redactar wings ni ejecutar un pipeline para usarla. Aplica su propio agrupamiento temporal ligero (correlación por marca de tiempo exacta y por ventanas de tiempo, agrupación por aplicación, ruta o usuario) para relacionar eventos en la cuadrícula. La evidencia incorporada mediante Importar evidencia también aparece en la timeline como el tipo de artefacto imported, con filtrado funcional por ventanas de tiempo y límites temporales.
Búsqueda de texto completo en la base de datos del caso, además de exportación a CSV (hojas de cálculo), JSON (integración con otras herramientas) y informes HTML detallados (expedientes completos que consolidan todos los artefactos vinculados a un término de búsqueda).
Traduzca identificadores técnicos en bruto — SIDs, direcciones MAC, hashes — a contexto legible sobre la marcha. La vinculación dinámica enriquece la vista mediante consultas SQL ATTACH no destructivas, por lo que la evidencia original nunca se modifica, y puede ingerir fuentes masivas de IOC de amenazas para marcar en línea los indicadores conocidos como maliciosos.
Convierta los artefactos en bruto en una historia de actividad en lenguaje sencillo — un relato legible por directivos/RR. HH. de lo que un usuario y sus aplicaciones hicieron realmente, con cada afirmación trazable hasta la evidencia fuente exacta.
User Behavior Analytics (UBA) lee las bases de datos de artefactos analizados en la carpeta Target_Artifacts/ de su caso (estrictamente de solo lectura) y las reproduce a través de un conjunto de reglas declarativas para producir una Activity Story clara y cronológica. Ábrala desde el botón de la barra de herramientas "User Behavior" o con Ctrl+Shift+B (debe haber un caso cargado).
uba/config/behavior_rules.json) — ajustables sin código — cada una clasificada por severidad: rutinaria · notable · sospechosa · crítica.runas), cambios de cuentas y grupos, cambios de servicios, manipulación del reloj del sistema (sospechoso) y borrado de registros de eventos (crítico).database : table : rowid) — nada se afirma sin una fuente.Las 40 detecciones abarcan cuatro clases de severidad y toda la amplitud del conjunto de artefactos analizados:
Filtros: búsqueda de texto libre · usuario/actor (incluidos "Unattributed" y un conmutador de sesión iniciada) · clase de comportamiento (usuario / aplicación / sistema) · severidad · aplicación (multiselección con búsqueda en más de 200 programas) · rango de fecha y hora con ajustes rápidos (todo el tiempo / primer día / último día / última hora de actividad).
Fuentes de datos: Security, System y Application Event Logs · USN Journal · MFT · UserAssist · BAM · Prefetch · ShimCache · AmCache · MUICache · ShellBags · LNK / JumpLists · Recycle Bin · SRUM (aplicación, red, conectividad) · colmenas del registro.
database → table → rowid y abre las filas fuente reales bajo demanda.<user>"), nunca para atribuir una acción.UBA es correlación y clasificación de comportamiento basadas en reglas, no puntuación estadística/ML de anomalías — cada hallazgo se asigna a una regla explícita y auditable. Consulte
RELEASE_NOTES.mdpara ver el catálogo completo de detecciones.
Correlation Engine v1.7.0 — el núcleo de reconstrucción. Consulte RELEASE_NOTES.md para ver el historial de versiones.
El Crow-Eye Correlation Engine es un sistema forense de correlación de grado de producción. Ingiere artefactos de Windows de cualquier fuente, los normaliza y saca a la luz las relaciones temporales y de identidad que convierten registros aislados en una narrativa coherente de qué ocurrió en un sistema, cuándo y quién estuvo implicado. Funciona de forma inmediata con reglas de correlación integradas (Wings) para las preguntas de investigación más comunes, permite a los analistas crear reglas personalizadas sin tocar código, y remite el significado a reglas redactables y al investigador — nunca a una puntuación de caja negra.
Importación universal de datos: El Correlation Engine puede tomar la salida de cualquier herramienta forense en formato CSV, JSON o SQLite y convertirla en una base de datos Feather. Esto significa que puede correlacionar datos de herramientas de terceros (Plaso, Autopsy, Volatility, etc.) con los artefactos nativos de Crow-Eye, creando un análisis de correlación unificado en todas sus fuentes de datos forenses.
Una pasada de precisión enfocada, validada de extremo a extremo contra un caso real de Windows de ~700 000 registros, superpuesta a trabajos de fiabilidad anteriores. Cada corrección aquí está asegurada por la suite de regresión pytest y verificada por un banco de pruebas de validación holístico que ejercita las 7 wings predeterminadas contra ambos motores.
El motor de identidad captura toda la evidencia
TypeError y abortaba el bucle por fila). Los registros vistos pasaron de 3,558 → 745,615 en el caso de validación.User, ComputerName, NewProcessName, TargetUserName) antes que los metadatos de canal/proveedor.artifact en cada fila. El motor ahora recurre a feather_metadata.artifact_type, de modo que SecurityLogs / SystemLogs / ApplicationLogs usan su prioridad de identidad específica del artefacto.'N/A', 'Unknown', '-', GUID nulos agrupaban registros no relacionados). El validador ahora rechaza más de 30 variantes de relleno.Se acabó el "todo es Low — algo va mal"
High. Las coincidencias con feather_count == 1 ahora reciben confidence_category="Low - single feather", de modo que la vista High se centra en la correlación real entre feathers.chrome tenía más de 10 claves y nunca se correlacionaba). La clave ahora es solo el nombre — la correlación entre feathers vuelve a funcionar.Detección de suplantación mediante clasificación de rutas — tras formarse una coincidencia, el motor clasifica la ruta de cada registro como TRUSTED (Program Files, System32, WinSxS, las formas BAM/SRUM /device/harddiskvolumeN/..., …) o SUSPICIOUS (Temp, Downloads, Public, AppData\Local\Temp, Recycle Bin, raíces extraíbles, recursos compartidos de red). Una coincidencia que abarca ambas clasificaciones eleva impersonation_alert (≈0.05% de tasa, cada una un candidato real).
Contabilidad honesta de la evidencia — un registro de descartes por ventana con depósitos con nombre (no_identity_field, normalize_failure, below_threshold_skipped, …) más un resumen por pipeline (registros vistos, altos/bajos emitidos, sin identidad, depósitos de descarte, uniones de feathers atemporales). Cada registro o bien aterriza en una coincidencia o en un depósito de descarte con nombre — "no queda evidencia sin contabilizar" es verificable desde el log. low_confidence_review_mode está activado por defecto, por lo que los grupos por debajo del umbral se convierten en coincidencias de baja confianza en lugar de desaparecer en silencio.
Enriquecimiento de identidad de feathers atemporales — los feathers sin marcas de tiempo por fila (AutoStartPrograms, MUICache, SystemServices, TypedPaths) ya no reciben una hora de generación falsa estampada en cada fila; en su lugar, después de formarse las coincidencias temporizadas, el motor une los registros coincidentes de cada feather atemporal por identidad como evidencia complementaria.
Registro de identidades consolidado — config/standard_fields/identities.json es la fuente única de verdad para cada columna que los motores + Eye deben consultar: 98 categorías, 1,146 sinónimos de columna (aplicación/proceso, archivo, hash, usuario, host/dispositivo, red, registro, servicio/tarea, evento, correo, navegador, nube, internals de Windows, certificado, contenedor, objetos del SO). Añadir un nuevo sinónimo de columna es una edición JSON, no un cambio de código.
Correcciones de falsos positivos en el mapeo semántico — la puerta de múltiples indicadores ahora se aplica de verdad (data-exfiltration-pattern requiere ≥2 indicadores); las reglas AND imposibles (4625 AND 4624) se reescriben como OR; las reglas de wiper/herramientas remotas usan expresiones regulares reales en lugar de dispararse con cada entrada de Prefetch; las reglas de actividad de línea base se rebajan de high/critical a info/low (la puntuación ponderada del wing escala las amenazas reales).
El Correlation Engine está listo para producción y se utiliza activamente en investigaciones (Correlation Engine v1.7.0):- ✅ Motor de Escaneo por Ventana de Tiempo — listo para producción, recomendado para análisis basado en tiempo (O(N log N))
Chrome.exe/chrome.dll/Chrome.EXE colapsan en un mismo grupo; las versiones y los calificadores de arquitectura se mantienen diferenciados.YYYYMMDD, barras estadounidenses y cadenas anotadas se analizan correctamente al primer intento.run_times) se expanden para que cada ejecución reciba su propio evento de correlación.config/standard_fields/*.json; metadatos por tabla en correlation_engine/config/feather_schemas.json — amplíe editando JSON, no código.query_time_range_iter con memoria O(1); cachés de feather protegidos por bloqueos; listo para correlación paralela.El Motor de Correlación consta de cuatro componentes principales:
Propósito: Transformar artefactos forenses sin procesar en un formato estandarizado y consultable.
Examples:
**Formatos de importación admitidos:** CSV (cualquier archivo con cabecera), JSON (plano o anidado) y SQLite (importación directa). Mapeo automático de columnas, detección de tipos de datos, normalización de marcas de tiempo a ISO, validación e índices optimizados.```
prefetch.db (Feather)
├── feather_metadata (artifact type, source, record count)
├── prefetch_data (executable_name, path, last_executed, hash)
└── Indexes (timestamp, name, path)
Propósito: Definir qué artefactos correlacionar y cómo.
#### 3. ⚙️ Motores (Estrategias de Correlación)
**Propósito**: Ejecutar lógica de correlación para encontrar relaciones entre artefactos. Los enlaces estructurales vienen **primero**; una puntuación ponderada por niveles se superpone como *interpretación/clasificación*, no como base para una coincidencia.
**Motor de Escaneo por Ventana de Tiempo** — mejor para análisis basado en tiempo y correlación temporal sistemática. Escanea el tiempo en intervalos fijos, recopila registros de todas las plumas por ventana, aplica coincidencia de campos semánticos + puntuación ponderada, y evita duplicados mediante el seguimiento MatchSet. **O(N log N)** (consultas de marcas de tiempo indexadas); procesamiento por lotes (~2,567 ventanas/segundo).
**Motor de Correlación Basado en Identidad** — mejor para conjuntos de datos grandes (>1,000 registros) y seguimiento de identidad. Extrae y normaliza identidades, agrupa registros por identidad, construye anclas temporales dentro de cada clúster, clasifica la evidencia como primaria/secundaria/de respaldo, y transmite para conjuntos muy grandes (>5,000 anclas) con memoria constante. **O(N log N)**; más de 40 patrones de campos de identidad por tipo.
**Selección del motor:** use el motor de Ventana de Tiempo para análisis basado en tiempo y el motor Basado en Identidad para seguimiento de identidad — ambos están listos para producción y optimizados para grandes conjuntos de datos con consultas indexadas.
#### 4. 🔄 Pipelines (Orquestación de Flujos de Trabajo)
**Propósito**: Automatizar flujos de trabajo de análisis completos desde la creación de plumas hasta la generación de resultados. Un pipeline lee su configuración (tipo de motor, alas, plumas), instancia el motor correcto mediante el EngineSelector, ejecuta cada ala, agrega coincidencias, guarda los resultados (DB + JSON) y los muestra en la GUI con filtrado y visualización.```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"
}
}
### Caso de uso de ejemplo: Encontrar pruebas de ejecución
**Escenario**: demostrar que `malware.exe` se ejecutó en un sistema.```json
{
"wing_id": "malware-execution",
"correlation_rules": { "time_window_minutes": 5, "minimum_matches": 2 },
"feathers": ["prefetch", "shimcache", "amcache"]
}
El contenido de entrada está vacío. No se ha proporcionado ningún texto para traducir. Por favor, envía el chunk 18/25.```python from correlation_engine.pipeline import PipelineExecutor executor = PipelineExecutor(pipeline_config) results = executor.execute()
El contenido de entrada está vacío: no se incluyó texto del chunk 20 para traducir.```
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.mainUn asistente potente, no un sustituto. Eye automatiza y verifica las hipótesis de un investigador; nunca decide por ti.
Eye es el asistente de IA forense integrado de Crow-Eye: un investigador forense experto respaldado por una base de conocimiento real de artefactos de Windows. Te ofrece una interfaz de lenguaje natural para consultar, correlacionar y documentar todo en un caso — Prefetch, MFT, Registry, Event Logs, AmCache, ShimCache, SRUM y más — mientras mantiene un registro auditable y a prueba de manipulación de exactamente lo que hizo. Eye puede ejecutarse por completo en tu propio hardware (incluido totalmente aislado de la red), en línea con la postura de privacidad de Crow-Eye de "0 ms de datos enviados fuera del dispositivo". Arquitectura completa: eye/README.md.
Eye convierte preguntas conversacionales ("muéstrame qué se ejecutó desde C:\Temp después de las 22:00") en trabajo forense real: planifica un enfoque, recupera conocimiento relevante de artefactos, ejecuta SQL y búsquedas entre artefactos contra las bases de datos del caso, y sintetiza una respuesta validada. Cada respuesta se produce en dos lugares a la vez — una respuesta de chat para ti y un bloque estructurado escrito en un Espacio de trabajo de Informe en Vivo, de modo que el expediente se construye solo a medida que avanza la investigación.
Todo lo que hace Eye se ancla al Protocolo Ghassan Elsman (GEP) — un estándar neutral respecto al proveedor e independiente de la herramienta sobre cómo debe usarse cualquier IA en la informática forense. Son 10 principios que un sistema conforme debe cumplir para que los hallazgos asistidos por IA sigan siendo veraces, trazables hasta los registros fuente y respaldados por una cadena auditable y a prueba de manipulación, con el investigador humano al mando:
El Eye de Crow-Eye es la implementación de referencia del GEP; los comportamientos dentro del producto que lo sostienen son las Reglas Operativas. 📜 Lee el estándar: eye/docs/GEP_standard.md.
Eye se adapta a tu modelo de amenazas mediante tres modos de despliegue:
En el modo agente CLI, Crow-Eye utiliza un agente de terminal/línea de comandos de IA existente como modelo — en lugar de una API en la nube o un servidor local sin conexión — para que puedas investigar con el agente que ya usas.
El bucle de investigación:
Puedes cambiar de modelo en tiempo de ejecución con la herramienta switch_model. El cambio está restringido al mismo backend, de modo que la evidencia nunca se envía silenciosamente a un proveedor distinto del que elegiste.
Eye está diseñado para que puedas ver — y luego probar — cómo llegó a una conclusión. Mientras Eye trabaja, transmite actualizaciones estructuradas ThinkingStep a la interfaz en tiempo real; cada una incluye un step_id, type, una label legible por humanos, un status (active → done, o error), y opcionalmente tool/params/detail.
| Tipo de paso | Qué estás viendo |
|---|
Una consulta típica se desarrolla como thinking → rag → thinking → tool_call → synthesis, y cada caso conserva en disco artefactos de rastreo que puedes inspeccionar después:
| Archivo | Qué registra |
|---|---|
<case>/EYE_Logs/eye_payload_seal.jsonl | Las cargas útiles exactas enviadas al modelo, encadenadas por hash. |
<case>/EYE_Logs/truncation_audit.log | Qué contexto se conservó, resumió, descartó o fijó — y por qué. |
<case>/case_history.json | El historial completo de la conversación, con recuentos de tokens por mensaje. |
Eye está orientado a herramientas: el modelo nunca toca la evidencia directamente. Emite llamadas a herramientas, y Eye las ejecuta contra las bases de datos del caso y devuelve los resultados — de modo que cada acción es explícita, queda registrada y es reproducible. Las herramientas están definidas en configs/llm_config.json y se envían a través de eye/services/context_manager.py.
Herramientas de investigación — leer y analizar evidencia:
Las herramientas de informes construyen el Espacio de trabajo de Informe en 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 y export_report (la exportación requiere aprobación humana).
Herramientas de autoría (gobernadas — consulta Construcción de Wings de correlación y Mappings semánticos): correlation_create_wing, correlation_edit_wing, correlation_create_semantic_mapping, correlation_edit_semantic_mapping. Las llamadas a herramientas se traducen a lo que el backend activo espera — llamada nativa a funciones para APIs en la nube y servidores locales, o un envoltorio XML <tool_call> para agentes CLI.
Eye no solo consulta el Motor de Correlación — también puede ayudar a extenderlo. Cuando Eye detecta un patrón recurrente entre artefactos, puede proponer nuevos Wings (reglas de correlación) y Mappings semánticos (traducciones de términos técnicos a lenguaje humano). Esto es autoría gobernada: Eye propone, el analista revisa el artefacto guardado, y cada cambio está justificado y respaldado por evidencia.
Un Wing une feathers dentro de una ventana de tiempo y un umbral mínimo de coincidencias para probar una afirmación:
Un Mapping semántico traduce un valor técnico bruto a un significado legible por humanos (p. ej., EventID 4624 → "Successful Logon"). Se presenta en dos variantes: un mapping simple (valor único/regex → valor semántico) o una rule multicondición (condiciones unidas por AND/OR). Ambos admiten category, severity, confidence y scope, y ambos requieren reason + related_evidence.
Gobernanza — reglas del lado de escritura que sostienen el GEP:
reason forense.database:table:rowid.Las investigaciones largas pueden superar la ventana de contexto de un modelo — especialmente los modelos locales más pequeños. En lugar de fallar o descartar evidencia silenciosamente, Eye autocompacta su propio contexto antes de cada llamada al modelo (dentro de su ruta de generación protegida, totalmente auditada).
Antes de cada llamada, Eye mide la carga útil completa y reserva espacio para la respuesta (10% de la ventana, mínimo 512 tokens, nunca más de la mitad). Si aun así no cabe, se cura en dos pasadas ordenadas, sin tocar nunca los mensajes protegidos (fijados, evidencia autodetectada o un resultado de herramienta):
SUMMARIZED.TRUNCATED.Si el núcleo de evidencia irreductible (fijado + resultados de herramientas + la pregunta actual) aún se desborda, Eye se niega a continuar en lugar de truncar evidencia (REFUSED_OVERFLOW) y te pide que acotes la consulta o uses analyze_large_dataset. Lo que finalmente vaya al modelo es la carga útil exacta que se sella para la cadena de custodia.
El Eye es sin estado entre turnos — por eso el Mapa Narrativo es donde vive "lo que sabemos y lo que hemos concluido" para un caso. Es la memoria de trabajo persistente, auditable y a prueba de manipulación de Eye, y su contenido se inyecta en el prompt de Eye en cada turno (el mapa literalmente es la memoria).
proven · open · negative · needs · absolute), y la Evidencia respaldada por artefactos debajo de estas.narrative_map_audit.jsonl). Puedes añadir, editar y eliminar sus afirmaciones y evidencia, moldeando directamente cómo Eye entiende e interpreta el caso.open sin evidencia mientras investiga, pero nunca puede estar proven sin evidencia; un tema que Eye revisó pero encontró vacío se convierte automáticamente en negative — porque una ausencia documentada es en sí misma un hallazgo.El cumplimiento no es una función añadida por encima — se aplica dentro del pipeline.
database:table:rowid, más los desplazamientos calculados para los registros MFT). Los sellos son de solo añadir y encadenados por hash en <case>/EYE_Logs/eye_payload_seal.jsonl — un único registro alterado o eliminado rompe la cadena, de modo que el registro demuestra matemáticamente qué bytes analizó el modelo.<case>/EYE_Logs/truncation_audit.log (SUMMARIZED, TRUNCATED, PRESERVED, PINNED, UNPINNED, BUDGET_REDUCED), cada una con un hash. La evidencia detectada se fija automáticamente por encima de un umbral de confianza; también puedes fijar mensajes manualmente.📖 Arquitectura completa de Eye: eye/README.md.
Históricamente, los investigadores caían en la trampa de confiar en sus herramientas forenses sin entender cómo se comportan los artefactos subyacentes ni cómo los analizó la herramienta. El riesgo hoy es simplemente reemplazar "la herramienta" por "la IA". Una IA puede analizar un registro con una precisión técnica perfecta y aun así situarlo en el contexto equivocado — cambiando por completo el significado de la evidencia.
Eye-Describe existe para que ni el humano ni el modelo tengan que adivinar. Es una referencia interactiva a nivel de byte de las estructuras binarias brutas de los artefactos de Windows, y cumple dos roles a la vez:
| Rol | Qué hace |
|---|---|
| 🧑🏫 El plano para el humano | Una referencia educativa interactiva sobre la anatomía profunda a nivel de byte de los artefactos de Windows — qué es cada estructura, cómo se comporta, qué puede y qué no puede probar. De uso gratuito, dirigida a estudiantes, educadores y profesionales que quieren entender la evidencia en lugar de la columna de resultados. |
Al anclar la capa de IA al comportamiento documentado de los artefactos, Crow-Eye no te pide que confíes en un modelo — está limitando el modelo para que respete los datos forenses brutos.
No reemplaces la confianza en la herramienta por la confianza en la IA. Entiende los datos.
Una herramienta forense solo es útil si su salida puede defenderse. El trabajo de corrección de Crow-Eye es deliberadamente visible:
RELEASE_NOTES.md — incluidos casos donde una corrección cambió los registros vistos en órdenes de magnitud. Saber qué estuvo mal, y cuándo, es parte de lo que hace defendible un resultado.verify_chain() re-recorre el registro de auditoría del Mapa Narrativo y la cadena del Sello de evidencia para detectar modificaciones — incluso en los campos legibles por humanos.Una selección de las vistas de interfaz y análisis de Crow-Eye.






Trabajo planificado y en curso (consulte RELEASE_NOTES.md para ver los cambios publicados):
¿Tienes una idea o quieres añadir un artefacto? Abre un issue o consulta Contribuir.
Crow-Eye está construido como una plataforma abierta de investigación, y las contribuciones son bienvenidas: nuevos parsers, reglas de correlación, documentación e investigación de artefactos.
Crow-Eye se publica bajo la GNU General Public License v3.0 (GPL-3.0). Es libre de usar, estudiar, compartir y modificar según los términos de esa licencia.
Si utilizas Crow-Eye en trabajos académicos, investigaciones publicadas o un informe de caso, por favor cítalo:```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} }
Texto plano: Elsman, G. *Crow-Eye: Un motor de análisis forense para Windows* (GPL-3.0). https://github.com/Ghassan-elsman/Crow-Eye
Para citas de metodología, el Protocolo Ghassan Elsman está documentado por separado en [`eye/docs/GEP_standard.md`](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/eye/docs/GEP_standard.md).
## 💖 Apoyo
Crow-Eye es gratuito y de código abierto, creado y mantenido por una sola persona. Si te resulta útil para tu trabajo, considera patrocinarlo — financia directamente nuevos parsers e investigación: **[SPONSORS.md](https://github.com/ghassan-elsman/crow-eye/blob/HEAD/SPONSORS.md)** · **[GitHub Sponsors](https://github.com/sponsors/Ghassan-elsman)**.
## Créditos
Creado y mantenido por **Ghassan Elsman**.
| Eres | Tu entrada habitual | Por dónde empezar |
|---|
| IR corporativo / MSSP / MDR | Recopilaciones dirigidas de Velociraptor, KAPE o recopilación nativa de EDR | Importador sin conexión → Motor de correlación → UBA |
| Fuerzas y cuerpos de seguridad / laboratorios forenses | Imágenes forenses completas (E01, VHDX, VMDK, Raw) con requisitos de cadena de custodia | Análisis de imágenes → Motor de correlación → Mapa narrativo |
| Seguridad interna / investigaciones de amenazas internas y RR.HH. | Sistemas en vivo o artefactos recopilados | Análisis en vivo → historia de actividad de UBA |
| Estudiantes, educadores e investigadores | Imágenes de muestra y datos de laboratorio | Eye-Describe → Inicio rápido |
| Subsistema | Qué hace | Etapa |
|---|
| Crow-Claw | Adquisición de alta velocidad de sistemas en vivo e imágenes de equipos apagados. | Adquisición |
| Importador sin conexión | ESCANEAR → RECOPILAR → ANALIZAR artefactos de cualquier fuente en la base de datos del caso. | Adquisición |
| Motor de correlación | Reconstrucción de doble motor (Identidad + Ventana de tiempo) mediante Feathers · Wings · Engines · Pipelines. | Análisis |
| Línea de tiempo interactiva | Línea de tiempo con hilos de identidad y trazable judicialmente (vistas de Mapa de calor / Semana / Día), leída directamente de las bases de datos del caso. | Verificación |
| User Behavior Analytics (UBA) | Historia de actividad en lenguaje sencillo y basada en reglas: "¿qué hizo este usuario?" | Inteligencia |
| Eye — Asistente de IA | Investigación en lenguaje natural + la memoria de caso Mapa Narrativo sellada. | IA |
| Forense de almacenamiento | Análisis de discos físicos y particiones (detección de ocultos/no montados, advertencias de arranque). | Análisis |
| Artefacto | En vivo | Offline | Datos extraídos |
|---|
| Prefetch | ✅ | ✅ | Historial de ejecución, número de ejecuciones, marcas de tiempo por ejecución |
| Registro (AutoRun, UserAssist, BAM, ShimCache, redes, zona horaria) | ✅ | ✅ | Persistencia, uso de programas, actividad en segundo plano, configuración de red |
| Amcache | ✅ | ✅ | Ejecución de aplicaciones, hora de instalación, SHA-1, rutas de archivo |
| ShimCache | ✅ | ✅ | Aplicaciones ejecutadas, última modificación, tamaño |
| MUICache | ✅ | ✅ | Presencia de programas y nombres para mostrar |
| Jump Lists y LNK | ✅ | ✅ | Acceso a archivos, rutas, marcas de tiempo, metadatos |
| ShellBags | ✅ | ✅ | Historial de acceso a carpetas y navegación |
| MRU y RecentDocs / Rutas escritas | ✅ | ✅ | Historial de abrir/guardar, archivos recientes, ubicaciones escritas |
| Historial del navegador / sitios web | ✅ | ✅ | Sitios visitados y horas de acceso |
| Registros de eventos (Sistema / Seguridad / Aplicación) | ✅ | ✅ | Inicios de sesión, creación de procesos (4688), cambios de cuentas y servicios, borrado de registros |
| MFT | ✅ | ✅ | Metadatos de archivos, archivos eliminados, marcas de tiempo (NTFS, Win 7/10/11) |
| USN Journal | ✅ | ✅ | Crear/modificar/eliminar/renombrar archivos con historial completo de nombres |
| Papelera de reciclaje | ✅ | ✅ | Nombres de archivos eliminados, rutas, hora de eliminación, tamaño |
| SRUM | ✅ | ✅ | Uso de recursos/red/energía de las aplicaciones, datos transferidos por aplicación |
| USB y dispositivos conectados | ✅ | ✅ | Conexión y presencia de dispositivos |
| Lista de redes y conexiones | ✅ | ✅ | Redes conocidas y actividad de conexión |
| Inicio automático / Servicios y controladores | ✅ | ✅ | Persistencia, instalaciones de servicios y cambios de estado |
| Discos y particiones (Forensia de almacenamiento) | ✅ | ✅ | Árbol de discos físicos, diseño de particiones, detección de ocultos/no montados |
$RECYCLE.BIN para recuperar nombres de archivos eliminados, rutas originales, horas de eliminación y tamaños (sistemas en vivo e imágenes de disco).| 🔍 SCAN | 📦 COLLECT |
|---|
| Acción | Detección — identifica artefactos en su ubicación original | Adquisición — copia y preserva artefactos en la carpeta del caso |
| Impacto de E/S | Solo lectura; no se mueven archivos | Lectura + escritura; duplica físicamente los artefactos |
| Organización | Actualiza los metadatos de .artifact_scan_index.json | Organiza archivos en carpetas específicas por tipo |
| Caso de uso | Triaje rápido para ver si la fuente tiene datos relevantes | Preservación forense completa para análisis a largo plazo |
| Entrada | Qué ocurre |
|---|
.db / .sqlite | Validado y copiado tal cual a la carpeta Imported_Evidence/ del caso. El esquema no se modifica. |
.csv / .json | Convertido automáticamente en una base de datos SQLite con forma de feather mediante el FeatherWriter canónico, con feather_metadata que declara la marca de tiempo principal de la tabla — auto-detectada a partir de los nombres de columna — exactamente igual que un feather recopilado de forma nativa. |
| Categoría | Detecciones incluidas |
|---|
| Identidad y acceso | Inicio/cierre de sesión, desbloqueo de estación de trabajo, inicios de sesión de escritorio remoto, inicios de sesión de administrador, uso de credenciales explícitas (runas), creación y cambios de cuentas, incorporaciones a grupos de administradores |
| Ejecución | Programas abiertos (UserAssist), programas ejecutados (Prefetch, expandido a eventos por ejecución), creación de procesos (4688), presencia de programas (ShimCache / AmCache / MUICache), instalaciones de aplicaciones, fallos de aplicaciones (de los registros 1001 del registro de eventos de aplicación) |
| Actividad de archivos | Abrir / crear / eliminar / copiar / renombrar archivos — los renombrados muestran el historial completo de nombres (old → … → current) reconstruido a partir del USN Journal, con resolución de eliminación suave ($R/$I) |
| Navegación | Navegación por carpetas (ShellBags), documentos recientes, ubicaciones escritas, visitas a sitios web |
| Dispositivos y red | Conexión de dispositivos USB, presencia de dispositivos, recursos compartidos de red, conexiones de red, datos transferidos por aplicación (SRUM) |
| Persistencia y sistema | Persistencia de inicio automático (claves Run + servicios, escalada cuando el objetivo se ejecuta desde una ruta escribible por el usuario), instalaciones de servicios y controladores, cambios de estado de servicios, inicio/apagado del sistema, cambios de reloj, borrado de registros de eventos |
| Registros |
|---|
| Motor de ventana temporal |
|---|
| Motor basado en identidad |
|---|
| 1,000 | 0.5s | 2s |
| 10,000 | 5s | 15s |
| 100,000 | 50s | 2.5 min (streaming) |
| 1,000,000 | — | 25 min (streaming) |
| Capacidad | Qué significa para ti |
|---|
| Investigación en lenguaje natural | Pregunta en lenguaje natural; Eye escribe el SQL y realiza las búsquedas por ti. |
| Integración multi-fuente | Acceso unificado a todos los artefactos analizados del caso. |
| Análisis mejorado con RAG | Eye extrae conocimiento forense específico de artefactos antes de responder. |
| Espacio de trabajo de Informe en Vivo | Hallazgos, tablas, gráficos y cronologías se documentan en tiempo real. |
| Humano en el circuito | Las acciones críticas (p. ej., exportación del informe) requieren tu aprobación explícita. |
| Cadena de custodia | Prueba criptográfica de exactamente qué analizó el modelo. |
| # | Principio | En una línea |
|---|
| GEP-1 | Primacía de la evidencia | Las conclusiones provienen solo de artefactos realmente examinados. |
| GEP-2 | Trazabilidad | Cada hecho se vincula a un registro fuente específico. |
| GEP-3 | Especificidad y cronología | Marcas de tiempo UTC exactas, identificadores y rutas, ordenados en el tiempo. |
| GEP-4 | Corroboración cruzada | Basarse en múltiples fuentes; reportar concordancia, silencio y conflicto. |
| GEP-5 | Verificación de premisas | Trata las afirmaciones humanas como hipótesis a probar o refutar. |
| GEP-6 | Completitud | Nunca descartes ni trunque evidencia silenciosamente. |
| GEP-7 | Integridad y no repudio | Nunca modifiques la evidencia; registra lo visto y lo hecho, de forma a prueba de manipulación. |
| GEP-8 | Transparencia y explicabilidad | El razonamiento, las herramientas usadas y los datos vistos son visibles y auditables. |
| GEP-9 | Autoridad humana | El investigador decide; las acciones persistentes son atribuibles. |
| GEP-10 | Defendibilidad | La salida es objetiva, precisa y estructurada para una revisión independiente. |
| Modo | Ideal para | Backends |
|---|
| ☁️ Modelos de IA en la nube | Análisis profundos y complejos con el máximo cómputo | OpenAI, Anthropic (Claude), Google Gemini |
| 🔒 Servidor de IA sin conexión (aislado de la red) | Investigaciones locales con exposición cero | Ollama, LM Studio |
| ⚡ Agentes de terminal CLI | Reutiliza un agente de terminal de IA que ya tengas como modelo | Claude Code, Gemini CLI, ChatGPT CLI, llama.cpp, … |
thinking | Planificación de Eye: detección de la intención forense, construcción del prompt del sistema, decisión de los siguientes pasos. |
rag | Eye recuperando conocimiento de artefactos desde su base de conocimiento para fundamentar la respuesta. |
tool_call | Eye ejecutando una herramienta forense (una consulta SQL, una búsqueda, una consulta de correlación). |
synthesis | Eye validando y ensamblando la respuesta final respaldada por evidencia. |
| Herramienta | Propósito |
|---|
query_database | Ejecutar un SELECT contra una base de datos forense. |
search_artifacts | Búsqueda de texto / regex entre bases de datos. |
semantic_search_artifacts | Búsqueda semántica entre artefactos analizados. |
get_schema | Inspeccionar los esquemas de las tablas. |
query_correlation_results | Consultar la salida del Motor de Correlación por tiempo / identidad. |
correlate_imported_evidence | Correlacionar evidencia de terceros importada al caso contra artefactos nativos. |
analyze_large_dataset | Análisis map-reduce de grandes conjuntos de resultados — sin truncación silenciosa. |
list_case_files | Listar archivos en el directorio del caso. |
internet_search / fetch_web_content | Buscar y obtener contexto externo de amenazas / técnico. |
query_living_off_the_land_intel | Consultas LOLBAS / LOLDrivers. |
query_threat_intel | Consultas VirusTotal / threat-intel. |
switch_model | Cambiar el modelo en tiempo de ejecución (solo mismo backend). |
| Campo | Significado |
|---|
wing_name | Nombre legible por humanos para la regla. |
proves | La afirmación forense que respalda (p. ej., ejecución de programas). |
feathers[] | Artefactos a correlacionar — cada uno con artifact_type, weight opcional (0–1) y tier (1–4). |
time_window_minutes | Ventana de correlación (por defecto 180 = 3 horas). |
minimum_matches | Cuántos feathers deben coincidir dentro de la ventana (por defecto 1). |
reason (obligatorio) | Justificación forense de la regla. |
related_evidence (obligatorio) | Una o más referencias database:table:rowid que lo motivaron. |
reason forense y related_evidence; las reglas creadas fuera de Eye son de solo lectura y no pueden reescribirse silenciosamente.| ⚖️ El ancla de cumplimiento para la IA | La visibilidad de Eye está vinculada a los comportamientos documentados de los artefactos en Eye-Describe. El modelo razona contra una referencia fija de lo que un artefacto realmente significa, en lugar de inferir la semántica por su cuenta. |