Source: https://bscan.info/pt/blog/can-websites-detect-remote-desktop
Language: pt-BR

Veja qual computador o site lê no acesso remoto, compare os dados do navegador localmente e entenda por que mudar a GPU ou a tela não comprova uso de RDP.

# Sites detectam área de trabalho remota? Teste os indícios

Publicado 31 de outubro de 2026

![](https://bscan.info/remoteDesktopCover.svg)

Você se conecta ao computador do trabalho, abre um site dentro da área de trabalho remota e recebe um aviso. O site detectou o RDP? Ou só viu um navegador rodando em outro computador e não gostou de algum detalhe?

Um site pode ler indícios do navegador e usá-los para inferir acesso remoto. Mas as APIs comuns de tela e gráficos abaixo não retornam uma flag de sessão de área de trabalho remota. Elas descrevem o ambiente do navegador. Produtos comerciais de detecção fazem promessas mais amplas, e softwares de monitoramento instalados são outro caso. Um “sim” ou “não” sem ressalvas apaga justamente a distinção que importa.

**Versão resumida:** uma página aberta no navegador do computador remoto lê o ambiente daquele navegador, não diretamente o hardware do notebook que você usa para visualizar a sessão. As dimensões da tela e as strings da GPU podem mudar, mas nenhuma delas comprova que o RDP está ativo. Compare as leituras reais abaixo; o resultado é uma comparação de ambientes, nunca um certificado de que há ou não acesso remoto.

## O site lê o navegador no computador remoto

Imagine que você usa um MacBook para controlar um desktop Windows. Se o Chrome roda naquele desktop Windows, é lá que a página é executada. Seu MacBook exibe a área de trabalho e envia seus comandos. A visita ao site não passa a ser feita por um Mac só porque seus dedos estão num teclado de Mac.

O mesmo raciocínio vale para Chrome Remote Desktop, AnyDesk e TeamViewer: primeiro, identifique onde está o navegador que executa a página. Não confunda o visualizador remoto, mesmo quando ele é aberto num navegador, com o navegador dentro da área de trabalho que você está controlando.

De qual computador o site está lendo os dados?

1.  **Seu dispositivo de visualização**Exibe a área de trabalho remota e envia seus comandos.
2.  **Conexão de área de trabalho remota**Transmite a área de trabalho e os comandos entre os dispositivos.
3.  **Navegador no computador remoto**Executa a página e responde às chamadas que ela faz às APIs do navegador.
4.  **Site**Recebe os sinais da página e a conexão do navegador com a web.

**Página web comum**

Pode ler os valores expostos pelo navegador. Essas APIs não fornecem uma flag de sessão RDP nem uma lista de processos.

**Software instalado ou gerenciado**

Um agente, uma extensão com as permissões adequadas ou o administrador do computador remoto pode ter acesso adicional. Verifique as permissões e a política de cada um separadamente.

O que importa é onde está o navegador, não o teclado. Este diagrama descreve o controle remoto comum; recursos redirecionados e integrações gerenciadas precisam de verificações próprias.

Esse é o modelo comum de controle remoto, não uma garantia sobre todo recurso de redirecionamento. Uma configuração gerenciada pode redirecionar recursos ou integrar softwares nos dois dispositivos. Um agente instalado ou uma extensão com as permissões adequadas também pode fornecer informações às quais uma página comum não tem acesso. Se um serviço pediu para você instalar algo, as capacidades desse software precisam ser avaliadas à parte.

A conexão com a web também importa. Numa configuração simples, as requisições saem pela rota de rede do navegador remoto. O site vê o endereço de saída daquela conexão, não automaticamente o endereço do notebook que exibe a área de trabalho. Um IP de uma rede de hospedagem pode chamar atenção sem comprovar controle remoto. Nosso [guia de detecção de VPN](https://bscan.info/pt/blog/vpn-detection) separa reputação de rede dos indícios do lado do navegador.

## Teste uma mudança de ambiente sem usar área de trabalho remota

Comece com um teste de controle que você pode reproduzir agora. Capture uma referência inicial abaixo, diminua a largura da janela do navegador e depois compare. No celular, talvez seja mais fácil girar a tela. Você mudou o que um site consegue medir sem estabelecer nenhuma sessão remota.

Compare leituras do navegador, não suposições sobre acesso remoto

Capture uma referência inicial, redimensione esta janela do navegador ou mude o zoom da página e depois compare. As leituras ficam na memória deste componente; recarregar a página apaga tudo.

Apenas as leituras atuais. Capture uma referência inicial para começar.

Capturas do ambiente do navegador
| API de origem | Referência inicial | Atual | Comparação |
| --- | --- | --- | --- |
| `navigator.userAgent` | Não capturada | Aguardando o navegador | Não comparado |
| `screen.width / height` | Não capturada | Aguardando o navegador | Não comparado |
| `screen.availWidth / availHeight` | Não capturada | Aguardando o navegador | Não comparado |
| `screen.colorDepth / pixelDepth` | Não capturada | Aguardando o navegador | Não comparado |
| `window.innerWidth / innerHeight` | Não capturada | Aguardando o navegador | Não comparado |
| `window.devicePixelRatio` | Não capturada | Aguardando o navegador | Não comparado |
| `UNMASKED_VENDOR_WEBGL` | Não capturada | Aguardando o navegador | Não comparado |
| `UNMASKED_RENDERER_WEBGL` | Não capturada | Aguardando o navegador | Não comparado |

Acesso atual aos detalhes do WebGL: Detalhes do WebGL indisponíveis, ou o navegador ainda não carregou.

Esta comparação não comprova se a área de trabalho remota está ativa. Leituras idênticas não provam que a sessão é local; leituras diferentes ou indisponíveis não provam que ela é remota.

A tabela lê `navigator.userAgent`, as dimensões de `screen`, a área disponível da tela, a profundidade de cor e de pixel, as dimensões da viewport, `devicePixelRatio` e as strings opcionais de depuração do WebGL. Os nomes das APIs aparecem ao lado dos valores. Nada aqui lista programas instalados nem consulta o estado de sessão do Windows.

O comparador em si não faz requisições de rede e mantém as capturas apenas na memória do componente. Recarregar a página apaga a referência inicial. Isso descreve esta figura, não significa que todos os outros recursos do site funcionem offline. Ela não envia um fingerprint, não salva resultados na sua conta e não consulta um fornecedor antifraude.

Uma linha marcada como “Igual” significa apenas que os dois valores que puderam ser lidos coincidem. “Alterado” significa que os valores são diferentes. Se uma medição estiver indisponível, a figura não trata dois valores ausentes como iguais. É menos dramático do que um selo vermelho de “RDP detectado”. Também é só isso que a medição permite afirmar.

## O tamanho da tela não é uma assinatura de área de trabalho remota

`screen.width` e `screen.height` informam as dimensões de tela expostas à web, em pixels CSS. `window.innerWidth` e `window.innerHeight` descrevem a viewport da página. São medições diferentes, e nenhuma garante informar a quantidade de pixels físicos do monitor.

O zoom da página traz outra armadilha. Como explica a [documentação de devicePixelRatio](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio), o zoom comum da página afeta o DPR; o zoom com gesto de pinça, não. Mover uma janela entre telas com densidades de pixels diferentes também pode mudá-lo. Uma proporção diferente é evidência de uma leitura diferente, não de um operador remoto.

Uma sessão remota pode apresentar uma configuração de tela diferente. Trocar de monitor ou mudar a escala da área de trabalho também pode. Por outro lado, uma configuração remota pode manter os valores que o navegador já informava. As leituras de tela, sozinhas, não dizem qual dessas explicações é a certa.

## O velho truque da profundidade de cor não é um teste de RDP

Algumas respostas antigas sugerem verificar se `screen.colorDepth` é menor que o esperado. Isso pressupõe que o navegador exponha a diferença relevante de exibição e que o acesso remoto seja a única explicação para ela. Nenhuma dessas premissas sustenta um detector confiável para uso geral.

O [rascunho editorial atual do CSSOM View](https://drafts.csswg.org/cssom-view) descreve esses campos de exibição e permite fornecer informações de tela que preservem a privacidade. Para a profundidade de cor, recomenda retornar 24 quando o navegador não conhece a profundidade ou decide não expô-la por privacidade. Também registra comportamentos de compatibilidade envolvendo 24 e 32. É um rascunho em desenvolvimento, não uma especificação de RDP.

Portanto, “24 significa local” e “32 significa remoto” são vereditos inventados associados a números reais. Você pode registrar os números. Dar outro nome a eles não traz certeza sobre a sessão.

## Uma GPU por software é um indício, não uma prova

A extensão opcional `WEBGL_debug_renderer_info` expõe strings de fornecedor e renderizador. A [especificação da Khronos](https://registry.khronos.org/webgl/extensions/WEBGL_debug_renderer_info) as define como informações do driver gráfico e discute os motivos de privacidade pelos quais navegadores podem omitir esses detalhes. Ela não define um indicador de acesso remoto.

Um renderizador por software diz algo sobre o caminho de renderização informado pelo navegador. Não diz quem está controlando o mouse. Também não cometa o erro inverso: uma GPU física identificada pelo nome não descarta uma sessão remota. A Microsoft documenta explicitamente a [renderização acelerada por GPU no Azure Virtual Desktop](https://learn.microsoft.com/en-us/azure/virtual-desktop/graphics-enable-gpu-acceleration) via RDP.

Nosso [artigo sobre fingerprinting de WebGL](https://bscan.info/pt/blog/webgl-fingerprinting) explica o que essas strings revelam e por que os avisos de verificadores podem estar errados. A figura informa se as strings de depuração foram retornadas, se a extensão de depuração estava indisponível ou se a leitura falhou. Nos demais casos, informa que os detalhes estão indisponíveis, sem afirmar que o próprio contexto está ausente. Ela não consegue identificar a causa oculta.

## O que a detecção comercial de acesso remoto realmente promete

Não transforme a ausência de uma flag padrão em “nenhum site jamais consegue detectar acesso remoto”. A [PREBYTES oferece detecção de área de trabalho remota](https://www.prebytes.com/en/solutions/remote-desktop-detection) com implantação via JavaScript na web, camadas de detecção ativa e passiva e relatórios de risco por API. Essas são afirmações do fornecedor. Não testamos o produto nem verificamos sua precisão de forma independente.

Um veredito comercial não equivale a uma única propriedade de `screen`, e este comparador não reproduz esse produto. Também não testa modelos comportamentais. Um cursor lento não é prova: atrasos têm outras causas. Comandos de uma pessoa por acesso remoto também não são a mesma coisa que o Selenium controlando um navegador; nosso [artigo sobre detecção de automação](https://bscan.info/pt/blog/bot-detection) trata dessa outra questão.

## Compare sua própria configuração antes de mudá-la

Numa área de trabalho remota autorizada que você administra, mantenha esta página aberta no computador remoto. Capture uma referência inicial usando o computador fisicamente, conecte-se remotamente e depois compare, se a mesma sessão da página continuar aberta. Se ela recarregar, a referência será perdida; anote você mesmo as primeiras leituras antes de repetir. Registre qual cliente, navegador e configuração de tela você usou. Não realizamos esse experimento com RDP, portanto essas etapas são um procedimento de teste, não resultados observados.

Abrir esta página no seu notebook e depois no computador remoto é outro experimento: você está comparando dois ambientes de navegador. Diferenças são esperadas e não isolam o acesso remoto como causa. Mantenha essa distinção nas suas anotações.

Para testes legítimos de QA com vários perfis, um gerenciador como o [Incogniton](https://www.incogniton.com/?utm_source=bscanInfo&utm_medium=Website&utm_campaign=CanWebsitesDetectRemoteDesktopBlog) pode fazer parte do seu fluxo de trabalho, mas não é evidência de que o acesso remoto seja indetectável. Siga a política de acesso remoto do serviço em vez de tratar qualquer verificador de fingerprint como uma autorização.

Se um site bloquear sua sessão de trabalho, salve o aviso exato e as leituras de antes e depois para a equipe de suporte. Depois, rode o scan no navegador dentro daquela sessão, não apenas no notebook que a exibe.

[Rodar o scan completo do navegador](https://bscan.info/pt)

## Continue lendo

[

![Sites Detectam o Inspecionar Elemento e o DevTools Aberto?](https://bscan.info/devtoolsCover.svg)

Sites Detectam o Inspecionar Elemento e o DevTools Aberto?

](https://bscan.info/pt/blog/detect-devtools)[

![Sites Veem o Nome do Seu Computador? Confira](https://bscan.info/computerNameCover.svg)

Sites Veem o Nome do Seu Computador? Confira

](https://bscan.info/pt/blog/computer-name)[

![Sites Podem Ler Sua Área de Transferência? Teste as Duas Formas](https://bscan.info/clipboardAccessCover.svg)

Sites Podem Ler Sua Área de Transferência? Teste as Duas Formas

](https://bscan.info/pt/blog/can-websites-read-clipboard)

---
This is the page's server-rendered documentation. Interactive browser tests, file processing and permission prompts require the HTML page; Markdown does not contain live measurements or process files.
