Sobre o projeto
WinSight é um conjunto de ferramentas de segurança pequenas, de propósito único e auditáveis para Windows, descrito pelos seus autores como estando no espírito das ferramentas macOS do Objective-See. É gratuito, de código aberto (GPL-3.0-or-later), não requer conta e não reporta telemetria.
O que cobre, segundo a própria tabela do README:
- Scanner de persistência (comparável ao KnockKnock): 27 superfícies de arranque automático, veredictos Authenticode com reconhecimento de catálogo, triagem de linha de comandos para interpretadores assinados a quem foi entregue o payload de outra pessoa, enriquecimento opcional via VirusTotal.
- Firewall de saída (comparável ao LuLu): bloqueio/permissão por aplicação aplicado através da Windows Filtering Platform; apenas auditoria até um operador elevado o armar.
- Guardian (comparável ao BlockBlock): uma janela de decisão quando aparece um novo item de arranque - Permitir, Bloquear (em quarentena, restaurável) ou decidir mais tarde - mais reconciliação de alterações feitas enquanto o WinSight não estava em execução.
- Deteção de ransomware (comparável ao RansomWhere?): ficheiros isco visíveis e variados por máquina, rajadas de renomeação/eliminação, entropia na escrita e verificações limitadas de integridade de assinaturas de contentores.
- Monitor de câmara e microfone (comparável ao OverSight): histórico de ativação e transições do ConsentStore com cobertura de leitura por store e correspondência de processos best-effort.
- Ligações e DNS (comparável ao Netiquette, DNSMonitor): instantâneos da tabela de ligações TCP/UDP mais consultas DNS em tempo real, atribuídos a processos onde o Windows expõe um proprietário.
- Verificação de assinaturas (comparável ao What's Your Sign?): veredictos Authenticode, de catálogo e de pacotes MSIX verificados, usados por todas as ferramentas, mais uma entrada "Check signature with WinSight" no Explorador de Ficheiros e um verbo `winsight sign`.
- Análise de hijack (comparável ao DHS): caminhos de serviço sem aspas, diretórios de serviço e entradas PATH graváveis, e importações DLL fantasma, cada uma classificada quanto à sua explorabilidade na máquina atual.
Para além dos originais macOS, o README nota a atribuição de escrita (nomear o programa por trás de um alerta de persistência ou ransomware quando em execução elevada), o detalhe por processo (`winsight process <pid>`) e a evidência de acesso físico (`winsight presence`). Refere também que a visão geral reporta a postura operacional configurada e observada apenas em modo de leitura, incluindo indisponibilidade explícita quando o Defender não pode ser consultado, e que o WinSight nunca altera essa definição por si próprio.
São oferecidas três interfaces: um dashboard WPF de ambiente de trabalho e bandeja em inglês, francês e espanhol; uma linha de comandos com 28 verbos que suporta `--flagged` e `--json` (um envelope versionado com schemaVersion, generatedAt e reports), saindo com código não-zero quando algo é digno de nota; e um servidor MCP (`winsight mcp`) que é apenas stdio local, só de leitura, com seis ferramentas, três recursos e dois prompts guiados e sem listener de rede. As três partilham uma única camada de orquestração.
Instalação: por utilizador por defeito, sem direitos de administrador e sem necessidade de runtime .NET, com ZIPs portáteis para x64 e Arm64. O README afirma claramente duas consequências: o firewall de saída não está disponível numa instalação por utilizador porque o serviço recusa registar-se a partir de um caminho que um principal sem privilégios pode modificar, e os próprios binários do WinSight são substituíveis por um adversário a executar como esse utilizador. Os binários lançados não estão assinados com Authenticode; o projeto publica antes somas de verificação SHA-256, SBOM e atestações de proveniência de build do GitHub, e aconselha a verificá-los antes da execução. O serviço de firewall de saída não é deliberadamente instalado pelo setup, uma vez que regista um serviço LocalSystem e altera a WFP.
Os pontos de postura de segurança listados incluem: sem telemetria ou analítica, sendo a única ligação de saída uma consulta de hash ao VirusTotal explicitamente iniciada pelo utilizador (um hash, nunca o conteúdo do ficheiro), ativada por uma variável de ambiente `WINSIGHT_VT_KEY` e recusável com `--no-network`; uma fronteira privilegiada implementada como um canal de named pipe autenticado em vez da UI; aplicação opt-in, que começa apenas em auditoria e não tem caminho de linha de comandos para armar; reporte separado da intenção desejada versus o estado efetivo, reportando `Degraded` em vez de `Active` quando a aplicação não pode ser verificada exatamente; uma janela limitada de 128 aplicações menos recentemente usadas para aplicações de saída desconhecidas, com registo de pressão de capacidade por amostragem exponencial; aplicação que sobrevive a reinícios através da persistência de arranque do serviço, com o estado reverificado em cada leitura de estado; recusa de instalar o serviço a partir de um caminho gravável com uma reverificação de identidade NTFS de 128 bits; e nenhum driver de kernel, com interceção suportada por driver adiada.
As ações de resposta (suspender, retomar, terminar, restaurar, revogar) requerem `--confirm`, são registadas num diário apenas de adição legível com `winsight actions`, e revalidam os seus alvos. Os iscos de ransomware são ficheiros visíveis comuns em Documentos, Ambiente de Trabalho, Imagens, Transferências, Vídeos e Música, desativados até serem ativados, e a limpeza remove apenas ficheiros cuja identidade registada e conteúdo original ainda correspondem.
A prontidão para produção é explicitamente declarada como não estabelecida para x64 e Arm64, citando uma auditoria de segurança de setembro que encontrou defeitos fora dos cenários históricos de qualificação e um candidato corrigido que ainda necessita de CI nova e qualificação em VM isolada. O README nota também que o CodeQL corre através da configuração predefinida do GitHub em vez de um workflow do repositório, pelo que não pode ser auditado a partir de um clone e não corre em forks. Os registos históricos de qualificação para comportamento privilegiado estão ligados em docs/validation, cada um vinculado a um commit e execução de CI, com o README a afirmar que nenhum cobre os defeitos da auditoria de setembro.
Compilar a partir do código-fonte requer o .NET 10 SDK no Windows; o script de lançamento restaura uma ferramenta SBOM da Microsoft fixada e instala um compilador Inno Setup fixado após verificar tanto o seu SHA-256 como a assinatura Authenticode. O CI impõe formatação, uma auditoria de vulnerabilidades de dependências, a suite completa de testes em três imagens Windows incluindo Arm64 nativo, um limite mínimo de 80% de cobertura de linhas nas bibliotecas do motor de deteção e na metade escrita à mão do serviço privilegiado, e um ciclo de vida de instalação/desinstalação empacotado em x64 e Arm64 nativos. As questões de segurança são encaminhadas para reporte privado em vez de issues públicas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.