npm bổ sung tính năng Staged Publishing và kiểm soát cài đặt nhằm ngăn chặn tấn công chuỗi cung ứng
GitHub vừa cập nhật các cơ chế bảo mật mới cho npm, bao gồm tính năng Staged Publishing yêu cầu xác thực 2FA và các tùy chọn kiểm soát nguồn cài đặt gói, nhằm đối phó với làn sóng tấn công chuỗi cung...
GitHub vừa chính thức triển khai các biện pháp kiểm soát mới trên npm nhằm tăng cường bảo mật cho chuỗi cung ứng phần mềm. Thay đổi đáng chú ý nhất là tính năng Staged Publishing, cho phép các nhà phát triển (maintainer) phê duyệt gói trước khi chúng được phát hành công khai.
Staged Publishing: Cơ chế phê duyệt thủ công
Với tính năng này, thay vì được xuất bản trực tiếp như trước đây, các gói sẽ được tải lên một hàng đợi tạm thời. Để hoàn tất quá trình, người duy trì phải thực hiện xác thực hai yếu tố (2FA) để phê duyệt gói đó. GitHub cho biết quy trình này đảm bảo “bằng chứng hiện diện” (proof of presence) cho mọi lần xuất bản, kể cả khi sử dụng các quy trình CI/CD tự động hoặc xác thực OIDC (OpenID Connect).
Để sử dụng Staged Publishing, người dùng cần đáp ứng các điều kiện: có quyền xuất bản gói, gói đã tồn tại trên registry (không áp dụng cho gói mới hoàn toàn) và tài khoản đã kích hoạt 2FA. Nhà phát triển có thể sử dụng lệnh npm stage publish (yêu cầu npm CLI phiên bản 11.15.0 trở lên) để đưa gói vào hàng đợi.
Kiểm soát nguồn cài đặt gói
Bên cạnh đó, npm cũng giới thiệu ba cờ (flag) mới để kiểm soát nguồn cài đặt, giúp áp dụng cơ chế “danh sách cho phép” (allowlist) cho các nguồn không phải từ registry:
--allow-file: Kiểm soát việc cài đặt từ các đường dẫn tệp tin cục bộ và tarball cục bộ.--allow-remote: Kiểm soát cài đặt từ các URL từ xa, bao gồm cả các tệp https tarball.--allow-directory: Kiểm soát cài đặt từ các thư mục cục bộ.
Các cập nhật này được đưa ra trong bối cảnh các cuộc tấn công vào hệ sinh thái mã nguồn mở đang diễn ra với quy mô lớn và tinh vi hơn, đặc biệt là các chiến dịch đầu độc gói (package poisoning) nhằm chiếm quyền điều khiển hoặc phát tán malware.
GitHub khuyến nghị các nhà phát triển nên kết hợp Staged Publishing với phương thức trusted publishing sử dụng OIDC để đạt được mức độ bảo mật tối ưu nhất cho quy trình phát triển phần mềm của mình.
Nguồn tham khảo: The Hacker News


No Comment! Be the first one.