Evaluaciones
La app tiene 3 vistas de riesgo con propósitos distintos — cada una tiene su lugar en el proceso:
Escenarios de Amenaza
Modelado por zona + MITRE ICS + efectividad de controles.
Uso: fase de planning — ¿qué podría pasar?
ISA/IEC 62443-3-2
Security Levels objetivo vs. actual — gap analysis.
Uso: compliance — ¿estamos alineados con el estándar?
Risk Register Estás aquí
Riesgos formales con owner, treatment, audit, aprobación.
Uso: runtime — ¿qué gestionamos y quién decide?

Risk Register · Gobierno de Riesgos OT

ISO 31000 · NIST RMF · ISA/IEC 62443-3-2
Distribución por decisión de tratamiento
Risk Register (click en "Editar" en cualquier fila para gobernar)
Portfolio — vista cross-assessment
Vista agregada de todos los assessments (útil para consultores con múltiples clientes)
Este panel muestra un resumen ejecutivo cross-organizacional. Solo para admins. Los datos se calculan en tiempo real desde todos los assessments visibles.
Assessments — resumen ejecutivo

Gestión de Vulnerabilidades OT

RACI por fase · OT Risk Score v2 · MoC embebido · Risk Acceptance con review · Compensating Controls · Campañas multi-CVE · Evidence vault con SHA-256
Antigüedad de vulnerabilidades abiertas
Severidad × Nivel Purdue
Top vulnerabilidades críticas / altas (abiertas)
Sólo hallazgos confirmados en el entorno. Las vulnerabilidades nacen en fase de Identificación y siguen el ciclo de vida completo con responsable por fase. Threat Intelligence sigue disponible como insumo para evaluación, pero no alimenta el catálogo directamente.
Importa hallazgos de severity high/critical desde cloud_alerts (poblados por agent_ot_cloud_connector).
Sube archivo de reporte de vulnerabilidades. El parser detecta automáticamente formato Nozomi/Claroty/Tenable o usa heurística genérica.
Pega texto de advisory CISA, email de vendor, screenshot de reporte, etc. La IA extrae vulnerabilidades estructuradas.
Políticas de SLA
Plazos de remediación por severidad. La política default se aplica a plantas sin override específico. Crítica + KEV tiene plazo más estricto que Crítica sin KEV.

Ventanas de Mantenimiento
Paros planeados donde es posible aplicar parches / cambios de configuración. Las vulnerabilidades se alinean a la próxima ventana disponible. Si el SLA cae antes de la ventana, se marca como Requiere cambio de emergencia .

Vulnerabilidades sin ventana asignada
Reporte ejecutivo con 8 secciones: KPIs, aging, heatmap severidad × Purdue, top críticas, calendario de mantenimiento alineado, plan de remediación priorizado.

Threat Intelligence · OT/ICS

MITRE ATT&CK for ICS · CISA KEV · ICS-CERT Advisories · NVD CVE API · FIRST EPSS · NIST CSF 2.0 (ID.RA, DE.CM)
Top fabricantes expuestos
Alertas KEV recientes
Ranking de activos por Exposure Score (0-100) que combina CVSS máximo (30%), EPSS máximo (25%), presencia en KEV (20%), criticidad Purdue (15%) y criticidad del activo (10%). Alineado con ISA/IEC 62443-3-2 y NIST SP 800-82r3.
Click en cualquier fila para ver el detalle de CVEs asociados.
Cuadrante superior-derecho = mayor riesgo (alta severidad técnica sobre activo crítico de OT).
Grupos de amenaza (intrusion-sets) del MITRE ATT&CK ICS framework. Útiles para tabletop exercises y modelado de amenazas por sector industrial.
Indicadores de compromiso (IPs, dominios, URLs, hashes) desde abuse.ch URLhaus (público) y ThreatFox (requiere Auth-Key gratis en abuse.ch). Útil para reglas SIEM/IDS y bloqueos en firewall industrial.
Las fuentes públicas de CTI se actualizan bajo demanda. La sincronización completa puede tardar 30-90s + 5-10s por CVE enriquecida con NVD (rate-limited).
Configurar fuentes con autenticación — ThreatFox requiere Auth-Key gratis de abuse.ch
ThreatFox Auth-Key

