Trate todo proxy gratuito como infraestrutura não confiável, porque é. O operador é anônimo, o modelo de financiamento é obscuro, e o mesmo socket pode passar por uma botnet, um roteador doméstico comprometido e um honeypot de pesquisador em uma única semana. Nada disso torna os proxies gratuitos inutilizáveis — torna um pequeno conjunto de hábitos inegociável.
Os Ataques Comuns
As ameaças não são dramáticas. São do tipo entediante que têm sucesso porque a maioria dos usuários não se preocupa em se defender contra elas.
Roubo de credenciais em HTTP simples. Se você fizer login em qualquer coisa via http:// através de um proxy desconhecido, o operador verá a senha. Sempre faça túnel TLS através de CONNECT ou use SOCKS para um destino que por si só exija HTTPS. Fluxos de login modernos são exclusivamente HTTPS nos grandes sites, mas intranets legadas, páginas de administração de IoT e implantações antigas de CMS não são.
Injeção de cabeçalhos e conteúdo. Um proxy HTTP hostil pode reescrever partes arbitrárias da sua requisição: alterar cookies, trocar referrers, injetar parâmetros de rastreamento ou remover cabeçalhos de cache. O mesmo proxy pode injetar conteúdo nas respostas — scripts em HTML, redirecionamentos em JSON, anúncios em páginas estáticas. Se você ler respostas do lado do servidor através do proxy, trate-as como comprometidas até que possa verificar a integridade por um caminho confiável.
Sequestro de DNS via SOCKS5. O SOCKS5 pode resolver nomes de host no proxy. Se o proxy mentir sobre um registro DNS, você se conecta a um servidor que o operador controla. Configure seu cliente para resolver localmente quando possível: curl --resolve example.com:443:93.184.216.34, ou no código, passe um IP em vez de um nome de host.
Registro de tráfego. Mesmo um proxy bem-intencionado pode registrar cada URL que você acessa. Para modelos de ameaça que incluem "quais URLs essa pessoa solicitou", todo proxy público é a ferramenta errada. Use Tor ou uma VPN paga com uma política de não registro publicada e um histórico de intimações contestadas.
Exaustão de recursos contra o cliente. Alguns proxies deliberadamente limitam conexões a um ritmo lento, retornam respostas muito grandes ou mantêm sockets abertos sem enviar dados. Defina limites estritos de tamanho de resposta e timeouts de conexão no lado do cliente.
Defesas, em Ordem de Prioridade
Envie tudo dentro de TLS via CONNECT ou para um destino HTTPS através de SOCKS. Nunca reutilize credenciais atrás de um proxy público que você reutilizaria em qualquer outro lugar. Valide certificados rigorosamente — fixar o emissor é exagero para uso casual, mas aceitar qualquer cadeia é imprudente. Defina timeouts curtos em connect e read. Registre respostas do proxy para análise forense quando a carga de trabalho for importante. Rotacione com frequência; um proxy que funcionou há cinco minutos não é necessariamente o mesmo proxy agora.
Para Que Proxies Gratuitos São Realmente Úteis
Três categorias de trabalho justificam o ruído. Testar variações geográficas de conteúdo: seu CDN serve a página correta de Frankfurt versus São Paulo? Raspar dados públicos e não autenticados: resultados de mecanismos de busca, APIs públicas sem limites de taxa por IP, conteúdo já indexado em outro lugar. Verificar se sua aplicação se comporta corretamente quando seu IP de saída é desconhecido para o destino — útil para QA em sistemas com heurísticas de fraude baseadas em IP.
Use-os para isso. Aceite a taxa de falhas. Não coloque nada que você se importaria em perder atrás de um.