9042110ea2
Cinco issues que componen el plan: - 0026: sistema de jobs (infra, contrato wire) - 0027: tipo Webpage + cache de documentos - 0028: enricher fetch_webpage (MVP end-to-end) - 0028b: enrichers extract_domain / extract_links / extract_text_entities - 0029: variantes CDP (Chrome headless, screenshot) - 0030: macro "Deep enrich" + expand_domain Tambien anade los issues previos 0012-0025 que estaban untracked. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
---
|
|
id: 0018
|
|
title: Transforms automatizadas tipo Maltego con browser headless
|
|
status: pending
|
|
priority: low
|
|
created: 2026-05-01
|
|
depends_on: [0012]
|
|
---
|
|
|
|
## Objetivo
|
|
|
|
Dada una entidad seleccionada, ejecutar un script (Playwright/Puppeteer)
|
|
que enriquece el grafo con datos derivados — equivalente a las
|
|
"transforms" de Maltego. Es la pieza que diferencia frente a alternativas
|
|
mas estaticas.
|
|
|
|
## Ejemplos para banking/OSINT espanol
|
|
|
|
- Persona/empresa -> consulta BORME, registro mercantil, axesor.
|
|
- Dominio -> whois, DNS records, certificados (crt.sh).
|
|
- Email -> haveibeenpwned, hunter.io.
|
|
- Telefono -> truecaller-like.
|
|
- Empresa -> LinkedIn search publico, opencorporates.
|
|
|
|
## Alcance
|
|
|
|
- Cada transform es un pipeline del registry con tag `transform` y un
|
|
contrato fijo: input = `{id, type, metadata}`, output = `{entities,
|
|
relations}`.
|
|
- Registro de transforms aplicables por entity_type.
|
|
- UI: context menu sobre nodo -> "Run transform..." -> lista filtrada
|
|
por type aplicable -> ejecuta async -> notifica al terminar -> preview
|
|
antes de commit.
|
|
- Sandbox: cada transform en proceso aparte, timeout configurable.
|
|
|
|
## Riesgos y mitigaciones
|
|
|
|
- Los scrapers se rompen cuando los sitios cambian -> mantener una suite
|
|
de "transform health checks" automaticos (cron ligero) que avisa de
|
|
fallos antes de que el usuario los descubra en vivo.
|
|
- Cumplimiento legal y robots.txt -> documentar en cada transform su
|
|
fuente, politica y ToS.
|
|
- Rate limiting -> cooldown por host configurable.
|
|
|
|
## Definicion de hecho
|
|
|
|
- Selecciono un dominio en el grafo, lanzo "whois", aparecen registrant,
|
|
registrar y nameservers como nodos vinculados con relaciones tipadas.
|
|
- Un transform que falla loguea el error y no afecta a otros que
|
|
esten corriendo en paralelo.
|
|
- La lista de transforms aplicables a una entidad se computa segun su
|
|
type (no se ofrecen los inaplicables).
|
|
- Health check cron escribe a `proposals` cuando un transform empieza a
|
|
fallar repetidamente.
|