VS Code 1.123 giới thiệu độ trễ 2 giờ cho cập nhật tiện ích để ngăn chặn tấn công chuỗi cung ứng

Phần mềm18 tháng 6, 2026·6 phút đọc

VS Code 1.123 đã thêm độ trễ hai giờ cho việc tự động cập nhật các tiện ích, tạo ra một khoảng thời gian để thu hồi các bản phát hành độc hại nhằm bảo vệ chống lại các cuộc tấn công chuỗi cung ứng. Tuy nhiên, các nhà xuất bản đáng tin cậy như Microsoft và GitHub sẽ không chịu ảnh hưởng bởi quy tắc này. Động thái này đi cùng xu hướng chung của các hệ sinh thái phần mềm khác nhằm tăng cường bảo mật.

VS Code 1.123 giới thiệu độ trễ 2 giờ cho cập nhật tiện ích để ngăn chặn tấn công chuỗi cung ứng

VS Code 1.123 giới thiệu độ trễ 2 giờ cho cập nhật tiện ích để ngăn chặn tấn công chuỗi cung ứng

Bắt đầu từ phiên bản VS Code 1.123 được phát hành vào ngày 3 tháng 6, các phiên bản tiện ích mới được xuất bản sẽ phải chờ đợi hai giờ trước khi tính năng tự động cập nhật được kích hoạt. Ý tưởng này rất đơn giản: nếu kẻ tấn công xâm nhập vào tài khoản của người duy trì tiện ích và đẩy một bản cập nhật độc hại, sẽ có một khoảng thời gian để phát hiện và thu hồi bản phát hành đó trước khi nó lan rộng đến hàng triệu lập trình viên. Người dùng vẫn có thể nhấn nút Cập nhật thủ tục bất cứ lúc nào.

Microsoft giải thích rõ ràng về thay đổi này:

Khi tính năng tự động cập nhật được bật, các phiên bản mới sẽ được tự động cập nhật sau hai giờ kể từ khi được xuất bản, thêm một lớp bảo vệ bổ sung chống lại các bản phát hành có vấn đề hoặc có khả năng bị xâm phạm.

Tuy nhiên, có một ngoại lệ đáng chú ý: độ trễ này không áp dụng cho các tiện ích từ các "nhà xuất bản đáng tin cậy" như Microsoft, GitHub và OpenAI. Các tiện ích này vẫn sẽ được cập nhật ngay lập tức. Đây là một ngoại lệ khá kỳ lạ khi mà các nhà xuất bản lớn với cơ sở người dùng khổng lồ lại chính là những mục tiêu có giá trị cao nhất đối với việc xâm phạm tài khoản.

Động thái này đi sau một làn sóng các biện pháp kiểm soát tương tự trên các hệ sinh thái gói phần mềm. Pip 26.1 gần đây đã cung cấp các khoảng nghỉ phụ thuộc có thể cấu hình, cho phép các nhóm chặn các gói phần mềm mới xuất hiện dưới bảy ngày. Nghiên cứu cho thấy một khoảng nghỉ bảy ngày sẽ đã ngăn chặn 8 trên 10 cuộc tấn công chuỗi cung ứng được phân tích. RubyGems đã thêm tính năng chọn tham gia khoảng nghỉ cho Bundler. npm, pnpm, Yarn và Bun đều đã giới thiệu cài đặt tuổi tối thiểu cho bản phát hành trong năm qua. VS Code hiện đã tham gia vào lớp tiện ích IDE, mặc dù cửa sổ hai giờ của nó ngắn hơn đáng kể so với những gì các hệ sinh thái khác cung cấp.

Cộng đồng trên Reddit đã không nể nang gì về thời lượng này. Bình luận nhận được nhiều ủng hộ nhất đã thiết lập nên giọng điệu:

2 giờ hoàn toàn không đủ, vì nhiều vụ xâm phạm chuỗi cung ứng chỉ được phát hiện sau vài ngày hoặc thậm chí vài tuần. Theo tôi, tốt hơn nên mặc định là thời gian dài hơn, đồng thời thêm tùy chọn để cho phép người dùng tự chọn.

