개발 뉴스 · 1 min read · Dec 23, 2025

개발자가 11줄의 코드로 수천 개의 JavaScript, Node 앱을 중단시킴

불만을 품은 개발자가 Babel, Node 등과 같은 수천 개의 앱을 중단시키기 위해 11줄의 JavaScript만 필요했습니다.

“지옥도 버림받은 여자의 분노를 견딜 수 없다”는 말이 있습니다. 버림받은 개발자에 대해서도 같은 말을 할 수 있을 것입니다. 불만을 품은 개발자가 JavaScript 개발자들을 좌우로 scrambling하게 만들어 빌드를 중단시키고 수천 개의 프로젝트에 영향을 미치는 문제를 해결하게 만들었습니다.

이 문제는 프로그래머 Azer Koçulu, npm의 회사, 그리고 메신저 앱 Kik 간의 삼자 간의 다툼으로 인해 수많은 프로젝트가 중단된 후 발생했습니다.

Koçulu에 따르면 싸움의 시작은 Kik의 변호사들이 그의 npm 모듈 중 하나의 이름인 Kik에 도전했기 때문입니다. Kik의 변호사는 그에게 npm에서 삭제할 것을 요청했습니다. “내 대답은 ‘아니오’였습니다.”라고 Koçulu는 설명했습니다.

Kik의 법무팀은 이후 npm CEO Isaac Schlueter에게 접근하여 이름 변경을 요청했습니다. Koçulu에 따르면 법적 위협 이후, Schlueter는 “내 허락 없이 이 모듈의 소유권을 변경하기로 동의했습니다.”

Koçulu는 npm에서 모든 패키지를 게시 취소하여 중요한 left-pad 모듈을 포함했습니다. 이 작은 JavaScript 라이브러리는 문자열을 왼쪽에 0 또는 공백으로 패딩하는 데 책임이 있는 17줄의 코드로 구성되어 있습니다.

Koçulu가 자신의 패키지를 게시 취소하자, 이 패키지는 GitHub를 통해서만 사용할 수 있게 되었고, 수천 개의 프로젝트의 자동 빌드를 차단하여 개발자들을 열정적인 디버깅 세션으로 몰아넣었습니다. left-pad 모듈은 하루에 약 100,000회 다운로드되었고, 지난 한 달 동안만 250만 회 다운로드되었습니다.

싸움은 Twitter와 Reddit으로 번졌습니다. “이 상황은 NPM이 누군가의 개인 소유지이며 기업이 사람들보다 더 강력하다는 것을 깨닫게 해주었습니다. 저는 오픈 소스를 하는 이유는 사람들에게 힘을 주기 위해서입니다.”라고 Koçulu는 어제 썼습니다.

이제 모든 것이 정상으로 돌아왔습니다.

좋은 소식은 Koçulu가 자신의 프로젝트의 소유권을 인수하고 싶어하는 누구에게나 이전하기로 동의하고, 이를 npm에 다시 업로드하겠다는 것입니다.

모든 모듈이 새로운 소유자에게 이전되는 데는 시간이 걸리겠지만, 그동안 left-pad는 새로운 집을 찾았고, 개발자들은 모든 것이 다시 작동하고 있다는 안도의 한숨을 쉴 수 있습니다.

Koçulu의 자존심을 위한 싸움은 미래의 사이버 보안에 대한 함의가 없지 않습니다. 모든 npm 모듈을 제거함으로써 그는 또한 해당 모듈의 네임스페이스를 해방시켰습니다. 이는 누구나 매우 쉽게 또 다른 left-pad 모듈을 등록하고 수천 개의 JavaScript 프로젝트의 빌드에 악성 코드를 배포할 수 있음을 의미합니다.

메신저 앱 Kik은 전혀 다른 이야기를 가지고 있습니다. Medium 게시물에서 Kik의 제품 책임자인 Mike Roberts는 이 문제에 대한 회사의 입장을 설명했습니다. 그는 게시물에서 Koçulu의 Kik과의 충돌을 피하기 위해 다가오는 패키지에서 Kik 이름을 피할 것이라고 말했습니다. 그는 또한 Kik과 Azer 간의 이메일 교환 세부 정보를 공개하여 그들이 Azer에게 이름을 되찾도록 설득하기 위해 열심히 노력했음을 보여주었습니다.

Koçulu가 자신의 모듈을 중단시켜 수천 명의 개발자에게 고통을 주는 것이 충분히 신속했는지 판단하는 것은 독자 여러분에게 달려 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.