npm 12 chính thức vô hiệu hóa script cài đặt mặc định nhằm giảm thiểu rủi ro chuỗi cung ứng
GitHub vừa phát hành npm phiên bản 12 với những thay đổi bảo mật quan trọng, bao gồm việc vô hiệu hóa mặc định các script cài đặt và hạn chế quyền hạn của các token bỏ qua...
GitHub đã chính thức ra mắt npm phiên bản 12, mang đến những thay đổi mang tính bước ngoặt nhằm tăng cường bảo mật chuỗi cung ứng phần mềm. Thay đổi đáng chú ý nhất là việc vô hiệu hóa mặc định các script cài đặt, cùng với đó là việc hạn chế quyền hạn của các Granular Access Tokens (GATs) vốn được thiết kế để bỏ qua xác thực hai yếu tố (2FA).
Thay đổi về cơ chế thực thi script
Trong các phiên bản trước, npm cho phép các script chạy tự động trong quá trình cài đặt. Tuy nhiên, với npm 12, các hành vi này giờ đây yêu cầu người dùng phải chủ động kích hoạt (opt-in):
- allowScripts: Mặc định ở trạng thái tắt. Các script vòng đời phụ thuộc như
preinstall,install,postinstallvà các bản dựngnode-gypsẽ không được thực thi trừ khi được cho phép rõ ràng. - –allow-git: Mặc định là ‘none’, ngăn chặn việc tự động phân giải các phụ thuộc Git.
- –allow-remote: Mặc định là ‘none’, chặn việc phân giải các phụ thuộc từ URL từ xa (như file tarball).
Để phê duyệt các script đáng tin cậy, người dùng cần thực hiện lệnh npm approve-scripts --allow-scripts-pending và cam kết danh sách được phê duyệt (allowlist) vào file package.json.
Hạn chế đối với GATs và 2FA
GitHub cũng đang siết chặt quản lý đối với các token GATs có khả năng bypass 2FA:
- Từ đầu tháng 8/2026, các token này sẽ không còn quyền thực hiện các tác vụ quản trị nhạy cảm như thay đổi mật khẩu, cấu hình 2FA, hoặc quản lý thành viên tổ chức.
- Từ tháng 1/2027, khả năng xuất bản (publish) gói trực tiếp bằng các token này sẽ bị loại bỏ. Người dùng được khuyến nghị chuyển sang sử dụng trusted publishing (OIDC) hoặc quy trình xuất bản theo giai đoạn có sự phê duyệt của con người.
Cập nhật từ pnpm
Song song với npm, pnpm phiên bản 11.10 cũng giới thiệu thiết lập _auth mới. Thay đổi này giúp gắn kết thông tin xác thực với máy chủ tương ứng, ngăn chặn việc các file cấu hình bị thao túng (như .npmrc) có thể điều hướng token đến các máy chủ độc hại, một kỹ thuật thường thấy trong các cuộc tấn công chiếm quyền điều khiển dự án.
Các chuyên gia khuyến cáo cộng đồng lập trình viên nên sớm nâng cấp lên các phiên bản mới nhất và kiểm tra các cảnh báo bảo mật để đảm bảo tính an toàn cho môi trường phát triển.
Nguồn tham khảo: The Hacker News



No Comment! Be the first one.