호출 예약
호출 내역
추천 내역
신고
1주일 보지 않기
카카오톡 공유
주소 복사
공지가 닫혀있습니다 l 열기
패딩조끼ll조회 22958l 17
많이 스크랩된 글이에요!
나도 스크랩하기 l 카카오톡 공유

때는 2015년 11월 1일

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

아제르 코출루라는 이름의 한 개발자가 kik이라는 이름의 오픈소스 프로젝트를 개발하기 시작했다.

아제르는 이 프로젝트를 npm에도 게시한다.

 

여기서 잠깐!

** npm이란? **

 

Python의 pip나 Ruby의 gem처럼

Node.js의 패키지를 관리할 수 있게 해주는 패키지 매니저이다.

 

― 나무위키

 

npm에 패키지를 게시하면 다른 개발자들도

npm i kik

이런 짧은 명령 한 줄만으로 이 패키지를 쓸 수 있게 된다.

(패키지 명은 중복 불가)

 

비유하자면 앱스토어에 앱을 올린 거라고 보면 된다.

 

 

 

그러던 중 2016년 3월 말

kik이라는 이름의 메신저를 개발하는 회사(의 법정 대리인)에게서 연락이 오게 된다.

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

님아

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

?

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

우리도 님한테 무례하게 굴긴 싫은데

님이 만들어서 npm에 올린 그 kik이라는 패키지 있잖아요

그거 우리 상표거든요

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

근데

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

그거 이름 안바꾸면 우리 변호사들이 님 집에 찾아가서

현관문 두드리면서 님 계정 삭제시킬거임 ㅎㅎ

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

ㅎㅎ 말뽄새보소

조까 ㅎㅎ

 

 

 

 

아제르가 거부하자 kik은 npm 운영진에게 연락을 취한다.

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

아제르야 상표권은 어쩔수없다

kik 패키지 소유권 압수한다

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

사람 나고 기업 났지, 기업 나고 사람 났냐??

기분 더러워서 여태껏 npm에 올린거 다 삭제함 ㅂㅂ

 

 

 

 

그렇게 삭제된 패키지 중에는 left-pad라는 이름의 11줄짜리 패키지가 포함되어 있었다.

(대충 문자열의 왼쪽에 공백 혹은 다른 문자열 추가해주는 코드)

 

문제는 이 패키지에 의존성이 있는 다른 오픈소스 프로젝트들이 정말 많았다는 것이다.

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

(현재 Github에서 확인할 수 있는 left-pad에 의존하는 프로젝트의 수)

 

여기서 잠깐!

** 의존성(Dependency)이란? **

 

의존성은 예를 들어 서비스로 사용할 수 있는 객체이다.

클라이언트가 어떤 서비스를 사용할 것인지 지정하는 대신,

클라이언트에게 무슨 서비스를 사용할 것인지를 말해주는 것이다.

의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것이다.

이는 가독성과 코드 재사용을 높혀준다.

 

― 위키백과

 

쉽게 말하자면 남이 쓴 코드를 내 프로젝트로 손쉽게 링크해서 가져다 쓰는 거라고 보면 된다.

그런데 가져다 쓴 코드가 변경되거나 삭제되면 내 프로젝트가 망가질 수도 있다.

 

아무튼 left-pad에 의존하는 프로젝트 중에는 Babel이라는 이름의 자바스크립트 컴파일러가 있었는데

이걸 사용하는 기업이 엄청 많았다.

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

(대충 Babel 쓰는 회사들)

보다시피 npm도 쓰고 있었어서 당시 npm 자체는 물론이고 수많은 기업들이 다운되었었다.

메신저 회사 kik도 (Babel은 아니지만) left-pad에 의존하는 패키지를 사용하다가 피해를 봤다.

 

그리고 Cloudflare는 전세계에 CDN 및 디도스 방어 등의 서비스를 제공하는 메이저 기업이라

당시 클라우드플레어를 사용하는 전세계 수많은 사이트도 같이 다운되었다.

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

(당시 left-pad의 이슈트래커에 달린 코멘트. "이게 인터넷을 망가뜨린 것 같은데요.")

 

 

 

 

한 개발자가 삭제한 11줄의 코드 때문에 전세계 기업들이 마비되었던 사건 | 인스티즈

 

아니 우리도 맛이 갔네??

일단 님이 삭제한 left-pad 다시 복구하겠음

 

그 후 npm은 블로그에 장문의 글을 올리며 미숙한 소통에 대해 사과하였고

앞으로 패키지 게시 철회를 더 어려워지도록 만들 것임을 밝혔다.

 

kik 또한 대표가 medium에 이메일 내역을 공개하며 부적절한 표현에 대한 사과글을 올렸다.

 

그리고 아제르는 kik을 hek로 이름을 변경한다.

 

 

 

 

 

 

참고한 글

https://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm

http://kodfabrik.com/journal/i-ve-just-liberated-my-modules" target="_blank">https://web.archive.org/web/20210327093144/http://kodfabrik.com/journal/i-ve-just-liberated-my-modules

https://medium.com/@mproberts/a-discussion-about-the-breaking-of-the-internet-3d4d2a83aa4d#.gfkeb7vms

https://www.theverge.com/2016/3/24/11300840/how-an-irate-developer-briefly-broke-ja-vascript

https://www.bloter.net/newsView/blt201604040002

