2 pontos por GN⁺ 17 일 전 | 1 comentários | Compartilhar no WhatsApp
  • A extensão que visualizava dados JSON de forma estruturada no Chrome não será mais mantida como open source
  • O projeto está migrando para um modelo comercial fechado, e a nova versão está sendo desenvolvida como uma ferramenta de exploração de APIs com recursos premium
  • Para os usuários existentes, o JSON Formatter Classic foi disponibilizado como a versão final open source, oferecida apenas no formato de formatador local
  • A versão Classic não receberá mais atualizações e pode ser instalada pela Chrome Web Store ou a partir do código-fonte
  • Essa mudança levanta preocupações sobre inserção de código publicitário e perda de confiabilidade

Aviso de encerramento e transição do projeto

  • O JSON Formatter encerrou o desenvolvimento open source e está migrando para um modelo comercial fechado
    • A nova versão está sendo desenvolvida como uma ferramenta de exploração de APIs com recursos premium
  • Para usuários da versão open source existente, a versão final open source foi publicada como JSON Formatter Classic
    • Pode ser instalada pela Chrome Web Store e permanece como uma extensão de formatação de JSON apenas local
    • Não serão mais fornecidas atualizações

Visão geral do JSON Formatter

  • Uma extensão para o navegador Chrome que visualiza de forma estruturada respostas JSON de APIs
  • Oferece processamento rápido mesmo em páginas JSON longas e oferece suporte a Dark Mode e realce de sintaxe
  • Inclui recursos de recolher/expandir estrutura em árvore, guias de indentação e URLs clicáveis
  • Em páginas que não são JSON, o impacto de desempenho é de menos de 1 milissegundo
  • Fornece um botão de alternância Raw / Parsed JSON, e o JSON analisado pode ser acessado no console pela variável global json

