호출 예약
호출 내역
추천 내역
신고
1주일 보지 않기
카카오톡 공유
주소 복사
공지가 닫혀있습니다 l 열기
패딩조끼ll조회 22970l 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개월 전
..문송합니다 알겠는데 모르겠어요
3개월 전
실력만 있으면 기업들도 머리숙이게 할수있다는 예시
3개월 전
아깝네요 보상의 의미로 돈을 받으셨으면 좋았을텐데 마음이 넓으시네...
3개월 전
쓰니 뭐하는 사람인데 이런 걸 공유해 너무 즐겁게 읽었다 지나가는 개발자익
2개월 전
Lpad가 엄청간단한 코드거든요 그냥 왼쪽에 특정문자로 가득채워주는건데
이게 워낙 간단하다보니까 그냥 만들어쓰기 귀찮아서 가져다 쓴건데 이 기초함수가 빠져버리니 라이브러리 연결이 요상하게 깨지면서 먹통이 된 특이 케이스죠

2개월 전
   
로그인 후 댓글을 달아보세요
 
카테고리
  1 / 3   키보드
닉네임날짜조회
이슈·소식 현재 인스타에서 불타고 있는 소방관 말투.JPG416 우우아아12:1087931 10
이슈·소식 현재 심하게 갈린다는 최애 파스타 테스트.JPG273 우우아아10:2074260 0
정보·기타 한국이 무속 강국인 이유.twt304 장미장미12:0169498 21
이슈·소식 블라인드의 저출산 해결책254 이슈왕16:2945265 5
이슈·소식 현재 역대급 퀄리티라는 임시완 마담투소 밀랍인형.jpg230 우우아아12:3564242 37
63빌딩 아쿠아리움이 39년만에 문 닫고 생기는 것.jpg 더보이즈 김영 23:35 1 0
술병 난 김준호에게 숙취 해소의 도움을 주는 김종민 편의점 붕어 23:30 409 0
플로리다에서 주위를 잘 살피며 걸어야 하는 이유2 데이비드썸원 23:29 661 0
내 친구가 도박을 끊은 방법1 담한별 23:25 759 0
사랑에 빠진 사람의 뇌 VS 연예인 본 사람의 뇌1 꾸쭈꾸쭈 23:24 926 0
입짧은햇님이 첫 끼라고 하면 다들 긴장해라5 데이비드썸원 23:20 2292 1
[속보] '동해 석유·가스 분석' 美 아브레우 박사 인천공항 입국 용시대박 23:20 484 0
이미 존재하는 뇌를 씻자 언행일치 23:19 608 0
작년 한 해 성폭력 등 피해자 2만3천여명···미성년자 50% 넘어 훈둥이. 23:18 269 0
스크린 타임 하루 평균 5시간 이상 나오면 외로운거라고 하네요 수인분당선 23:18 405 0
최저임금 못 받는 근로자 300만명 넘었다 김규년 23:17 242 0
밥한공기 뚝딱 가능한 볶음은? 탐크류즈 23:17 242 0
인강 강사별 식사법 He 23:16 576 0
??? : 옛날 분들만 비빔면 차갑게 먹는다6 디귿 23:16 1099 0
이혼소송 성공보수료 약 700억 받게 된 변 호사6 참섭 23:14 2848 3
누군가를 조롱하는 것에서 '재미'를 느끼는 것에 경각심을 가져야한다고 생각하는 달글.. 풀썬이동혁 23:13 1105 0
칼로리 태우기가 사기 수준인 수영.jpg 윤정부 23:13 1073 0
너무 귀염상이라 호불호가 있다는 정희정 치어리더 306399_return 23:13 742 0
보컬로 차력쇼 한다는 SM 아이돌 멤버 김미미깅 23:10 960 0
아이돌 팬싸 문화를 바꿔버린 전설의 탈덕후기7 세상에 잘생긴 23:06 4455 4
전체 인기글 l 안내
6/5 23:32 ~ 6/5 23:34 기준
1 ~ 10위
11 ~ 20위
1 ~ 10위
11 ~ 20위