Điểm chính
- Phát hiện lỗ hổng mang tên SlugFest trong tính năng Trusted Publishing của hệ thống quản lý gói npm.
- Kẻ tấn công có thể lợi dụng việc thay đổi tên repository GitHub để chiếm quyền phát hành gói phần mềm.
- Sự bùng nổ của các tác nhân AI coding làm gia tăng nguy cơ mã độc tự động xâm nhập vào hệ thống.
Các nhà nghiên cứu bảo mật vừa phát hiện một lỗ hổng nghiêm trọng mang tên SlugFest trong tính năng Trusted Publishing của npm, mở ra hướng tấn công chuỗi cung ứng phần mềm tinh vi mà không cần đánh cắp token xác thực.
Bản chất của lỗ hổng SlugFest trên npm
Tính năng Trusted Publishing được phát triển nhằm nâng cao bảo mật cho quá trình phát hành gói npm, thay thế các token truyền thống dài hạn bằng thông tin xác thực ngắn hạn thông qua giao thức OpenID Connect (OIDC). Tuy nhiên, điểm yếu xuất hiện do cách npm liên kết gói phần mềm với kho lưu trữ GitHub trong quá trình cấu hình ban đầu.
Thay vì sử dụng định danh vĩnh viễn của repository, hệ thống lại lưu trữ đường dẫn dạng văn bản dưới dạng tổ chức/dự án (slug). Khi một dự án bị đổi tên, chuyển nhượng hoặc xóa, kẻ xấu có thể đăng ký lại chính tên repository đó trên GitHub. Trong trường hợp gói phần mềm chưa từng thực hiện lần xuất bản tin cậy nào, npm sẽ mặc định chấp nhận tên repository mới và cung cấp quyền xuất bản cho kẻ tấn công.
Nguy cơ lây nhiễm mã độc qua chuỗi cung ứng
Thông qua quyền hạn có được, kẻ tấn công dễ dàng phát hành các phiên bản mới chứa mã độc, ví dụ như thông qua script postinstall. Khi lập trình viên hoặc hệ thống CI/CD tiến hành cài đặt, mã độc sẽ tự động kích hoạt và thực thi ngay trong môi trường của nạn nhân.
Bên cạnh đó, nghiên cứu cũng chỉ ra rằng sự phổ biến của các công cụ AI coding agents càng làm trầm trọng thêm rủi ro. Các công cụ này thường tự động tìm kiếm, cài đặt và chạy các gói phần mềm với tần suất lớn mà thiếu sự kiểm duyệt kỹ lưỡng từ con người, khiến các gói phần mềm bị chiếm quyền dễ dàng lọt vào hệ thống phát triển.
Biện pháp khắc phục và phòng ngừa
Nhằm giảm thiểu rủi ro, GitHub đã phát hành bản vá bằng cách giới hạn thời gian tồn tại của các cấu hình Trusted Publishing chưa được xác thực xuống còn 48 giờ. Nếu trong khoảng thời gian này không có lần xuất bản thành công nào diễn ra, cấu hình sẽ tự động vô hiệu hóa.