Obtén una Auth-Key gratis registrándote en auth.abuse.ch . La key se guarda en la BD (tabla app_settings) y se enmascara al mostrarse.


Log de sincronizaciones recientes

                    

Normativa OT · Políticas, Procedimientos y Cumplimiento

ISA/IEC 62443-2-1 (CSMS) · NIST CSF 2.0 (GV) · NIST SP 800-82 Rev.3 · API 1164 · NERC CIP v7 · AWIA 2018
Templates seed con esqueleto fijo. La IA personaliza alcance, roles, ejemplos por sector.
Procedimientos operacionales con pasos estructurados (responsable + evidencia + referencia normativa por paso).
Instancias personalizadas con workflow de aprobación (Draft → In Review → Approved → Published → Obsolete).
Tabla de equivalencias entre ISA/IEC 62443, NIST CSF 2.0, NERC CIP, ISO 27001 y NIST 800-53. Útil para demostrar a auditores que una sola política cubre múltiples marcos.

Checklist normativo (ISA/IEC 62443-2-1 + NIST CSF 2.0)
Cada perfil define el marco regulatorio aplicable y la biblioteca recomendada de políticas/procedimientos para ese vertical industrial.

Tabletop Exercises · OT Incident Response

NIST SP 800-84 · NIST SP 800-61r3 · IEC 62443-2-1 §4.3.6 · NIST CSF 2.0 (RS, RC) · CISA CTEP · MITRE ATT&CK for ICS
Catálogo curado de escenarios OT basados en incidentes reales (Colonial Pipeline, TRITON, Stuxnet, Industroyer, BlackEnergy, supply chain). Selecciona uno para crear una sesión, o genera un escenario custom con IA basado en el contexto de tu planta.
Sesiones planeadas y completadas
After-Action Report
Diagnóstico de Plataforma OT Monitoring
Evalúa madurez de implementación, adopción y afinación de Nozomi / Claroty / Tenable OT
Registra las plataformas OT monitoring a las que quieres conectarte. Las credenciales se encriptan localmente.
El diagnóstico consulta la API de la plataforma, corre checks contra 8 dimensiones (Inventory, Data Quality, Segmentation, Detection, Alerts, Response, Health, Improvement) y produce un score 0-100 con recomendaciones priorizadas.
Cada corrida se guarda como snapshot. Puedes comparar scores a lo largo del tiempo para medir mejora.
Export XLSX
Editor drawio (v2)
Hallazgos de validación (ISA/IEC 62443)
Matriz de comunicaciones + reglas firewall
Arquitectura actual vs objetivo (gap analysis)

Vendor Risk Management

Registro de vendors OT · Contratos vigentes con SLA · Canales de acceso remoto con higiene MFA/Jump/Recording. Alineado con ISA 62443-2-4 y NIST SP 800-82r3 §6.4.
Los contratos vencidos son un hallazgo automático en assessments 62443. Se debe verificar cláusulas de confidencialidad, security addendum y notificación de incidentes .
Los canales de acceso remoto de vendor son el top attack vector en OT actual (Colonial, Kaseya, SolarWinds). Cada canal debe tener: MFA · Jump host · Session recording · Ticket previo · Ventana horaria. Revocaciones se auditan.
Sube SBOMs (Software Bill of Materials) en formato CycloneDX JSON para documentar los componentes de software de tus vendors. Requerido por Executive Order 14028 · CRA (EU) · NIS2 · ISA 62443-4-1 §SM-13 . Los componentes se pueden correlacionar con CVEs y advisories en v0.71+.


SBOMs cargados
El motor evalúa 7 reglas contra vendors, contratos y canales remotos, y genera hallazgos automáticos en el módulo Hallazgos del assessment activo. Se marcan con source='vendor_risk_auto' . El motor es idempotente : correr múltiples veces no duplica; al arreglar la condición, el hallazgo se elimina automáticamente.
Corre las 7 reglas contra el estado actual y sincroniza los hallazgos.

