Tại sao Dependabot áp dụng cơ chế ‘cooldown’ 3 ngày cho các bản cập nhật phiên bản?
GitHub vừa cập nhật mặc định thời gian chờ 3 ngày (cooldown) cho các yêu cầu cập nhật phiên bản của Dependabot nhằm giảm thiểu rủi ro từ các cuộc tấn công chuỗi cung ứng phần...
GitHub vừa chính thức áp dụng cơ chế “cooldown” mặc định kéo dài 3 ngày đối với các yêu cầu cập nhật phiên bản (version updates) của Dependabot. Thay đổi này nhằm ngăn chặn việc các mã độc vô tình bị đưa vào quy trình phát triển phần mềm ngay sau khi một phiên bản mới được phát hành.
Table Of Content
Tại sao cần cơ chế Cooldown?
Trong những năm gần đây, các cuộc tấn công vào chuỗi cung ứng phần mềm (supply chain attacks) ngày càng tinh vi. Kẻ tấn công thường chiếm quyền điều khiển tài khoản của nhà phát triển (maintainer) và phát hành các phiên bản chứa mã độc lên các registry công cộng. Những phiên bản này thường bị phát hiện và gỡ bỏ chỉ trong vài giờ. Tuy nhiên, các công cụ tự động cập nhật thường có xu hướng “bắt” ngay lập tức phiên bản mới nhất, vô tình đưa mã độc vào hệ thống của người dùng trước khi cộng đồng kịp phát hiện.
Việc áp dụng khoảng thời gian chờ 3 ngày giúp các nhà nghiên cứu bảo mật, cộng đồng và các công cụ quét tự động có đủ thời gian để kiểm tra và loại bỏ các gói tin độc hại trước khi chúng tiếp cận đến dự án của bạn.
Phân biệt giữa Security Updates và Version Updates
GitHub nhấn mạnh rằng cơ chế cooldown này chỉ áp dụng cho version updates (cập nhật phiên bản để duy trì tính mới). Đối với security updates (cập nhật để vá lỗ hổng bảo mật đã biết), Dependabot vẫn sẽ gửi yêu cầu ngay lập tức để đảm bảo dự án của bạn được bảo vệ kịp thời trước các CVE đã công bố.
Dữ liệu thực tế
Dựa trên dữ liệu từ GitHub Advisory Database, phần lớn các gói tin độc hại trên npm thường bị gỡ bỏ trong vòng vài giờ sau khi phát hành. Việc chờ đợi 3 ngày được đánh giá là khoảng thời gian cân bằng: đủ dài để vượt qua “cửa sổ nguy hiểm” nơi các cuộc tấn công diễn ra, nhưng cũng đủ ngắn để không làm chậm trễ quá trình duy trì các thư viện phụ thuộc của dự án.
Mặc dù 3 ngày là thiết lập mặc định mới, người dùng vẫn có thể tùy chỉnh tham số cooldown trong tệp dependabot.yml để phù hợp với quy trình làm việc riêng của nhóm.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.