호출 예약
호출 내역
추천 내역
신고
1주일 보지 않기
카카오톡 공유
주소 복사
공지가 닫혀있습니다 l 열기
패딩조끼ll조회 22966l 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

이런 글은 어떠세요?

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

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

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

1개월 전
   
로그인 후 댓글을 달아보세요
 
카테고리
  1 / 3   키보드
닉네임날짜조회
이슈·소식 엎드려쏴 자세로 70년만에 발견 된 6.25 전사자421 자컨내놔12:0376150
이슈·소식 매일유업 특수분유사업 기분좋은 소식341 하품하는햄스7:3275246
할인·특가 월급 600주는 회사, 다니시겠습니까?201 션국이네 메르13:0551006 8
할인·특가 현재 잦됐다는 배달피자 업계193 션국이네 메르17:0060469 7
이슈·소식 300만 유튜브 채널 '피식대학', 지방 음식점 혹평 논란 [1일IT템]166 황홀경12:1262860 14
수퍼노바가 힘들었던 에스파의 단체 광기 응원법 태 리 23:07 168 0
제로 음료가 몸에 안좋은 진짜 이유1 도조 히데키 23:02 1045 0
[피식대학영양편] 내가 공무원인데 여기 발령받으면... 여기까지만 할게ㅋㅋㅋㅋ 벤+틀리 23:00 1334 0
원빈, 14년 만에 스크린 복귀 확정3 22:59 896 0
유튜브에서 의사 약사가 추천하는 물건 함부로 사면 안되는 이유 베데스다 22:57 867 0
캔디샵 새 멤버 줄리아 공개 트윗 반응 bbqqqq 22:54 1094 0
형… 감정 생기는 거 같아요….jpg 응수 22:49 1366 0
주한미군이 법적대응까지 검토중이라는 여시판 N번방 사다함 22:48 1159 0
민희진 인스타2 wjjdkkdkrk 22:46 3530 0
[유퀴즈] 데뷔 19년 만에 스토브리그로 대상 받았던 남궁민....jpg 언더캐이지 22:45 685 0
충격적인 간짜장밥 리뷰1 태 리 22:44 2379 0
[단독] '우회전 신호위반' 레미콘, 횡단보도 선 초등학생 들이받아 김규년 22:44 829 0
뭔가 이상한 조던 김규년 22:44 694 0
정부 '후쿠시마 오염수 일일 브리핑', 11개월 만에 주 1회로 전환(일일브리핑→주.. Wannable(워너 22:43 121 0
경지진행을 막는 애덤스미스 잡는 김재환 호수비.gif wjjdkkdkrk 22:43 224 0
프랑스서 무장 괴한들이 호송차 습격…수감자 빼내 달아나 더보이즈 상 22:41 390 0
영국 국왕 찰스3세 공식 초상화 근황 Jeddd 22:41 1258 0
전자책/웹소설 포함 안 해서 그런 거 아니냐는 얘기가 나오는데 종이책, 전자책, 오.. 세훈이를업어 22:41 499 0
뉴진스가 해설해주는 조선백자…영국박물관 오디오 가이드 녹음 실리프팅 22:41 534 0
미국에서 진행하는 총기사업의 특징 .jpg1 +ordin 22:41 833 0