2 điểm bởi GN⁺ 9 ngày trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Tiện ích dùng để hiển thị dữ liệu JSON theo cấu trúc trên Chrome sẽ không còn được duy trì dưới dạng mã nguồn mở nữa
  • Dự án đang chuyển sang mô hình thương mại đóng, và phiên bản mới đang được phát triển thành công cụ khám phá API có các tính năng premium
  • Dành cho người dùng hiện tại, JSON Formatter Classic được phát hành như phiên bản mã nguồn mở cuối cùng, chỉ được cung cấp dưới dạng trình định dạng chạy cục bộ
  • Phiên bản Classic sẽ ngừng được cập nhật, và có thể cài đặt qua Chrome Web Store hoặc từ mã nguồn
  • Việc chuyển đổi lần này làm dấy lên lo ngại về việc chèn mã quảng cáo và suy giảm độ tin cậy

Thông báo chấm dứt dự án và chuyển đổi

  • JSON Formatter chấm dứt phát triển mã nguồn mở và chuyển sang mô hình thương mại đóng
    • Phiên bản mới đang được phát triển thành công cụ khám phá API có các tính năng premium
  • Dành cho người dùng mã nguồn mở hiện tại, phiên bản mã nguồn mở cuối cùng được phát hành dưới tên JSON Formatter Classic
    • Có thể cài đặt từ Chrome Web Store, và được duy trì như tiện ích định dạng JSON chỉ chạy cục bộ
    • Sẽ không còn được cập nhật nữa

Tổng quan về JSON Formatter

  • Tiện ích mở rộng giúp hiển thị trực quan các phản hồi JSON API theo cấu trúc trong trình duyệt Chrome
  • Cung cấp tốc độ xử lý nhanh ngay cả với các trang JSON dài, đồng thời hỗ trợ Dark Modetô sáng cú pháp
  • Bao gồm các tính năng thu gọn/mở rộng cấu trúc cây, hướng dẫn thụt lề, và URL có thể bấm được
  • Trên các trang không phải JSON, chỉ gây ra ảnh hưởng hiệu năng dưới 1 mili giây
  • Cung cấp nút chuyển Raw / Parsed JSON, và JSON đã được phân tích có thể được truy cập trong console qua biến toàn cục json

