How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript
Note: This post is over 10 years old. The information may be outdated.
Một lập trình viên vừa gây lỗi hàng loạt cho Node, Babel và hàng nghìn projects khác. Chỉ với 11 dòng Javascript.
Một vụ lớn trong giới Nodejs. Một lập trình viên tên là Koçulu sở hữu package trên npm là Kik. Mới vừa rồi xuất hiện 1 cty cũng tên là kik, người đại diện của kik yêu cầu Koçulu đổi tên kik, anh này không chịu. Sau đó Kik nhờ luật sư can thiệp với Npm Admin.
Koçulu bất mãn với quyết định của npm và quyết định gỡ toàn bộ 250 package của mình, không may trong đó có 1 package left-pad, chỉ có 11 dòng Javascript (mã nguồn bên dưới), có chức năng thêm vào các khoảng trắng bên trái 1 chuỗi. Và có hàng nghìn project lớn khác (trong đó có Node, Babel, ...) sử dụng lại Package này.
Với việc left-pad bị gỡ trên NPM, hàng nghìn project đó sẽ gặp lỗi khi cài đặt dependency. left-pad đã được tải xuống 2,486,696 lần trong tháng vừa qua.
Hiện mọi người vẫn có thể cài đặt các package đã bị gỡ bỏ này trực tiếp thông qua Github.
module.exports = leftpad;
function leftpad (str, len, ch) {
str = String(str);
var i = -1;
if (!ch && ch !== 0) ch = ' ';
len = len - str.length;
while (++i < len) {
str = ch + str;
}
return str;
}
Tham khảo
Related Posts
Tối ưu hóa Javascript với Google Closure Compiler
Closure Compiler là 1 dự án của Google giúp Javascript tải và chạy nhanh hơn. Không phải là biên dịch từ Javascript sang mã máy, mà Closure biên dịch từ Javascript sang better-Javascript. Tức là tự động viết lại Javascript sao cho tối ưu hóa nhất mà kết quả không thay đổi.
Thuyết âm mưu về lý do con người thích mèo
Con người có tự do lựa chọn hay chúng ta chỉ là những con rối bị ký sinh trùng giật dây?
Sự cố Vietcombank, một góc nhìn kỹ thuật
Bài viết gốc đăng tại VnSecurity
Tiến sĩ là gì?
Tiến sĩ là gì? Người có kiến thức như thế nào thì đặt tới trình độ Tiến sĩ (Ph.D)?