- O serviço de verificação de vazamentos de dados Have I Been Pwned foi totalmente reformulado
- Junto com o novo design, as principais funções das páginas web foram amplamente alteradas e melhoradas
- A função de busca ficou mais intuitiva, e foram reforçadas as orientações sobre como verificar contas e entender diferentes casos de violação de dados
- Foram adicionados vários novos recursos e melhorias, como painel do usuário, busca de domínio e documentação da API
- O desempenho web e a segurança foram implementados sobre uma infraestrutura moderna de nuvem, oferecendo uma experiência rápida e segura aos usuários
Introdução e contexto
- O Have I Been Pwned (doravante HIBP) 2.0 foi relançado de forma totalmente renovada após um longo período de desenvolvimento
- O primeiro commit foi feito em fevereiro de 2023 e, após um soft launch em março de 2024 e o processo de open source, o site foi aberto com reconstrução completa e uma nova identidade de marca
- Toda a estrutura e as funções do site foram reformuladas, e uma loja de merchandise também foi lançada junto com novos recursos
Função de busca
- A busca principal na página inicial, recurso mais representativo do HIBP, foi melhorada com uma experiência mais intuitiva e uma apresentação mais leve, incluindo animação de confete
- Para não tornar a experiência do usuário pesada, evitou-se um tom sombrio e negativo, com foco em fornecer informações práticas baseadas em fatos
- As buscas por nome de usuário e número de telefone foram removidas do site (mas permanecem na API da forma anterior)
- A busca por endereço de e-mail é mais adequada em termos de parsing, alertas e consistência do serviço
- Números de telefone e nomes de usuário exigem mais esforço no processamento de dados e quase não são usados na prática, então foram excluídos para reduzir confusão
Página de casos de violação de dados
- Cada incidente de breach (vazamento) agora conta com uma página detalhada dedicada
- Com um layout mais intuitivo e visualmente melhor do que antes, a página apresenta orientações específicas e acionáveis sobre impacto e medidas de resposta
- Estão previstas futuras adições em parceria com outras instituições (por exemplo, NCSC), como informações adaptadas por região
- No futuro, serão adicionados detalhes como suporte a 2FA, passkeys e guias personalizados para usuários
Painel
- Vários recursos existentes, como verificação de breaches sensíveis, gerenciamento de domínio e gerenciamento de assinatura, foram unificados em um painel integrado
- O painel é acessado com base em verificação por e-mail, e futuramente também deverá receber novos métodos de autenticação, como passkeys
- Isso cria espaço para evoluir para uma plataforma expansível, incluindo recursos futuros como alertas para contas familiares
Função de busca de domínio
- A funcionalidade de verificação/busca de domínio foi totalmente redesenhada, com uma UI mais limpa e suporte a vários filtros, como visualizar apenas os vazamentos mais recentes
- Com arquitetura completa de single-page app (SPA), os resultados de busca são entregues rapidamente em JSON via API
- O processo de verificação de propriedade do domínio também foi simplificado
- Métodos de autenticação além de e-mail deverão ser melhorados separadamente no futuro
API
- Nesta atualização, não houve nenhuma mudança nem interrupção na própria API
- A documentação da API está se preparando para adotar a ferramenta Scalar baseada em OpenAPI, mas por enquanto mantém a documentação atual com um novo estilo unificado
- Futuramente, ela será migrada para uma documentação moderna baseada em Scalar
Merchandise e stickers
- A loja oficial de produtos da marca HIBP foi aberta, com início das vendas de itens como camisetas (baseada em Teespring, sem margem)
- Os stickers continuam disponíveis na loja da Sticker Mule, e a arte pode ser usada livremente por ser open source
Tecnologia e infraestrutura
- O backend do site é baseado em Microsoft Azure, usando App Service, Functions, Hyperscale SQL, Storage e outros serviços
- Os principais aplicativos web foram escritos em C# e .NET 9.0, com ASP.NET MVC (.NET Core)
- O Cloudflare é amplamente usado para WAF, cache, Turnstile (anti-bot), armazenamento R2 e outros recursos importantes
- No frontend, uma interface moderna foi construída com base em Bootstrap atualizado, SASS e TypeScript
- Com contribuições de membros-chave como o desenvolvedor islandês Ingiber, foi alcançado um alto nível de acabamento e uma UI refinada
- O tamanho das páginas e o número de requisições web foram reduzidos em cerca de 28% e 31%, respectivamente, tornando a otimização mais eficiente do que há 11 anos
- Rastreamento, dados de publicidade e outros elementos desnecessários foram totalmente excluídos, com forte foco na privacidade do usuário
Uso de IA
- Durante o processo de reconstrução do site, o Chat GPT foi usado ativamente para resolver vários problemas de desenvolvimento, como CSS, sugestão de ícones, configuração do Cloudflare e particularidades do .NET Core
- Com sugestões rápidas e automação de código por IA, houve um grande aumento de produtividade
- Também foi confirmada alta precisão e utilidade em tarefas como migração rápida e automação de trabalho
Jornada de desenvolvimento e conclusão
- Diversos trabalhos invisíveis, como atualização de documentos legais, consumiram muito tempo e custo
- Antes e depois do lançamento, problemas foram resolvidos rapidamente por meio de várias correções urgentes e lançamentos iterativos
- Sem perder a proposta original, o serviço concluiu seu recomeço preservando especialização, escalabilidade e conforto de uso
- Desde 2013, o HIBP é o resultado de uma paixão à qual foi dedicado um quarto da vida, e com esta versão 2.0 espera-se um novo salto como serviço para a comunidade
1 comentários
Comentários do Hacker News
passworddentro de um JSON pode ser visto apenas como mais um campo, e se a API ou o sistema de logs registrar o corpo inteiro da requisição, o problema pode de fato acontecer. Disse que é raro salvar diretamente senhas sem salt em um repositório de senhas, mas compartilhou a experiência de que algo parecido pode ocorrer, por exemplo, quando um gateway de API de um app Android deixa de tratar um fluxo como “esqueci minha senha” como informação sensível