Sobre el proyecto
WinSight es un conjunto de herramientas de seguridad pequeñas, de propósito único y auditables para Windows, descritas por sus autores como inspiradas en el espíritu de las herramientas de Objective-See para macOS. Es gratuito, de código abierto (GPL-3.0-or-later), no requiere cuenta y no reporta telemetría.
Lo que cubre, según la propia tabla del README:
- Escáner de persistencia (comparable a KnockKnock): 27 superficies de inicio automático, veredictos Authenticode con conocimiento de catálogo, triaje de línea de comandos para intérpretes firmados a los que se les entrega la carga útil de otro, y enriquecimiento opcional con VirusTotal.
- Firewall saliente (comparable a LuLu): bloqueo/permiso por aplicación aplicado mediante Windows Filtering Platform; solo auditoría hasta que un operador elevado lo arme.
- Guardian (comparable a BlockBlock): una ventana de decisión cuando aparece un nuevo elemento de inicio - Permitir, Bloquear (en cuarentena, restaurable) o decidir más tarde - además de reconciliación de cambios realizados mientras WinSight no estaba en ejecución.
- Detección de ransomware (comparable a RansomWhere?): archivos señuelo visibles y variados por máquina, ráfagas de renombrado/eliminación, entropía al escribir y comprobaciones acotadas de integridad de firmas de contenedores.
- Monitor de cámara y micrófono (comparable a OverSight): historial de activación de ConsentStore y transiciones con cobertura de lectura por almacén y coincidencia de procesos en la medida de lo posible.
- Conexiones y DNS (comparable a Netiquette, DNSMonitor): instantáneas de la tabla de conexiones TCP/UDP más consultas DNS en vivo, atribuidas a procesos donde Windows expone un propietario.
- Verificación de firmas (comparable a What's Your Sign?): veredictos de Authenticode, catálogo y paquetes MSIX verificados, usados por todas las herramientas, además de una entrada "Check signature with WinSight" en el Explorador de archivos y un verbo `winsight sign`.
- Escaneo de secuestros (comparable a DHS): rutas de servicio sin comillas, directorios de servicio y entradas PATH escribibles, e importaciones DLL fantasma, cada una calificada según si es explotable en la máquina actual.
Más allá de los originales de macOS, el README señala la atribución de escritura (nombrar el programa detrás de una alerta de persistencia o ransomware cuando se ejecuta elevado), el desglose por proceso (`winsight process <pid>`) y la evidencia de acceso físico (`winsight presence`). También indica que los informes generales describen la postura operativa configurada y observada en modo de solo lectura, incluida la indisponibilidad explícita cuando no se puede consultar Defender, y que WinSight nunca cambia esa configuración por sí mismo.
Se ofrecen tres interfaces: un panel de escritorio y bandeja WPF en inglés, francés y español; una línea de comandos con 28 verbos que admite `--flagged` y `--json` (un sobre versionado con schemaVersion, generatedAt y reports), que sale con código distinto de cero cuando algo es notable; y un servidor MCP (`winsight mcp`) que es solo stdio local, de solo lectura, con seis herramientas, tres recursos y dos prompts guiados, y sin listener de red. Las tres comparten una única capa de orquestación.
Instalación: por usuario de forma predeterminada, sin derechos de administrador y sin necesidad de runtime .NET, con ZIP portátiles para x64 y Arm64. El README expone dos consecuencias con claridad: el firewall saliente no está disponible en una instalación por usuario porque el servicio se niega a registrarse desde una ruta que un principal sin privilegios puede modificar, y los propios binarios de WinSight pueden ser reemplazados por un adversario que se ejecute como ese usuario. Los binarios publicados no están firmados con Authenticode; el proyecto publica en su lugar sumas de verificación SHA-256, SBOM y atestaciones de procedencia de compilación de GitHub, y aconseja verificarlas antes de la ejecución. El servicio de firewall saliente deliberadamente no lo instala el instalador, ya que registra un servicio LocalSystem y modifica WFP.
Los puntos de postura de seguridad enumerados incluyen: sin telemetría ni analíticas, siendo la única conexión saliente una consulta de hash a VirusTotal iniciada explícitamente por el usuario (un hash, nunca el contenido de archivos), habilitada mediante una variable de entorno `WINSIGHT_VT_KEY` y rechazable con `--no-network`; un límite privilegiado implementado como canal de named pipe autenticado en lugar de la UI; una aplicación que es opt-in, comienza solo en auditoría y no tiene ruta de línea de comandos para armarse; informe separado de la intención deseada frente al estado efectivo, reportando `Degraded` en lugar de `Active` cuando la aplicación no puede verificarse con exactitud; una ventana acotada de 128 aplicaciones menos usadas recientemente para aplicaciones salientes desconocidas con registro de presión de capacidad muestreado exponencialmente; una aplicación que sobrevive a reinicios mediante persistencia de arranque del servicio con estado reverificado en cada lectura de estado; negativa a instalar el servicio desde una ruta escribible con una reverificación de identidad NTFS de 128 bits; y ningún controlador de kernel, con interceptación respaldada por controlador diferida.
Las acciones de respuesta (suspender, reanudar, terminar, restaurar, revocar) requieren `--confirm`, se registran en un diario de solo anexado legible con `winsight actions` y revalidan sus objetivos. Los señuelos de ransomware son archivos visibles ordinarios en Documentos, Escritorio, Imágenes, Descargas, Vídeos y Música, desactivados hasta que se habilitan, y la limpieza elimina solo archivos cuya identidad registrada y contenido original aún coinciden.
La preparación para producción se declara explícitamente como no establecida para x64 y Arm64, citando una auditoría de seguridad de septiembre que encontró defectos fuera de los escenarios históricos de cualificación y un candidato corregido que aún necesita CI nueva y cualificación en VM aislada. El README también señala que CodeQL se ejecuta mediante la configuración predeterminada de GitHub en lugar de un flujo de trabajo del repositorio, por lo que no puede auditarse desde un clon y no se ejecuta en forks. Los registros históricos de cualificación para comportamiento privilegiado están enlazados en docs/validation, cada uno vinculado a un commit y una ejecución de CI, y el README afirma que ninguno cubre los defectos de la auditoría de septiembre.
Compilar desde el código fuente requiere el SDK de .NET 10 en Windows; el script de publicación restaura una herramienta SBOM de Microsoft fijada e instala un compilador Inno Setup fijado tras verificar tanto su SHA-256 como su firma Authenticode. La CI exige formato, una auditoría de vulnerabilidades de dependencias, la suite completa de pruebas en tres imágenes de Windows, incluida Arm64 nativa, un mínimo de cobertura de líneas del 80% en las bibliotecas del motor de detección y la mitad escrita a mano del servicio privilegiado, y un ciclo de vida de instalación/desinstalación empaquetado en x64 y Arm64 nativos. Los problemas de seguridad se dirigen a reporte privado en lugar de issues públicos.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.