Ngày 2025-10-23, SSP Wallet v1.27.0 đã hạ cánh với thay đổi bảo mật thời gian chạy sâu nhất trong năm: LavaMoat, framework phân khoang JavaScript do MetaMask tiên phong, nay đã được tích hợp vào SSP. Mỗi phụ thuộc bên thứ ba mà ví tải đều được niêm phong trong sandbox riêng, nên một gói bị xâm phạm — rủi ro chuỗi cung ứng npm mà mọi ví hiện đại phải đối mặt — không còn có thể đọc hay sửa đổi những gì các phần khác của ví đang làm. Bản phát hành này cũng siết chặt Content Security Policy, ẩn một trang kiểm tra bảo mật sau một thao tác easter-egg, và mang theo một loạt cải tiến UI.
Sandboxing thời gian chạy đến SSP
LavaMoat, trong 30 giây: một runtime lấy cây phụ thuộc của ứng dụng JavaScript, cô lập từng gói vào khoang riêng của nó, và chỉ cho mỗi khoang chạm vào các global và API đã được tệp chính sách cấp phép rõ ràng. Mặc định, một phụ thuộc bên thứ ba không thể đọc localStorage, không thể gọi fetch, không thể chạm vào keyring, không thể monkey-patch Object.prototype. Nếu nó thử, runtime sẽ chặn.
Đây là tư thế bảo mật khác với hầu hết ứng dụng web, nơi mọi gói được import chạy với cùng quyền hạn như chính ứng dụng. Bên trong SSP, mã xử lý khóa riêng tư, tích hợp swap nói chuyện với API sàn giao dịch, và các helper UI bên thứ ba trước kia dùng chung một global scope. Từ v1.27.0, không còn nữa.
Vì sao phân khoang quan trọng
Mối đe dọa mà phân khoang được thiết kế để vô hiệu hóa là tấn công chuỗi cung ứng npm. Khuôn mẫu này đã được thấy ngoài thực tế nhiều lần: kẻ tấn công chiếm quyền một gói phổ biến, phát hành phiên bản độc hại, và lướt sóng phụ thuộc bắc cầu đến mọi ứng dụng import nó. Với một ví, tác động của một gói độc hại chạy với toàn quyền ứng dụng là thảm họa — có thể đọc seed trong bộ nhớ, đánh cắp khóa riêng tư, hoặc viết lại đích đến của giao dịch trước khi người dùng ký.
LavaMoat không ngăn cuộc tấn công chạm tới ứng dụng. Nó loại bỏ tác động. Một phụ thuộc bị xâm phạm, ngay cả khi chôn năm tầng sâu trong cây, vẫn chạy bên trong một khoang không có quyền truy cập bề mặt ký, không có quyền truy cập mạng ngoài những gì chính sách cho phép, và không có cách nào đọc trạng thái của khoang khác. Gói bị xâm phạm ≠ ví bị xâm phạm — sự tương đương này lần đầu tiên đúng trong v1.27.0.
Điều này bổ sung, chứ không thay thế, các biện pháp bảo vệ đã đến trước đó trong năm. Mã nguồn của SSP đã được cuộc kiểm toán toàn diện của Halborn xác minh, và bản nhị phân bạn cài đã có thể được chứng minh đối chiếu với mã nguồn đó thông qua build tất định và chữ ký GPG. LavaMoat đóng khoảng trống runtime: ngay cả khi một phụ thuộc trở nên độc hại sau khi build được ký, nó vẫn không thể leo thang lên quyền truy cập cấp ví.
Content Security Policy mạnh hơn
Cùng với sandboxing thời gian chạy, v1.27.0 cũng siết chặt Content Security Policy ở lớp trình duyệt. CSP là ngân sách mà ví tự khai báo cho chính mình — từ các origin nào nó được phép tải script, với các origin nào nó được phép nói chuyện, hành vi inline nào được phép. Một CSP nghiêm ngặt hơn thu hẹp không gian mà kẻ tấn công có thể hoạt động ngay cả trước khi LavaMoat thực thi chính sách của nó bên trong trang.
Hiệu ứng kết hợp là hai lớp cô lập: trình duyệt từ chối tải tài nguyên ngoài chính sách đã khai báo, và bất kỳ JavaScript nào vẫn chạy thì sau đó được LavaMoat phân khoang. Mỗi lớp che một chế độ thất bại khác nhau, đó chính là điểm cốt lõi của phòng thủ theo chiều sâu.
Một trang kiểm tra bảo mật ẩn
Cho việc xác minh nội bộ — và đây là tính năng duy nhất trong bản phát hành đi kèm easter egg có chủ đích — v1.27.0 bao gồm một trang kiểm tra bảo mật không hiển thị trong điều hướng thông thường. Nhấn nhiều lần liên tiếp lên số phiên bản sẽ làm hiện nó. Trang chạy một loạt kiểm tra đối với chính sách LavaMoat và quy tắc CSP, để người đánh giá và red-teamer có thể xác nhận rằng các biện pháp bảo vệ đang hoạt động trong build họ đang kiểm tra mà không cần tự trang bị công cụ cho ví. Nó không nhằm cho người dùng hàng ngày, và không có gì có thể khai thác phía sau nó; chỉ là cách thuận tiện hơn để xác minh những gì v1.27.0 hứa hẹn.
Phòng thủ theo chiều sâu: kiểm toán + tái tạo + sandbox
Phần thú vị của v1.27.0 không phải là LavaMoat một mình; mà là cách ba mảnh ghép cùng nhau. Mã nguồn đã kiểm toán (Halborn), bản nhị phân tái tạo được mà bất kỳ ai cũng có thể xác minh đối chiếu với mã nguồn đó (build tất định), và một runtime kìm giữ bất kỳ phụ thuộc nào bị xâm phạm. Cùng nhau, chúng đổi câu hỏi từ "tôi có tin toàn bộ cây phụ thuộc của SSP không?" thành "tôi có tin phần lõi đã kiểm toán không?" — một bề mặt tin cậy nhỏ hơn nhiều và dễ trả lời hơn.
Cải tiến UI đến trên cùng: logo các sàn giao dịch trong swap giờ hiển thị đúng, và bảng màu thương hiệu đã được căn chỉnh trên các màn hình. Phân khoang là thứ thay đổi cách ví sống sót.