1 bình luận

 
Ý kiến trên Hacker News
  • Hôm nay tôi phát hiện một phần tử đáng ngờ có tên give-freely-root-bcjindcccaagfpapjjmafapmmgkkhgoa trong Chrome Inspector
    Kiểm tra ra thì tiện ích mã nguồn mở phổ biến JSON Formatter đã chuyển sang mã nguồn đóng từ khoảng một tháng trước, và bắt đầu chèn mã quảng cáo cùng theo dõi vị trí vào trang thanh toán
    Giờ tôi có cảm giác bản thân chợ tiện ích trình duyệt là một thí nghiệm thất bại. Có lẽ tự làm một trình định dạng JSON để dùng còn tốt hơn

    • Thật trớ trêu khi theo chính sách của Google, chèn quảng cáo thì được phép nhưng gỡ bỏ quảng cáo thì bị cấm
    • Tính năng lọc bảo mật của app store vẫn có một mức giá trị nhất định. Không hoàn hảo, nhưng vẫn tốt hơn môi trường hoàn toàn không có kiểm soát
    • Tôi nghĩ việc lừa người dùng cũ rồi chèn quảng cáo là hành vi thực sự phi đạo đức. Chuyển sang bản thương mại mã đóng thì không sao, nhưng thêm quảng cáo mà không báo trước thì là vượt quá giới hạn
    • Những hành vi kiểu này cần bị chỉ trích và truy cứu trách nhiệm công khai. Dù nói nửa đùa nửa thật, tôi vẫn nghĩ những vụ “bán mình” như vậy cần có sự trừng phạt về mặt xã hội
    • Tôi tò mò không biết họ đã phát hiện phần tử đáng ngờ đó như thế nào. Muốn hỏi xem bình thường họ có hay soi DOM không
  • Điều thú vị là Callum Locke, tác giả của vụ này, là một người có thật
    Trước đây kiểu “nhà phát triển dùng tên thật” từng là tín hiệu của sự đáng tin, nhưng giờ thì không hẳn như vậy nữa

    • Nếu có hàng triệu người dùng thì cám dỗ bán đi là rất lớn. Tôi cũng đang vận hành một tiện ích cỡ 300.000 người dùng, và chỉ riêng những lời đề nghị nhận được trong vài năm qua cũng đã là số tiền khá lớn
      Có thảo luận liên quan tại thảo luận HoverZoom trên GitHub
    • Tôi hiểu rất rõ rằng nếu sở hữu một tiện ích phổ biến thì rất khó cưỡng lại sự cám dỗ này
    • Người bảo trì tiện ích trình duyệt thường nhận được email đề nghị đáng ngờ. Có vẻ vụ này cũng là một trường hợp sa vào kiểu đề nghị như vậy
    • Dù sao thì Callum Locke coi như đã đánh mất hoàn toàn danh tiếng vì chuyện này
  • Nếu nhìn vào bình luận HN mà chính tác giả để lại 2 năm trước,
    anh ta từng thề rằng mình là người tạo ra JSON Formatter và sẽ tuyệt đối không gửi hoặc bán dữ liệu người dùng
    Anh cũng nói đã nhận nhiều lời đề nghị mua lại với số tiền lớn nhưng từ chối để giữ danh dự

    • Câu “hoặc chết như một anh hùng, hoặc sống đủ lâu để trở thành kẻ phản diện” hiện lên trong đầu
    • Dạo này chi phí tự làm công cụ gần như bằng 0, nên tôi nghĩ chẳng còn lý do gì phải tin người khác
    • Rốt cuộc những lời hứa kiểu này cũng có thể chỉ là chiến lược bán hàng. Mã nguồn mở cần một cấu trúc tài chính bền vững đúng nghĩa
    • Dù vậy, nếu anh ấy đã giữ nguyên tắc đến cùng thì đó vẫn là điều đáng khen
  • Theo phản hồi đánh giá trên Chrome Web Store mà tác giả để lại,
    ‘Give Freely’ không phải spyware mà là một hệ thống liên kết tiếp thị để quyên góp
    Khi người dùng nhấp vào lúc thanh toán tại các cửa hàng liên kết, một phần doanh thu sẽ được quyên góp cho các tổ chức như Code.org
    Họ nhấn mạnh rằng không thu thập thông tin cá nhân hay dữ liệu duyệt web, và nếu không muốn thì có thể tắt hoàn toàn trong phần cài đặt
    Họ cũng đang cung cấp phiên bản JSON Formatter Classic không có mã ‘Give Freely’

    • Bất kể ý định là gì, cách triển khai đã rất vụng về, và đây là một ví dụ cho thấy lỗ hổng bảo mật trong mô hình phân phối tiện ích trình duyệt
  • Tôi cho rằng vấn đề cốt lõi nằm ở tư tưởng cập nhật tự động
    Cập nhật giúp vá lỗ hổng bảo mật, nhưng đồng thời cũng tạo ra rủi ro về các thay đổi người dùng không mong muốn hoặc tấn công chuỗi cung ứng
    Đặc biệt, các tiện ích của lập trình viên cá nhân thì nên tắt cập nhật tự động. Nhưng Chrome không cho phép điều đó
    Google, vì triết lý đặt quảng cáo làm trung tâm, dường như không nhận thức kiểu chuyển hóa thành adware này là vấn đề
    Firefox có khá hơn đôi chút, nhưng việc không thể cài vĩnh viễn tiện ích tự build vẫn là điều đáng tiếc

    • Trên Firefox cũng không phải hoàn toàn bất khả thi. Có thể tải tạm thời ở about:debugging, hoặc tắt xpinstall.signatures.required để làm được
    • Cá nhân tôi cho rằng mọi chương trình chạy cục bộ đều nên cấm cập nhật tự động theo nguyên tắc. Nếu không thì đó chỉ là một cửa hậu RCE được xã hội chấp nhận
    • Với các tiện ích có chức năng cố định như JSON Formatter, tốt nhất là vô hiệu hóa cập nhật ngay sau khi cài đặt.
      Tuy nhiên, các tiện ích như uBlock cần cập nhật danh sách bộ lọc định kỳ có thể là ngoại lệ
  • Tôi nghĩ vấn đề lớn nhất là sự không khớp giữa bản nhị phân trên Chrome Web Store và mã nguồn công khai
    Store tin nguyên gói mà nhà phát triển tải lên, và không xác minh xem nó có khớp với mã công khai thực tế hay không
    Tôi đã trực tiếp thử build tái lập một số tiện ích, nhưng đa số đều không khớp
    Firefox AMO thì sau khi nhận mã nguồn sẽ so sánh diff với bản build sạch, còn Chrome thì không làm vậy
    Nếu không có build tái lập và liên kết với commit đã ký, thì không có cách nào phát hiện trước việc chèn mã độc

  • Google đang ép Manifest V3 nhưng lại bỏ mặc những vấn đề như thế này
    Thậm chí còn gắn huy hiệu ‘Featured’ cho các tiện ích độc hại như Blaze VPN, Safum VPN, Snap VPN
    Chúng là bản sao của nhóm PDF Toolbox từng làm tiện ích độc hại trước đây, và thực tế thậm chí còn không hoạt động
    Đây là một ví dụ cho thấy hệ thống kiểm duyệt của Chrome Web Store đang ở tình trạng hỗn loạn

  • Điều tương tự cũng đã xảy ra với tiện ích ModHeader
    Liên kết ModHeader
    Nó bắt đầu chèn quảng cáo vào từng kết quả tìm kiếm Google, và dù đã bị báo cáo thì vẫn còn tồn tại trên store

  • Tôi đã nhận ra vấn đề này từ một tuần trước, và tự gom các tính năng mình thích để làm một trình định dạng JSON mới
    GitHub - JSON Alexander

    • Có người khen cái tên này thật sự rất ngầu
  • Vụ việc lần này đã trở thành một dịp tốt để dọn dẹp các tiện ích đã cài
    Tôi định chỉ giữ lại những thứ thật sự cần thiết và xóa phần còn lại