https://medium.com/@utatti/npm-%EC%82%AC%EA%B1%B4-%EC%A0%95%EB%A6%AC-4261ce2882fd

 

추천  17

이런 글은 어떠세요?

 
   
깨꾹  깨꾹!
😂
3개월 전
👍
3개월 전
NU'ESF  뉴이스트 사랑해🐷
😂
3개월 전
NU'ESF  뉴이스트 사랑해🐷
npm run dev..
3개월 전
GIF
(내용 없음)

3개월 전
😲
3개월 전
😲
3개월 전
투바투 연준  웅냥냥
머라는지 모르게따
3개월 전
와 npm 이런 일이 있었는지 몰랐어요 ㅋㅋㅋㅋ 재밌네요
3개월 전
생각만 해도 아찔 ...
3개월 전
김형태  ㅎㅎ벜벜
😂
3개월 전
핵 쓴다 할 때 그 핵이 여기서 나온건..?
3개월 전
아니에요! 핵은 해킹프로그램의 hack입니다
3개월 전
무신경하게 큰 착각을 하면서 기억할 뻔 했네요!!
알려주셔서 감사합니다

3개월 전
kik이 쏳아올린 작은 공인가
3개월 전
👍
3개월 전
김석진없는김석진팀  전정국은 정없찌
재밌다
3개월 전
왐마야
3개월 전
웨이브  지금이순간이우리의파도라면🌊
어우 눈앞이 아찔하네요
3개월 전
와 한 명의 사람이 이렇게까지 영향력을 줄 수 있다는게 놀라워요 ㅋㅋㅋㅋ
2개월 전
ㅋㅋㅋㅋ재밌네요
2개월 전
..문송합니다 알겠는데 모르겠어요
2개월 전
실력만 있으면 기업들도 머리숙이게 할수있다는 예시
2개월 전
아깝네요 보상의 의미로 돈을 받으셨으면 좋았을텐데 마음이 넓으시네...
2개월 전
쓰니 뭐하는 사람인데 이런 걸 공유해 너무 즐겁게 읽었다 지나가는 개발자익
1개월 전
Lpad가 엄청간단한 코드거든요 그냥 왼쪽에 특정문자로 가득채워주는건데
이게 워낙 간단하다보니까 그냥 만들어쓰기 귀찮아서 가져다 쓴건데 이 기초함수가 빠져버리니 라이브러리 연결이 요상하게 깨지면서 먹통이 된 특이 케이스죠

1개월 전
   
로그인 후 댓글을 달아보세요
 
카테고리
  1 / 3   키보드
닉네임날짜조회
유머·감동 사과 딸기 포도 귤 수박 좋아하는 순서대로 적어봐.jpg523 탕후루맛있니04.29 14:4247109 3
이슈·소식 성폭행 당한 고양이 깜지 근황347 편의점 붕어04.29 08:19111286
유머·감동 케이크 좋아하는 사람들 사이에서 50대 50으로 갈린다는 난제230 잘지내는거야04.29 12:3574187 0
이슈·소식 현재 반응갈리는 맥북 간지 근본.JPG229 우우아아04.29 11:2487904 2
유머·감동 나 블로그 애들이 웃기다고 해주는데 볼 사람ㅋ342 캐리와 장난감04.29 15:3476326 44
제자를 무고혐의로 고소한 미대교수 Different 1:42 6 0
김재중이 인스타로 공개한 사생택시 명함 내용4 qksxks ghtjr 1:35 1543 0
알베르토 덕분에 기사식당 프리패스한 외국인 형들 311095_return 1:34 867 0
진시황릉 병마용갱 복원 결과 XG 1:33 627 0
정말 같은 생각을 당장 해봐야 하는 이유 짱진스 1:33 371 0
아이브 원영턴 세상에 잘생긴 1:33 65 0
신촌 길바닥에 냅다 누워버린 남자 아이돌 하이리보 1:16 1154 0
의외로 실존한다는 아이돌 세계관 동구라미다섯 1:13 1702 0
신하들이 왕이랑 만났다 헤어지는 말이 뭐게요? ㅋㅋㅋㅋㅎㅎㅎ7 이차함수 1:12 2259 0
하이브남돌 보이넥스트도어 신곡 라이브.avi 짱진스 1:11 295 0
연합뉴스에 사진 찍히면 안되는 이유4 맠맠잉 1:11 3743 0
첫사랑이란 가나슈케이크 1:02 1384 0
요즘 엄마들이 엄청 빠져있다는 것10 옹뇸뇸뇸 0:57 5998 0
아직까지 남주로 말 갈릴거 같은 소설(&영화).jpg 311324_return 0:50 2600 0
이 트위터 광고 볼때마다 노인 불쌍하다 생각함 ♡김태형♡ 0:50 2029 0
작성자로서 제목짓기에 벽을 느낀 순간 킹s맨 0:50 2474 0
장항준 감독이 불임 치료한 썰2 He 0:49 4083 1
더글로리2 인상깊은 장면들.twt(강스포) JOSHUA95 0:43 2624 1
천기누설한 한 방송인 수인분당선 0:35 2505 0
카페갔는데 나보고 진상손님이라는 친구랑 손절함7 마카롱꿀떡 0:32 3547 1
전체 인기글 l 안내
4/30 1:42 ~ 4/30 1:44 기준
1 ~ 10위
11 ~ 20위
1 ~ 10위
11 ~ 20위