How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript

Note: This post is over 9 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

NewsNode.jsRead