Mô hình bảo mật Plugin của Obsidian đối mặt với chỉ trích từ cộng đồng bất chấp tuyên bố bảo vệ chuỗi cung ứng

Nhóm Cộng đồng BigGo
Mô hình bảo mật Plugin của Obsidian đối mặt với chỉ trích từ cộng đồng bất chấp tuyên bố bảo vệ chuỗi cung ứng

Obsidian gần đây đã công bố chi tiết về cách tiếp cận của họ nhằm giảm thiểu rủi ro tấn công chuỗi cung ứng, nhấn mạnh việc giảm thiểu phụ thuộc và thực hành xem xét mã nguồn cẩn thận. Tuy nhiên, thông báo này đã gây ra cuộc tranh luận đáng kể trong cộng đồng nhà phát triển về một lỗ hổng bảo mật rõ ràng: quyền truy cập không hạn chế mà các plugin bên thứ ba có đối với dữ liệu người dùng.

Phương pháp Quản lý Phụ thuộc của Obsidian:

  • Số lượng phụ thuộc cốt lõi ít so với các ứng dụng tương tự
  • Cố định phiên bản với các tệp khóa đã commit để đảm bảo bản dựng xác định
  • Không thực thi các script postinstall
  • Xem xét thủ công changelog cho tất cả các cập nhật phụ thuộc
  • Chu kỳ nâng cấp chậm để cho phép cộng đồng phát hiện các gói độc hại
  • Các tính năng như Bases và Canvas được triển khai từ đầu thay vì sử dụng thư viện bên thứ ba

Mô hình bảo mật Plugin bị chỉ trích

Trong khi Obsidian tự hào về việc quản lý phụ thuộc cẩn thận cho ứng dụng cốt lõi, các thành viên cộng đồng đã làm nổi bật một mâu thuẫn lớn. Ứng dụng ghi chú phổ biến này phụ thuộc rất nhiều vào các plugin cộng đồng cho phần lớn chức năng của mình, nhưng những plugin này hoạt động hầu như không có hạn chế bảo mật nào. Người dùng phát hiện ra rằng các plugin Obsidian có quyền truy cập hoàn toàn, không hạn chế không chỉ vào các tệp vault mà còn có khả năng truy cập bất kỳ tệp nào trên máy của người dùng.

Điều này tạo ra một nghịch lý khi Obsidian cẩn thận kiểm soát các phụ thuộc của riêng mình trong khi cho phép thực thi mã bên thứ ba không giới hạn thông qua các plugin. Cộng đồng đã chỉ ra rằng hầu hết người dùng phụ thuộc vào các plugin như Templater và Dataview cho chức năng cơ bản, khiến hệ sinh thái plugin trở nên thiết yếu thay vì tùy chọn.

Mối lo ngại về bảo mật Plugin:

  • Các plugin có quyền truy cập không hạn chế vào tất cả các tệp trong vault
  • Khả năng truy cập vào bất kỳ tệp nào trên máy tính của người dùng
  • Không có hệ thống phân quyền như các tiện ích mở rộng trình duyệt
  • Các plugin thiết yếu ( Templater , Dataview ) cần thiết cho chức năng cơ bản
  • Các đề xuất từ cộng đồng bao gồm phân quyền dựa trên manifest và các phương pháp sandboxing

Thiếu hệ thống phân quyền

Cuộc thảo luận đã tập trung vào việc thiếu hệ thống dựa trên quyền tương tự như các tiện ích mở rộng trình duyệt. Các thành viên cộng đồng đề xuất rằng Obsidian có thể triển khai hệ thống manifest nơi các plugin khai báo các quyền cần thiết trước, với hệ thống chặn các nỗ lực truy cập trái phép. Điều này sẽ cung cấp cho người dùng sự minh bạch về những gì mỗi plugin có thể truy cập và cho phép đồng ý có thông tin.

Một số nhà phát triển đã lưu ý rằng các ứng dụng khác cũng đối mặt với những thách thức tương tự. VSCode , Vim và Emacs cũng cấp cho các plugin quyền truy cập hệ thống rộng rãi. Tuy nhiên, những người chỉ trích lập luận rằng các ứng dụng ghi chú cá nhân thường chứa thông tin nhạy cảm hơn so với kho lưu trữ mã nguồn, khiến các tác động bảo mật trở nên nghiêm trọng hơn.

Những gì bạn có thể đưa vào Obsidian (suy nghĩ cá nhân, mục nhật ký, v.v.) có thể nhạy cảm hơn mã nguồn.

Giải pháp kỹ thuật và cách giải quyết

Một số thành viên cộng đồng đã chia sẻ các cách tiếp cận thực tế để giảm thiểu những rủi ro này. Một số người dùng đã triển khai các profile AppArmor hoặc sử dụng cài đặt Flatpak với quyền hạn chế thông qua các công cụ như Flatseal . Những người khác đã đề xuất các cách tiếp cận sandbox nghiêm ngặt sẽ cho phép các plugin truy cập ghi chú trong khi chặn truy cập mạng và đĩa để ngăn chặn việc đánh cắp dữ liệu.

Cộng đồng cũng đã thảo luận về khả năng có hệ thống plugin phân cấp, tương tự như cách tiếp cận của Arch Linux với các kho lưu trữ cộng đồng và chính thức. Điều này sẽ cung cấp các mức độ kiểm tra và đảm bảo bảo mật khác nhau cho các danh mục plugin khác nhau.

Tác động rộng hơn

Cuộc tranh luận phản ánh sự căng thẳng rộng hơn trong phát triển phần mềm giữa chức năng và bảo mật. Trong khi các thực hành quản lý phụ thuộc cốt lõi của Obsidian là hợp lý, hệ sinh thái plugin đại diện cho một bề mặt tấn công đáng kể mà các biện pháp bảo mật hiện tại không giải quyết được. Cuộc thảo luận làm nổi bật cách thức các thực hành bảo mật có ý định tốt có thể bị làm suy yếu bởi các quyết định kiến trúc ưu tiên khả năng mở rộng hơn là sự kiềm chế.

Phản ứng của cộng đồng cho thấy rằng người dùng ngày càng nhận thức được các tác động bảo mật và mong đợi các cơ chế bảo vệ tinh vi hơn, ngay cả trong các ứng dụng họ sử dụng cho năng suất cá nhân. Xu hướng này có thể đẩy các ứng dụng ghi chú hướng tới các mô hình bảo mật mạnh mẽ hơn khi kỳ vọng của người dùng phát triển.

Tham khảo: Less is safer: how Obsidian reduces the risk of supply chain attacks