Hallazgos activos generados por el motor:
Centro de ayuda
Guías de operación para administradores y usuarios finales
Contenido
Organizaciones / Clientes
Multi-tenant: un consultor puede atender varios clientes desde la misma instancia. Cada assessment pertenece a UNA organización; los usuarios solo ven los assessments de las orgs a las que están asignados.
Gestión de Usuarios
Crear, editar y eliminar usuarios de la aplicación. Restringido a administradores.

Auditoría — Bitácora de eventos

Eventos de autenticación, gestión de usuarios y operaciones sensibles (snapshots, restore). Acceso restringido a administradores . La retención es indefinida; exporta a CSV antes de cualquier purga manual.
Filtros
Resultados ordenados por occurred_at DESC · tope: 1000 filas (refina filtros si llegas al tope).
Descargar CSV
Eventos
Configuración del Sistema
API Keys y conexiones externas — almacenadas localmente

API Key de Anthropic
La API key se almacena en la base de datos local y se inyecta como variable de entorno al guardar. El Agente IA la usa automáticamente.

Sobre el Agente IA
¿Qué hace el Agente?

El Agente IA analiza los datos del assessment (activos, hallazgos, riesgos) y genera recomendaciones de ciberseguridad OT contextualizadas con los estándares ISA/IEC 62443 y NIST SP 800-82.


Seguridad de la API Key

La key se guarda en la base de datos SQLite local del equipo. Nunca se transmite a servidores externos distintos a api.anthropic.com .


Estado actual:

Claroty Continuous Threat Detection (CTD)
Integración desactivada
Nozomi Networks Guardian / Vantage
Integración desactivada
Tenable One Tenable.io / OT Security
Para Tenable OT Security (ex Indegy), usa el endpoint de la instancia on-premise.
Integración desactivada

El licenciamiento controla qué módulos y funcionalidades están habilitadas para tu deployment. La verificación es offline (sin llamada a servidor externo), usa firma criptográfica Ed25519. Solicita tu licencia a soporte.
Estado de la licencia
Uso vs límites
Cargar licencia
Sube el archivo .lic que te envió soporte. Se valida la firma y el instance ID antes de activarla. La licencia anterior queda archivada en historial.
Instance ID (fingerprint)
Este es el ID único de este deployment. Debe coincidir con el campo instance_id_primary o instance_id_fallback de tu licencia. Compártelo con soporte al solicitar una nueva licencia.

                          
El ID cambia si migras a otra VM (hostname o MAC distintos). En ese caso, solicita re-emisión.

Cuando encuentres un problema, descarga el paquete de diagnóstico y adjúntalo al ticket de soporte. El ZIP contiene información técnica anonimizada (sin nombres reales, IPs, credenciales, ni contenido de tus vulnerabilidades / arquitectura).
Paquete de diagnóstico
Contenido del ZIP:
  • version.txt — versión exacta de la app.
  • license_status.json — estado de licencia (sin firma ni instance_id).
  • audit_log_last_30d.csv — eventos de auth (usernames hasheados).
  • system_info.txt — OS, R, packages, tamaños, row counts.
  • db_snapshot_anonymized.sqlite — snapshot de la BD por whitelist (sin PII).
  • journal_last_1000_lines.txt — logs de systemd (si accesible).
  • README.txt — explicación del contenido.
Podés abrir el ZIP con DB Browser y revisar el contenido antes de enviarlo. Nada se envía automáticamente.
Descargar diagnóstico
Respaldos y Restauración
Crear, listar y restaurar backups de la base de datos
Backups locales
Los backups locales se guardan junto a la BD en data/ . El servicio ot-backup-db.timer crea uno diario a las 03:30 (rotación 14 días). Podés crear backups manuales adicionales acá.

Restaurar desde archivo externo
Subí un archivo .sqlite para reemplazar la BD actual. Antes del swap se crea un backup automático del estado actual con prefijo before_restore_* — podés revertir si te arrepentís. Después del restore, reinicia el servicio para que la app vea los nuevos datos.