👋 Hi! Bạn cần tư vấn gì về dịch vụ AWS?

Khi sử dụng và cài đặt các gói thư viện từ npm hoặc PyPI, những giờ đầu tiên sau khi một gói được phát hành là rủi ro nhất. Các sự kiện tấn công chuỗi cung ứng gần đây liên quan đến các gói NodeJS và Python cho thấy mã độc thường bị phát hiện và gỡ bỏ trong vài giờ, nhưng vẫn có khả năng người dùng đã cài đặt chúng trong khoảng thời gian đó. Dữ liệu cho thấy nếu người dùng đợi 1 ngày trước khi cài đặt, họ đã có thể tránh được hoàn toàn các sự cố này.

Trong một công bố ngày 29/07/2026, AWS đã giới thiệu một giải pháp cấu hình đơn giản trên Amazon Linux để loại bỏ rủi ro này: cơ chế dependency cooldown (trì hoãn cài đặt phụ thuộc) cho npm và pip. Thay đổi này yêu cầu trình quản lý gói bỏ qua các phiên bản được phát hành trong vòng 24 giờ, cho cộng đồng bảo mật thời gian để phát hiện và gỡ bỏ các gói đáng ngờ trước khi chúng tiếp cận hệ thống của doanh nghiệp.

Bối cảnh: Hai rủi ro trái ngược

Phần mềm do các gói Amazon Linux cung cấp đều trải qua quá trình đánh giá bởi các kỹ sư của Amazon và vượt qua các hàng rào bảo vệ trước khi phát hành. Tuy nhiên, các kho lưu trữ mã nguồn mở như npm và PyPI cho phép đăng tải tự do và không bắt buộc đánh giá trước. Điều này tạo ra kẽ hở cho các gói độc hại xuất hiện do mạo danh hoặc thông tin đăng nhập bị đánh cắp.

Doanh nghiệp phải đối mặt với hai rủi ro đối nghịch: phần mềm cũ tích tụ các lỗ hổng chưa được vá, trong khi các gói mới có thể chứa mã độc chưa bị phát hiện. Cách tiếp cận tốt nhất là giữ cho hệ thống được cập nhật nhưng không vội vàng áp dụng các bản phát hành mới nhất, đồng thời vẫn ưu tiên các bản vá bảo mật quan trọng. Rủi ro chuỗi cung ứng là cao nhất ngay sau khi một gói được phát hành, và giảm dần theo thời gian khi các công cụ kiểm tra và cộng đồng có thời gian rà soát.

Biểu đồ thể hiện rủi ro tấn công chuỗi cung ứng (màu đỏ) cao nhất khi gói mới phát hành và giảm dần, trong khi rủi ro từ lỗ hổng chưa vá (màu xanh) tăng dần theo thời gian.

Vấn đề: 24 giờ đầu tiên là rủi ro nhất

Các cuộc tấn công chuỗi cung ứng thường theo một kịch bản chung: một tác giả đáng ngờ phát hành một gói hoặc phiên bản gói lạ và chờ các hệ thống tự động cũng như người dùng tải về. Các nhà nghiên cứu bảo mật và máy quét tự động thường phát hiện và gỡ bỏ chúng trong vài giờ, nhưng đến lúc đó, nhiều hệ thống đã bị phơi nhiễm.

Report State of DevSecOps 2026 của Datadog cho thấy 54% ứng dụng JavaScript cài đặt ít nhất một phụ thuộc trong vòng một ngày kể từ khi nó được phát hành. Đây chính là khoảng thời gian có rủi ro chuỗi cung ứng cao nhất.

Giải pháp: Bỏ qua các gói mới phát hành trong ngày

Cơ chế dependency cooldown yêu cầu trình quản lý gói bỏ qua các phiên bản được phát hành gần đây. Nếu một phiên bản chưa tồn tại trên kho lưu trữ đủ thời gian quy định (ví dụ: 1 ngày), nó sẽ không được cài đặt. Một khoảng thời gian chờ 1 ngày có thể ngăn chặn tất cả các sự kiện tấn công chuỗi cung ứng lớn được ghi nhận gần đây.

Cả npm (v11.10.0+)pip (v26.1+) đều đã hỗ trợ tính năng này. Amazon Linux 2023 đã tích hợp các phiên bản này trong NodeJS 24 và Python 3.14 kể từ bản phát hành 2023.11.20260608. Tính năng này chỉ ảnh hưởng đến việc phân giải các gói mới hoặc được cập nhật, không áp dụng cho các quy trình cài đặt dựa trên lockfile (ví dụ: npm ci hoặc pip install -r requirements.txt).

Cách thiết lập và ghi đè

Để kích hoạt, doanh nghiệp chỉ cần thêm một dòng cấu hình vào tệp global của npm hoặc pip trên hệ thống Amazon Linux 2023:

  • Đối với npm: Sử dụng lệnh npm-24 config set min-release-age 1 --location=global.
  • Đối với pip: Sử dụng lệnh sudo python3.14 -m pip config set --global global.uploaded-prior-to P1D.

Trong trường hợp cần cài đặt bản vá bảo mật khẩn cấp, các nhà phát triển có thể tạm thời ghi đè thiết lập này bằng cách thêm một cờ lệnh khi cài đặt một gói cụ thể, ví dụ --min-release-age=0 cho npm.

Quan trọng: Các tập lệnh tự động hóa để cập nhật bản vá cần được bổ sung xử lý lỗi, ghi log và kiểm thử. Doanh nghiệp nên xem xét kỹ các gói trước khi cập nhật chúng trong các pipeline tự động.

Sự hưởng ứng từ cộng đồng và nỗ lực của AWS

Cơ chế dependency cooldown đang được các trình quản lý gói và doanh nghiệp lớn áp dụng rộng rãi. Tính đến tháng 5/2026, các công cụ phổ biến như pnpm, RenovateStepSecurity đều đã tích hợp tính năng này. Đáng chú ý, pnpm 11 đã bật sẵn cơ chế này làm mặc định.

Bản thân AWS cũng đang tích cực bảo vệ chuỗi cung ứng mã nguồn mở. Dịch vụ Amazon Inspector sử dụng AI để quét các kho lưu trữ gói và đã phát hiện hơn 150.000 gói độc hại vào năm 2025. Ngoài ra, AWS cũng đóng góp 12,5 triệu USD cho Open Source Security Foundation (OpenSSF) để tài trợ cho hạ tầng quét chủ động, mang lại lợi ích cho toàn bộ hệ sinh thái.

Khuyến nghị cho doanh nghiệp

Để tăng cường bảo mật cho môi trường Amazon Linux 2023, AWS khuyến nghị các doanh nghiệp:

  1. Thiết lập cooldown 1 ngày cho npm và pip để tạo khoảng thời gian an toàn.
  2. Ghi đè khi cần thiết để áp dụng các bản vá bảo mật khẩn cấp cho các gói cụ thể.
  3. Thường xuyên chạy npm audit hoặc pip_audit để xác định các gói cần được chú ý ngay lập tức.

Bằng cách triển khai giải pháp đơn giản này, doanh nghiệp có thể bảo vệ môi trường phát triển của mình khỏi hầu hết các trường hợp mã độc trong chuỗi cung ứng npm và PyPI, trong khi vẫn duy trì khả năng cập nhật linh hoạt.