1 comentários

 
GN⁺ 17 일 전
Comentários do Hacker News
  • Hoje encontrei um elemento suspeito chamado give-freely-root-bcjindcccaagfpapjjmafapmmgkkhgoa no Chrome Inspector
    Fui verificar e descobri que a popular extensão open source JSON Formatter mudou para código fechado há cerca de um mês e começou a inserir código de anúncios e rastreamento de localização na página de pagamento
    Neste ponto, o próprio marketplace de extensões de navegador parece um experimento fracassado. Estou achando que é melhor simplesmente criar e usar meu próprio formatador de JSON

    • É irônico que, pelas políticas do Google, inserir anúncios seja permitido, mas removê-los seja proibido
    • O recurso de filtragem de segurança das app stores ainda tem algum valor. Não é perfeito, mas é melhor do que um ambiente sem controle algum
    • Enganar os usuários existentes e inserir anúncios foi uma atitude realmente antiética. Mudar para uma versão comercial fechada tudo bem, mas colocar anúncios sem aviso prévio passou dos limites
    • Esse tipo de conduta precisa receber críticas públicas e responsabilização. Claro, falando meio em tom de brincadeira, mas acho que esse tipo de “venda” também precisa sofrer sanção social
    • Fiquei curioso sobre como esse elemento suspeito foi descoberto. Queria perguntar se a pessoa costuma inspecionar o DOM com frequência
  • É interessante que o autor deste caso, Callum Locke, seja uma pessoa real
    Antes, esse tipo de “desenvolvedor com nome real” era um sinal de confiança, mas agora isso mostra que nem sempre é assim

    • Quando a base de usuários chega à casa dos milhões, a tentação de vender é bem grande. Eu também mantenho uma extensão com cerca de 300 mil usuários, e só as propostas que recebi ao longo de alguns anos já representavam bastante dinheiro
      Há uma discussão relacionada em HoverZoom GitHub discussion
    • Quem tem uma extensão popular sabe bem como é difícil escapar dessa tentação
    • Mantenedores de extensões de navegador frequentemente recebem e-mails de propostas suspeitas. Este caso também parece ser um exemplo de alguém que cedeu a esse tipo de oferta
    • De qualquer forma, Callum Locke perdeu completamente a reputação por causa disso
  • Em um comentário no HN deixado pelo próprio autor há dois anos,
    ele jurava que era o criador do JSON Formatter e que jamais enviaria ou venderia dados dos usuários
    Disse também que recebeu várias propostas de aquisição por valores altos, mas que recusou para preservar sua honra

    • Isso faz lembrar a frase “Ou você morre como herói, ou vive o bastante para se tornar vilão”
    • Hoje em dia, o custo de criar suas próprias ferramentas é praticamente zero, então não vejo muito motivo para confiar em terceiros
    • No fim, essas promessas podem ter sido apenas uma estratégia de venda. O open source precisa de uma estrutura de financiamento sustentável de verdade
    • Ainda assim, se ele tivesse mantido os princípios até o fim, isso teria sido louvável
  • Segundo uma resposta a review na Chrome Web Store deixada pelo autor,
    o ‘Give Freely’ não é spyware, e sim um sistema de links de afiliados para doações
    Quando o usuário clica ao finalizar a compra em lojas afiliadas, parte da receita seria doada para organizações como a Code.org
    Ele enfatiza que não coleta informações pessoais nem dados de navegação e que, se o usuário não quiser, pode desativar completamente o recurso nas configurações
    Também diz que existe uma versão Classic do JSON Formatter sem o código do ‘Give Freely’

    • Independentemente da intenção, a forma de execução foi ruim e isso expôs uma vulnerabilidade de segurança no modelo de distribuição de extensões de navegador
  • Acho que o problema central está na ideologia das atualizações automáticas
    Atualizações corrigem falhas de segurança, mas ao mesmo tempo trazem o risco de mudanças indesejadas para o usuário e de ataques à cadeia de suprimentos
    Principalmente em extensões de desenvolvedores individuais, as atualizações automáticas deveriam ser desativadas. Mas o Chrome não permite isso
    O Google, por causa de uma filosofia centrada em anúncios, parece nem enxergar esse tipo de conversão para adware como problema
    O Firefox é um pouco melhor, mas é uma pena não permitir a instalação permanente de extensões compiladas pelo próprio usuário

    • No Firefox também não é totalmente impossível. Dá para carregar temporariamente em about:debugging ou fazer isso desativando xpinstall.signatures.required
    • Pessoalmente, acho que a regra deveria ser proibir atualizações automáticas para qualquer programa executado localmente. Caso contrário, isso não passa de um backdoor de RCE socialmente aceito
    • Em extensões com funcionalidade fixa como o JSON Formatter, o ideal é desativar as atualizações logo após a instalação.
      Mas extensões como o uBlock, que atualizam listas de filtros periodicamente, podem ser uma exceção
  • Acho que o maior problema é a incompatibilidade entre o binário da Chrome Web Store e o código-fonte público
    A loja simplesmente confia no pacote enviado pelo desenvolvedor e não verifica se ele realmente corresponde ao código publicado
    Eu mesmo tentei fazer builds reproduzíveis de algumas extensões, mas a maioria não batia
    O Firefox AMO, depois que o código-fonte é enviado, faz uma comparação (diff) com um build limpo, mas o Chrome não faz isso
    Sem builds reproduzíveis e vínculo com commits assinados, não há como detectar previamente a inserção de código malicioso

  • O Google está empurrando o Manifest V3 e, ao mesmo tempo, deixando esse problema de lado
    Pior ainda, dá selo de ‘Featured’ para extensões maliciosas como Blaze VPN, Safum VPN, Snap VPN
    Elas são clones do grupo PDF Toolbox, que no passado já criou extensões maliciosas, e na prática nem funcionam direito
    Isso mostra como o sistema de verificação da Chrome Web Store está uma bagunça

  • A mesma coisa aconteceu com a extensão ModHeader
    Link do ModHeader
    Ela começou a inserir anúncios em todos os resultados de busca do Google; denunciaram, mas ainda continua na loja

  • Percebi esse problema há uma semana e reuni as funções que eu gostava para criar um novo formatador de JSON
    GitHub - JSON Alexander

    • Disseram que o nome é realmente muito bom
  • Este caso acabou servindo como um bom gatilho para revisar as extensões instaladas
    Vou deixar apenas as estritamente necessárias e apagar o resto