Chuyển tới nội dung chính

Giới hạn và rủi ro hiện tại

Trung thực về những gì chưa được bảo vệ ở giai đoạn này:

  • Chưa có chủ sở hữu code theo đối tác. Bất kỳ ai nộp được gói đều có thể nộp một phiên bản mới mang code của module người khác đã có. Việc này chặn ở đầu việc G3-D1-7 (chưa làm). Vì vậy chỉ FoxAI nên nộp gói ở giai đoạn này; mở thật cho đối tác ngoài phải chờ G3-D1-7 xong.
  • Chưa có khoá ký theo đối tác. Khoá tin cậy là một danh sách chung (trusted-keys), không gắn với từng đối tác — ai có một khoá trong danh sách đó đều ký được gói hợp lệ cho bất kỳ code nào. Chặn ở G3-D1-8 (chưa làm).
  • Module Federation không cô lập kỹ thuật. Giao diện module chạy chung origin với cổng: mã module đọc được token, localStorage, DOM, và gọi được mọi API bằng phiên của người dùng. Không có rào kỹ thuật nào ngăn việc đó.
  • Mã chạy không phải mã đã duyệt. frontend.remote trỏ tới máy chủ của bên nộp gói, và cổng tải remoteEntry.js từ đó lúc chạy. Bên nộp gói thay tệp sau khi bản đã PUBLISHED thì cổng chạy mã mới mà không ai duyệt; bước duyệt chỉ còn bảo vệ được manifest. Vì vậy chỉ module của FoxAI được khai frontend.remote, và URL phải thuộc domain FoxAI kiểm soát, cho tới khi nền tảng tự host bundle lấy từ gói đã ký hoặc ghim băm của từng tệp (điểm mở 1 của ADR-0096).
cảnh báo

Bốn điểm trên là lý do trang Nộp gói ghi "chỉ FoxAI nên nộp gói" — không phải một gợi ý, mà là điều kiện an toàn thật của hệ thống ở giai đoạn này.