node scripts/record-session.js <profileId> <duration_sec> [work_cmd]
- Inicia el recorder de Sentinel (
sentinel-cli network record): captura procesos, red, DNS - Si se especifica
work_cmd, lo ejecuta en background viacmd.exe /c - Espera la duración especificada o hasta que termine el recorder
- Guarda en
replay-corpus/recorded/session-<id>.json - Genera
replay-corpus/recorded/session-<id>.ground-truth.json
Cada perfil debe grabarse en una invocación SEPARADA de bash/tool. Si se ponen múltiples perfiles en el mismo script, los comandos de trabajo de todos los perfiles aparecen en el command line del PowerShell padre, contaminando la detección.
El cache DNS de Windows persiste entre sesiones. Usar antes de grabar:
Start-Process -WindowStyle Hidden -FilePath cmd -ArgumentList '/c ipconfig /flushdns'El texto del echo en el work command NO debe contener nombres de agentes IA (cursor, claude, etc.) porque el process monitor los detecta. Usar genéricos:
Bien: echo editando fuente...
Mal: echo cursor-edit editando fuente...
Mínimo 15-20 segundos para que los sensores (especialmente poll 100-2000ms) capturen eventos. Usar ping -n 15 127.0.0.1 >nul para mantener el proceso vivo.
Usar "" (doble doble comilla) para nested quotes en PowerShell:
cmd.exe /c "echo profile running... & curl ""https://api.example.com"" & ping -n 4 127.0.0.1 >nul"
session-<random>.json: Eventos crudos (process, git command, file access)session-<random>.ground-truth.json: Metadatos del perfil + riesgo esperado