GitHub yêu cầu 2FA và mã thông báo tồn tại trong thời gian ngắn để bảo mật npm

Tác giả Starlink, T.Chín 24, 2025, 09:00:03 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Hôm thứ Hai, GitHub đã thông báo rằng họ sẽ thay đổi các tùy chọn xác thực và xuất bản "trong tương lai gần" để ứng phó với làn sóng tấn công chuỗi cung ứng gần đây nhắm vào hệ sinh thái npm, bao gồm cả cuộc tấn công Shai-Hulud.

Điều này bao gồm các bước giải quyết các mối đe dọa do lạm dụng mã thông báo và phần mềm độc hại tự sao chép bằng cách cho phép xuất bản cục bộ với xác thực hai yếu tố (2FA) bắt buộc, mã thông báo chi tiết có thời hạn sử dụng giới hạn là bảy ngày và xuất bản đáng tin cậy, cho phép xuất bản an toàn các gói npm trực tiếp từ quy trình làm việc CI/CD bằng OpenID Connect (OIDC).


Trusted publishing, ngoài việc loại bỏ nhu cầu sử dụng mã thông báo npm, còn thiết lập sự tin cậy về mặt mật mã bằng cách xác thực mỗi lần xuất bản bằng thông tin xác thực ngắn hạn, dành riêng cho quy trình làm việc, không thể bị rò rỉ hoặc tái sử dụng. Quan trọng hơn nữa, npm CLI tự động tạo và xuất bản chứng thực nguồn gốc cho gói.

GitHub đã lưu ý vào cuối tháng 7 năm 2025 rằng : "Mỗi gói được xuất bản thông qua tính năng xuất bản đáng tin cậy đều bao gồm bằng chứng mật mã về nguồn và môi trường xây dựng". "Người dùng của bạn có thể xác minh gói của bạn được xây dựng ở đâu và như thế nào, từ đó tăng cường sự tin cậy vào chuỗi cung ứng của bạn."

Để hỗ trợ những thay đổi này, công ty thuộc sở hữu của Microsoft cho biết họ sẽ thực hiện các bước sau:

    Loại bỏ các token cổ điển cũ.
    Ngừng sử dụng mật khẩu một lần theo thời gian (TOTP) 2FA, chuyển người dùng sang 2FA dựa trên FIDO.
    Giới hạn mã thông báo chi tiết có quyền xuất bản với thời hạn hết hạn ngắn hơn.
    Đặt quyền truy cập xuất bản để không cho phép mã thông báo theo mặc định, khuyến khích sử dụng nhà xuất bản đáng tin cậy hoặc xuất bản cục bộ được thực thi 2FA.
    Xóa tùy chọn bỏ qua 2FA khi xuất bản gói cục bộ.
    Mở rộng danh sách nhà cung cấp đủ điều kiện cho hoạt động xuất bản đáng tin cậy.

Sự phát triển này diễn ra một tuần sau cuộc tấn công chuỗi cung ứng có tên mã là Shai-Hulud đã đưa một loại sâu tự sao chép vào hàng trăm gói npm để quét máy tính của nhà phát triển nhằm tìm kiếm các thông tin nhạy cảm và truyền chúng đến máy chủ do kẻ tấn công kiểm soát.

Xavier René-Corail của GitHub cho biết: "Bằng cách kết hợp khả năng tự sao chép với khả năng đánh cắp nhiều loại bí mật (không chỉ mã thông báo npm), loại sâu này có thể tạo điều kiện cho một loạt các cuộc tấn công vô tận nếu GitHub và những người bảo trì mã nguồn mở không kịp thời hành động".

Những thay đổi đối với GitHub xuất hiện vài ngày sau khi kho lưu trữ gói   Đăng nhập để xem liên kết bổ sung hỗ trợ cho việc xuất bản đáng tin cậy và Ruby Central công bố các biện pháp mới nhằm tăng cường bảo mật chuỗi cung ứng trên toàn bộ RubyGems và RubyGems.

"Từ nay về sau, chỉ những kỹ sư được Ruby Central tuyển dụng hoặc ký hợp đồng mới được nắm giữ quyền quản trị đối với dịch vụ   Đăng nhập để xem liên kết", Ruby Central cho biết. "Điều này bao gồm cả hệ thống sản xuất và kho lưu trữ GitHub của chúng tôi. Trong thời gian tới, chúng tôi sẽ tạm thời nắm giữ quyền quản trị đối với các dự án này trong khi hoàn thiện các chính sách mới nhằm hạn chế quyền cam kết và quyền truy cập của tổ chức."

Tiết lộ này được đưa ra khi công ty bảo mật chuỗi cung ứng phần mềm Socket cho biết họ đã phát hiện một gói npm độc hại có tên fezbox, có khả năng thu thập mật khẩu trình duyệt bằng một kỹ thuật ẩn mã mới. Gói này hiện không còn khả dụng để tải xuống từ npm. Nó đã thu hút tổng cộng 476 lượt tải xuống kể từ khi được phát hành lần đầu vào ngày 21 tháng 8 năm 2025.

Nhà nghiên cứu bảo mật Olivia Brown cho biết : "Trong gói này, tác nhân đe dọa (bí danh npm janedu; email đăng ký janedu0216@gmail[.]com) thực thi một phần mềm độc hại trong mã QR để đánh cắp thông tin tên người dùng và mật khẩu từ cookie web, trong trình duyệt".

Fezbox tự nhận là một tiện ích JavaScript bao gồm các hàm trợ giúp phổ biến. Tuy nhiên, trên thực tế, nó ẩn chứa mã ẩn để lấy mã QR từ một URL từ xa, phân tích mã QR và thực thi mã JavaScript chứa trong URL đó.

Về phần mình, tải trọng sẽ cố gắng đọc document.cookie, trích xuất thông tin tên người dùng và mật khẩu từ cookie và truyền thông tin đến máy chủ bên ngoài ("my-nest-app-production>.up.railway[.]app") thông qua yêu cầu HTTPS POST.

"Hầu hết các ứng dụng không còn lưu trữ mật khẩu theo nghĩa đen trong cookie nữa, nên rất khó để nói phần mềm độc hại này sẽ thành công đến mức nào trong mục tiêu của nó", Brown lưu ý. "Tuy nhiên, việc sử dụng mã QR để che giấu thêm là một bước đột phá sáng tạo của kẻ tấn công. Kỹ thuật này cho thấy kẻ tấn công tiếp tục cải tiến các kỹ thuật che giấu của chúng và tại sao việc có một công cụ chuyên dụng để kiểm tra các phần mềm độc hại của bạn lại quan trọng hơn bao giờ hết."