Skip to main content

vamp-forensic-query

© VampSecure Studios — VampSecure Labs Security Research Division

Consultas forenses self-service sobre logs y eventos de usuario, sin necesidad de un LLM, que generan por sí solas la evidencia lista para peritaje: informe firmado, cadena de custodia (SHA-256 de las fuentes) y paquete ZIP a prueba de manipulación (MANIFEST.sha256).

Pensado para responder preguntas concretas de una investigación —"¿cuántos DNI distintos cambiaron la contraseña en 2026, cuáles y cuántas veces?", "dame la cronología exacta de esta cuenta"— de forma determinista y reproducible.

Cómo funciona

  1. Ingesta cualquier fuente tabular (CSV/XLSX) a un modelo normalizado de eventos (entidad, tipo, acción, fecha_hora, IP, estado, fuente).
  2. Clasifica la entidad automáticamente: DNI (8 díg.+letra), NIE, CIF, email, IPv4.
  3. Consulta con la CLI (sin IA): distinct, top, timeline, events, sql.
  4. Genera evidencia: por cada consulta escribe resultado (CSV+JSON), informe pericial HTML (con la consulta reproducible, metodología, cadena de custodia y nota legal) y, con --evidence, un ZIP firmado con MANIFEST.sha256 de cada artefacto + cadena_de_custodia.json.

Consultas

Consulta Qué devuelve
distinct Entidades distintas + nº de veces, primero/último evento, nº de IPs, y distribución por tipo
top Como distinct pero solo reincidentes (--min-count N)
timeline Cronología exacta (fecha-hora + IP + estado) de una entidad (--entity)
events Todos los eventos que cumplen los filtros
sql SELECT libre (solo lectura) sobre la tabla events

Filtros

--action, --entity, --entity-type {DNI,NIE,CIF,email,IPv4,otro}, --ip, --year, --from/--to (YYYY-MM-DD), --min-count.

Mapeo de columnas

Con --map rol=columna o un perfil reutilizable (--profile cliente.json):

{ "sep": ";", "action_const": "password_change",
  "map": { "entity": "Usuario", "ts": "CreatedAt", "ip": "Datos" } }

--action-const fija la acción para toda la fuente (útil si el fichero es de un solo tipo de evento, p. ej. un export de cambios de contraseña). --sep re-divide fuentes cuyos campos vienen en una sola columna.

Ejemplos

# Cuántos DNI distintos cambiaron contraseña en 2026 (+ evidencia firmada)
vamp_forensic_query.py Contrasenas.xlsx distinct \
  --profile cliente.json --year 2026 --entity-type DNI \
  --case "CASO-2026-001" --analyst "Perito — VampSecure Labs" --evidence

# Cronología exacta de una cuenta
vamp_forensic_query.py Contrasenas.xlsx timeline --profile cliente.json --entity 11723541G

# Reincidentes (>=4 eventos) de todos los tipos, con evidencia
vamp_forensic_query.py Contrasenas.xlsx top --profile cliente.json --action password_change \
  --year 2026 --min-count 4 --evidence

# Consulta libre
vamp_forensic_query.py Acceso.csv sql --map entity=Usuario ts=Fecha ip=IP \
  --sql "SELECT ip, COUNT(DISTINCT entity) n FROM events GROUP BY ip HAVING n>=3 ORDER BY n DESC"

Salida de evidencia

Cada consulta con --evidence produce en --out:

  • consulta_<UTC>.json — resultado + metadatos + consulta reproducible + cadena de custodia
  • consulta_<UTC>.csv — resultado tabulado
  • consulta_<UTC>.html — informe pericial
  • consulta_<UTC>_evidencia.zip — paquete sellado (MANIFEST.sha256 + cadena_de_custodia.json)

Integridad: cualquier alteración de un byte de las fuentes cambia su SHA-256 y rompe la cadena de custodia; cualquier alteración de un artefacto rompe su hash en el MANIFEST. Los resultados son verificables reejecutando la consulta indicada sobre ficheros de idéntico hash.

Requisitos

  • Python 3.9+ (stdlib). Para fuentes .xlsx: pip install pandas openpyxl.

Prefijo de hallazgos

No aplica (es una herramienta de consulta/evidencia, no de detección). Complementa a vamp-log-analyzer (detección FORA-NNN) aportando la capa de consulta ad-hoc + evidencia.

Metadata

Release files for vamp-forensic-query 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vamp-forensic-query 1.2
File Size Uploaded
vamp_forensic_query-1.2.tar.gz 15.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vamp-forensic-query 1.2
File Interpreter ABI Platform
vamp_forensic_query-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 32.0 kB

Release files / vamp_forensic_query-1.2.tar.gz

Download URL vamp_forensic_query-1.2.tar.gz
Size 15.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8a1d8bc46a8d722c1211df477c0db735b8b52c61cdaef1d4e9799d4f564e6b65
BLAKE2b-256 checksum
How to use checksums
7023375fa8197e1c297edc93681dae094d2103c5b567f49e139cb50dec02b6fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / vamp_forensic_query-1.2-py3-none-any.whl

Download URL vamp_forensic_query-1.2-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
adf8d8464ec0a9d991628f856bc3096d8632825b4292aa16de1d1f3a85d54323
BLAKE2b-256 checksum
How to use checksums
80f0993f973b4e2b505d2219936a5497d4779a4a29f5cfb16204f3f5fa9961f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

1.3

2 release files

This release

1.2 This release

2 release files

1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page