Một chuyên gia bảo mật đã phản bác gay gắt hơn nữa về quan điểm "cập nhật ngay lập tức" vốn được coi là chuẩn mực:

Huyền thoại lớn nhất về an ninh mạng mà tôi từng nghe là "Hãy đảm bảo bạn tải xuống mọi bản cập nhật ngay khi nó có sẵn". Tôi đã làm việc trong các môi trường bảo mật rất cao. Chúng tôi chưa bao giờ cập nhật kịp thời. Luôn luôn có độ trễ từ một tuần đến thậm chí một tháng, ngoại trừ các bản vá cho các lỗ hổng cụ thể.

Không phải ai cũng bác bỏ hoàn toàn cửa sổ hai giờ. Một người bình luận chỉ ra rằng hầu hết các gói độc hại được phát hiện bởi các trình quét tự động, không phải bởi con người:

Phần lớn các gói npm độc hại được tìm thấy không phải bởi người dùng, mà bởi các trình quét bảo mật tự động. Điều tương tự cũng áp dụng cho các tiện ích VS Code. Khi một gói mới được phát hành, trình quét bảo mật sẽ ngay lập tức tìm kiếm mã đáng ngờ. Nhưng 2 giờ thực sự khá ngắn cho việc này. Rốt cuộc, khi trình quét bảo mật gắn cờ một gói, vẫn cần phải có người xem xét để xác minh xem mối đe dọa có thực sự hay không.

Một số người bình luận cho rằng các cơ chế khoảng nghỉ này đã bỏ lỡ trọng tâm vấn đề. Một người đề xuất rằng VS Code nên chạy các tiện ích trong sandbox với các quyền hạn rõ ràng thay vào đó, mô hình tương tự như hệ điều hành di động sử dụng cho các ứng dụng. Một người khác đề xuất triển khai theo giai đoạn: 5% người dùng nhận bản cập nhật ngay lập tức, thêm 10% khác vài giờ sau đó, và tăng dần trong vài ngày cho đến khi mọi người đều có nó. Như vậy, các bản cập nhật bị xâm phạm sẽ chỉ ảnh hưởng đến một nhóm nhỏ người dùng ban đầu, mang lại thời gian cho các trình quét và cộng đồng phản ứng trước khi phân phối rộng rãi.

Sự xác thực thực tế đến từ các lập trình viên đã sử dụng khoảng nghỉ dài hơn ở nơi khác. Một người bình luận báo cáo rằng họ đặt thư viện npm thành độ trễ hai tuần và nói rằng "nó đã tránh được nhiều vấn đề hơn là gây ra". Một người khác chia sẻ rằng nơi làm việc của họ áp dụng chính sách sáu ngày trên sổ đăng ký npm nội bộ. Một người dùng pnpm tin rằng cấu hình minimumAgeRelease đã cứu họ khỏi hai cuộc tấn công chuỗi cung ứng trong vài tháng qua.

Hệ sinh thái vẫn thiếu bất kỳ cơ chế khoảng nghỉ nào là WordPress. Như InfoQ gần đây báo cáo, một kẻ tấn công đã mua hơn 30 plugin trên Flippa, cài cửa sau vào lần commit đầu tiên và chờ đợi tám tháng trước khi kích hoạt. Không có độ trễ xuất bản, không có xem xét thay đổi quyền kiểm soát, không có ký mã bắt buộc. Thay đổi của VS Code, dù khiêm tốn, làm cho sự thiếu hụt này trở nên khó bỏ qua hơn.

Đối với các nhóm quản lý việc triển khai VS Code, độ trễ hai giờ được bật theo mặc định mà không cần cấu hình. Những người muốn có cửa sổ dài hơn có thể tắt hoàn toàn tính năng tự động cập nhật và quản lý phiên bản tiện ích thông qua danh sách cho phép dựa trên chính sách hoặc một thị trường nội bộ được tuyển chọn.

VS Code 1.123 hiện đã có sẵn cho Windows, macOS và Linux.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