Nguồn: calpaterson.com
Tóm tắt
Bài viết của Cal Paterson phản biện “dependency cooldown” — thực hành đang trở nên phổ biến trong cộng đồng bảo mật phần mềm, theo đó các project chờ N ngày sau khi một package mới được release trước khi cập nhật, nhằm tránh supply chain attacks. Lý luận là: nếu có package độc hại, những người khác (không dùng cooldown) sẽ bị tấn công trước, package sẽ bị “yank”, và người dùng cooldown sẽ an toàn.
Vấn đề cốt lõi là dependency cooldown là chiến lược free-rider. Nó hoạt động bằng cách dùng những người dùng ít thận trọng hơn làm “unpaid beta testers” — nhận thiệt hại để cả cộng đồng phát hiện ra vấn đề. Đây không phải một hệ thống có thể scale được về mặt đạo đức khi trở thành “industry best practice”. Ngoài ra, cooldown rất dễ bị bypass vô tình: chỉ cần pip install thủ công bên ngoài project config là đủ để bỏ qua toàn bộ bảo vệ.
Giải pháp thay thế được đề xuất là “upload queue” tập trung tại package index (npm, PyPI, RubyGems): tách biệt thời điểm publish và thời điểm distribute. Package được upload lên index nhưng chưa serve cho public ngay — trong thời gian chờ, các công cụ tự động quét bảo mật, diff được công khai, và maintainers được thông báo. Cách tiếp cận này không yêu cầu từng project phải configure cooldown riêng, không tạo ra free-rider problem, và không bị bypass bởi cài đặt thủ công. Debian đã dùng mô hình tương tự trong nhiều thập kỷ.
Bài viết cũng mở rộng vấn đề sang AI agents: với LLMs, markdown file thực chất là “executable” — một skill file hay prompt injection trong markdown có thể trở thành supply chain attack nhắm vào AI agent. Upload queue cho markdown-based skill packages cũng là giải pháp hợp lý trong ngữ cảnh đó.