EIDOLON es una mesa de trabajo forense local para gestión de casos, ingreso de evidencia, cálculo de hashes, cadena de custodia, construcción de líneas temporales, notas del investigador, reportes y exportación del caso.
El proyecto está desarrollado principalmente en Rust, con un helper nativo opcional en C++ para metadatos de Windows y un puente auxiliar en PowerShell para firma digital.
EIDOLON está diseñado para organizar investigaciones digitales locales de forma ordenada, reproducible y documentada.
No es antivirus.
No es una herramienta de eliminación.
No modifica evidencia original.
No sube datos a servicios externos.
No ejecuta muestras.
Su función es registrar, preservar, documentar y reportar.
- Creación de casos.
- Inventario de evidencia.
- Ingreso de archivos o carpetas.
- Copia opcional al vault del caso.
- Hashes SHA256, SHA1 y MD5.
- Registro de cadena de custodia.
- Notas del investigador.
- Línea temporal por timestamps.
- Reporte HTML.
- Reporte JSON.
- Exportación ZIP del caso.
- TUI local de visualización.
- Base SQLite local.
- Helper C++ opcional para metadatos nativos.
- PowerShell auxiliar para firma Authenticode.
Rust núcleo, CLI, TUI, hashing, SQLite, reportes y exportación
C++ helper opcional de metadatos nativos de Windows
PowerShell extracción auxiliar de firma digital
SQLite base local del caso
HTML/CSS reportes
Batch scripts de ejecución y build
YAML GitHub Actions
Requiere Rust instalado.
Compilar:
cargo build --releaseEjecutar:
cargo run -- case listCrear caso:
eidolon case new "support-case-001" --investigator "xtr4ng3" --description "Initial local forensic review"Agregar evidencia:
eidolon evidence add <case_id> "C:\Users\User\Downloads\setup.exe" --copy --tags "download,installer"Listar evidencia:
eidolon evidence list <case_id>Agregar nota:
eidolon note add <case_id> "Installer was received from an unverified source."Construir timeline:
eidolon timeline build <case_id>Ver timeline:
eidolon timeline list <case_id>Generar reporte HTML:
eidolon report html <case_id>Generar reporte JSON:
eidolon report json <case_id>Exportar caso:
eidolon export <case_id>Abrir TUI:
eidolon tui1. Crear caso
2. Ingresar evidencia
3. Copiar evidencia al vault si corresponde
4. Calcular hashes automáticamente
5. Registrar notas del investigador
6. Construir timeline
7. Generar reporte
8. Exportar paquete del caso
EIDOLON crea una carpeta local:
eidolon_workspace/
├─ eidolon.db
├─ cases/
├─ reports/
└─ exports/
La base SQLite contiene:
cases
evidence
custody
notes
timeline
Cada caso incluye:
id
name
investigator
description
created_at
status
Cada evidencia registra:
id
case_id
source_path
stored_path
file_name
kind
size_bytes
sha256
sha1
md5
created_at
modified_at
added_at
tags
Cada acción relevante queda registrada como evento:
case.created
evidence.added
note.added
report.generated
case.exported
El objetivo es mantener un historial trazable y legible del trabajo realizado.
Los reportes se generan dentro de:
eidolon_workspace/reports/
Formatos disponibles:
HTML
JSON
El reporte HTML incluye:
- resumen del caso;
- inventario de evidencia;
- timeline;
- cadena de custodia;
- notas del investigador.
La exportación genera un paquete ZIP en:
eidolon_workspace/exports/
El paquete puede incluir:
- evidencia copiada al vault;
- reporte HTML;
- reporte JSON;
- estructura del caso.
El directorio native/ incluye un helper opcional de lectura de metadatos de archivo para Windows.
Compilación:
native\BUILD_NATIVE_MSVC.batEste componente es de solo lectura.
build_windows\BUILD_RELEASE.bat
build_windows\RUN_EIDOLON_TUI.bat
EIDOLON trabaja localmente y no ejecuta evidencia.
Principios del proyecto:
- lectura antes que modificación;
- hashes antes que interpretación;
- registro antes que conclusión;
- reporte antes que acción;
- trazabilidad completa del caso.
xtr4ng3
MIT.