Bê bối: Pyrefly của Meta âm thầm vô hiệu hóa các extension Python đối thủ trên VS Code

02 tháng 5, 2026·4 phút đọc

Một vấn đề vừa được phát hiện trên GitHub cho thấy Pyrefly, công cụ lập trình của Meta, âm thầm sửa đổi cài đặt toàn cầu để vô hiệu hóa các extension Python đối thủ như BasedPyright và WindsurfPyright. Đáng lo ngại hơn, hành động này không hề có thông báo và không được hoàn tác khi người dùng gỡ cài đặt Pyrefly, khiến các công cụ khác bị hỏng vĩnh viễn.

Bê bối: Pyrefly của Meta âm thầm vô hiệu hóa các extension Python đối thủ trên VS Code

Bê bối: Pyrefly của Meta âm thầm vô hiệu hóa các extension Python đối thủ trên VS Code

Một vấn đề gây tranh cãi lớn vừa được phát hiện trên kho lưu trữ GitHub của dự án Pyrefly (công cụ kiểm tra kiểu dữ liệu Python của Meta). Theo đó, extension này bị cáo buộc đã âm thầm sửa đổi cài đặt toàn cầu của VS Code để vô hiệu hóa các tiện ích đối thủ, mà không hề xin phép người dùng hay cung cấp cách khắc phục khi gỡ cài đặt.

Vấn đề được đưa ra light bởi người dùng có nickname FossAndFurious trong issue #3292, cho thấy Pyrefly đang hoạt động như một phần mềm độc hại (malware) hơn là một công cụ hỗ trợ lập trình hữu ích.

Cơ chế "sabotage" âm thầm

Theo mã nguồn được công bố, ngay khi được kích hoạt, Pyrefly sẽ thực thi các lệnh để ghi đè lên tệp cấu hình settings.json toàn cầu của người dùng. Cụ thể, nó tìm kiếm và vô hiệu hóa ba extension Python phổ biến khác bao gồm:

  • detachhead.basedpyright
  • codeium.windsurfpyright
  • anysphere.cursorpyright

Quy trình này diễn ra hoàn toàn trong im lặng. Pyrefly đặt giá trị disableLanguageServices thành true cho từng extension đối thủ nêu trên, ngăn chặn chúng hoạt động bình thường mà không hiển thị bất kỳ thông báo cảnh báo hay hộp thoại xác nhận nào cho người dùng.

Tại sao hành động này gây lo ngại?

Vấn đề không chỉ dừng lại ở việc cạnh tranh không lành mạnh, mà còn ở cách thức thực hiện ảnh hưởng trực tiếp đến trải nghiệm và quyền kiểm soát của người dùng:

  1. Sửa đổi cài đặt toàn cầu mà không báo: Việc sử dụng ConfigurationTarget.Global có nghĩa là Pyrefly can thiệp vào tệp cấu hình người dùng, ảnh hưởng đến mọi không gian làm việc (workspace) trên máy tính. Người dùng hoàn toàn không biết điều này đang diễn ra.
  2. Không dọn dẹp khi gỡ cài đặt: Đây là điểm nghiêm trọng nhất. Khi người dùng gỡ bỏ (uninstall) Pyrefly, các cài đặt vô hiệu hóa kia vẫn được giữ nguyên. Kết quả là các extension đối thủ tiếp tục bị "hỏng" và người dùng sẽ phải mất công tìm hiểu và sửa thủ công trong tệp settings.json để khôi phục lại chức năng cho chúng.
  3. Nhắm mục tiêu cụ thể: Pyrefly không sử dụng một cơ chế chung để xử lý xung đột máy chủ ngôn ngữ (language server). Thay vào đó, nó hardcode (lập trình cứng) các ID của các đối thủ cụ thể để tấn công, cho thấy đây là hành động có chủ đích nhằm loại bỏ cạnh tranh.

Vấn đề phụ thuộc cưỡng chế và ảnh hưởng đến VSCodium

Ngoài việc vô hiệu hóa đối thủ, Pyrefly còn bị chỉ trích vì gán các phụ thuộc (dependencies) cưỡng chế vào các extension của Microsoft trong tệp package.json.

Cụ thể, việc cài đặt Pyrefly sẽ tự động kéo theo bộ ba extension của Microsoft: ms-python.python, ms-python.debugpyms-python.vscode-python-envs. Điều này tạo ra một sự phụ thuộc hai chiều: gỡ bỏ bất kỳ extension nào của Microsoft cũng sẽ kéo theo gỡ bỏ Pyrefly.

Đối với người dùng sử dụng VSCodium (phiên bản VS Code không chứa telemetry của Microsoft) hoặc các bản phân phối FOSS (mã nguồn mở) khác, việc bị ép cài đặt các extension của Microsoft là một trải nghiệm tồi tệ. Đặc biệt khi các tính năng cốt lõi của Pyrefly (như kiểm tra kiểu, gợi ý code) thực tế chạy hoàn toàn độc lập thông qua binary pyrefly và không thực sự cần đến extension chính thức của Microsoft để hoạt động.

Kết luận

Hành động của Pyrefly đi ngược lại nguyên tắc minh bạch và tôn trọng người dùng mà cộng đồng mã nguồn mở luôn hướng tới. Việc một công cụ lớn như Meta sử dụng các thủ thuật để triệt hạ đối thủ và cài đặt phần mềm gián điệp (telemetry) của Microsoft lên máy người dùng mà không sự đồng ý rõ ràng chắc chắn sẽ gây ra làn sóng tẩy chay và mất niềm tin từ các nhà phát triển.

Hiện tại, cộng đồng đang chờ đợi phản hồi chính thức từ đội ngũ phát triển Pyrefly về việc sẽ gỡ bỏ mã độc hại này trong các bản cập nhật tới.

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