Nguy hiểm: NuGet API key hết hạn sớm, bảo mật chuỗi cung ứng

Nguy hiểm: NuGet API key hết hạn sớm, bảo mật chuỗi cung ứng
CLOUD HOSTING
DỊCH VỤ
VPS • CLOUD • SERVER
Hiệu năng cao
Ổn định • Bảo mật • Tốc độ
☁️
SSD NVMe 99.9% 24/7
TÌM HIỂU NGAY

Microsoft đang rút ngắn thời gian hiệu lực của các API key NuGet.org nhằm tăng cường bảo mật chuỗi cung ứng phần mềm và giảm thiểu rủi ro bị chiếm đoạt các thông tin xác thực để xuất bản các gói .NET độc hại. Việc thay đổi này là một phần trong nỗ lực lớn hơn nhằm đối phó với các mối đe dọa ngày càng gia tăng đối với chuỗi cung ứng phần mềm.

Thay đổi về thời hạn hiệu lực của NuGet API key

Kể từ ngày 17 tháng 8 năm 2026, các API key NuGet.org mới tạo sẽ có thời hạn sử dụng tối đa là 30 ngày. Nền tảng sẽ không còn cho phép các nhà xuất bản tạo API key có thời hạn 365 ngày. Ngoài ra, mọi API key được tạo trước ngày 17 tháng 8 sẽ hết hạn vào ngày 1 tháng 11 năm 2026.

Các API key của NuGet hoạt động tương tự như mật khẩu để xuất bản các gói. Các nhà phát triển thường lưu trữ chúng dưới dạng bí mật trên các nền tảng CI/CD, trong cài đặt kho lưu trữ, trên máy chủ xây dựng và trong các cấu hình triển khai. Mặc dù điều này cho phép xuất bản tự động, nó cũng tạo ra một mục tiêu có giá trị cao cho kẻ tấn công. Nếu kẻ tấn công chiếm được một khóa có thời hạn dài, chúng có thể xuất bản một gói bị nhiễm trojan dưới tên dự án đáng tin cậy trong nhiều tháng trước khi thông tin xác thực hết hạn.

Tầm quan trọng của việc bảo mật chuỗi cung ứng phần mềm

Microsoft cho biết chính sách này là một phần của nỗ lực rộng lớn hơn nhằm giảm thiểu rủi ro bảo mật chuỗi cung ứng phần mềm. Các hệ sinh thái gói khác, bao gồm npm, cũng đã thực hiện các hành động tương tự. Công ty đã dẫn chứng các sự cố gói bị xâm phạm gần đây liên quan đến thông tin xác thực xuất bản bị đánh cắp như một ví dụ về tác động tiềm ẩn.

Một gói bị xâm phạm có thể nhanh chóng ảnh hưởng đến số lượng lớn các nhà phát triển và tổ chức sử dụng nó. Trong một trường hợp gần đây liên quan đến gói NX Console trên npm, những kẻ tấn công được cho là đã sử dụng thông tin xác thực bị đánh cắp để xuất bản một bản phát hành độc hại. Gói này đã được kích hoạt 6000 lần chỉ trong 36 phút trước khi bị gỡ bỏ. Các sự cố như vậy cho thấy một thông tin xác thực xuất bản bị lộ duy nhất có thể ảnh hưởng đến một hệ sinh thái phần mềm rộng lớn như thế nào.

Chính sách mới sẽ giảm thời gian mà một API key NuGet bị đánh cắp còn hữu ích. Tuy nhiên, Microsoft cảnh báo rằng thời gian hết hạn ngắn hơn không loại bỏ hoàn toàn các rủi ro liên quan đến bí mật có thể tái sử dụng. Một khóa vẫn có thể bị lộ thông qua các commit mã nguồn, nhật ký CI/CD, lưu trữ bí mật không an toàn hoặc hệ thống nhà phát triển bị xâm phạm. Điều này nhấn mạnh sự cần thiết của việc cập nhật bản vá và các biện pháp bảo mật chủ động.

Giải pháp thay thế và các biện pháp phòng ngừa

Microsoft khuyến nghị các nhà bảo trì gói nên di chuyển sang NuGet Trusted Publishing, được ra mắt vào tháng 9 năm 2025. Trusted Publishing sử dụng OpenID Connect (OIDC) để xác thực quy trình công việc CI/CD mà không cần lưu trữ một khóa xuất bản NuGet có thời hạn dài. Theo mô hình này, một nền tảng CI/CD được hỗ trợ sẽ tạo ra một mã thông báo danh tính được ký, có thời hạn ngắn trong quá trình công việc xuất bản gói.

NuGet.org sẽ xác thực mã thông báo dựa trên một chính sách do chủ sở hữu gói xác định, bao gồm kho lưu trữ, quy trình công việc và các chi tiết môi trường tùy chọn. Sau đó, nó sẽ cấp một API key tạm thời dành riêng cho hoạt động xuất bản đó. Quy trình công việc này loại bỏ nhu cầu đặt một API key NuGet có thể tái sử dụng vào một kho lưu trữ hoặc một nơi lưu trữ bí mật CI/CD. Nó cũng giảm khối lượng công việc xoay vòng bí mật và hạn chế thiệt hại từ việc lộ thông tin xác thực. Người dùng GitHub Actions và GitLab được khuyến khích bắt đầu chuyển sang Trusted Publishing trước thời hạn tháng 8.

Các nhà bảo trì không thể áp dụng xuất bản dựa trên OIDC trước thời hạn nên kiểm tra mọi quy trình xuất bản NuGet, xác định các khóa được tạo trước ngày 17 tháng 8 và cập nhật tự động hóa để hỗ trợ xoay vòng thông tin xác thực 30 ngày. Họ cũng nên giới hạn phạm vi và quyền của các khóa ở mức tối thiểu cần thiết, tránh đặt khóa vào mã hoặc nhật ký và thu hồi ngay lập tức bất kỳ thông tin xác thực nào bị lộ. Microsoft cho biết thời hạn hiệu lực của API key có thể sẽ còn được giảm thêm trong tương lai khi NuGet mở rộng hỗ trợ Trusted Publishing sang nhiều môi trường CI/CD hơn.

Để đối phó với các mối đe dọa mạng ngày càng tăng, việc cập nhật các công cụ và quy trình bảo mật là cực kỳ quan trọng. Các tổ chức cần liên tục đánh giá và cải thiện các biện pháp phòng ngừa của mình để bảo vệ chống lại các cuộc tấn công nhằm vào chuỗi cung ứng phần mềm.

Các chỉ số về sự xâm nhập (IOC)

Mặc dù nội dung gốc không cung cấp các chỉ số về sự xâm nhập cụ thể dưới dạng danh sách có thể trích xuất trực tiếp, nhưng các hành vi độc hại tiềm ẩn bao gồm việc sử dụng API key bị đánh cắp để xuất bản các gói độc hại. Các nhà phân tích bảo mật nên theo dõi các hoạt động bất thường trên NuGet.org, chẳng hạn như các gói mới xuất hiện với mã đáng ngờ hoặc các cập nhật đột ngột cho các gói uy tín.

Các dấu hiệu tiềm ẩn của việc bị xâm nhập có thể bao gồm: các gói được xuất bản gần đây có chứa mã thực thi từ xa (RCE), các thay đổi không mong muốn trong các phụ thuộc của dự án, hoặc các hoạt động xuất bản bất thường từ các tài khoản nhà phát triển lâu năm. Việc giám sát chặt chẽ các hoạt động này là một phần quan trọng của chiến lược an ninh mạng.