‘막을 방법이 없다’, 이런 일이 정기적으로 일어나는 유일한 패키지 매니저가 말하다
4 hours ago
3
- npm 레지스트리 공급망 공격으로 수백만 기업 앱과 수십억 사용자 기록이 노출됐지만, 생태계는 이를 피할 수 없는 일처럼 받아들임
- Senior Frontend Engineer Mark Vance는 문자열 대문자 변환에도 검증 안 된 패키지의 40단계 중첩 의존성에 기대는 현실을 꼬집음
- 오래 방치된 유틸리티 패키지 탈취로 전 세계 프로덕션 빌드에 crypto-miner가 주입되는 상황이 자연재해처럼 다뤄짐
- Node.js 생태계는 악성 원격 코드 실행을 예측 불가능한 비극처럼 받아들이고, DevOps 팀은 AWS 키 교체에 매달림
- Go, Rust, 네이티브 Web API 생태계는 강한 표준 라이브러리와 암호학적 검증으로 서드파티 의존을 줄이는 대비점이 됨
npm 공급망 공격 풍자
- npm 레지스트리의 공급망 공격으로 수백만 개 기업 애플리케이션이 침해되고 수십억 사용자 기록이 노출됐지만, JavaScript 생태계 개발자들은 이를 “완전히 피할 수 없었다”는 식으로 받아들임
- Senior Frontend Engineer Mark Vance는 단일 문자열을 대문자로 만들기 위해 검증되지 않은 패키지의 40단계 중첩 의존성 트리에 기대는 현실을 현대 웹 앱 개발의 대가로 봄
- 오래 방치된 유틸리티 패키지가 탈취돼 전 세계 프로덕션 빌드에 crypto-miner가 주입되는 상황은 자연재해처럼 취급됨
- Node.js 생태계는 악성 원격 코드 실행을 예측 불가능한 비극처럼 받아들이고, AWS 키를 교체하느라 바쁜 DevOps 팀에 “생각과 기도”를 보냄
다른 생태계와 npm의 대비
- Go, Rust, 네이티브 Web API 생태계는 강한 표준 라이브러리로 서드파티 코드 의존을 크게 줄이고, 핵심 도구 체인에 엄격한 암호학적 검증을 포함함
- 해당 생태계에서는 “대학 중퇴자의 주말 프로젝트”가 글로벌 물류 인프라를 망가뜨리는 일이 오늘 0건이었다는 식으로 대비됨
- npm 대변인은 악의적 행위자가 존재하는 세상에서는 이를 받아들여야 하며, 막을 수 있는 레지스트리 정책이나 빌드 샌드박스 가드레일은 없다고 못박음
- npm 레지스트리는 로컬 머신에서 임의의 설치 스크립트를 기본 실행하는 오픈소스 레지스트리로 그려져, 대변인의 말과 구조적 위험이 맞물림
- 마지막에는 피해자에게 위로를 전하면서도 “내일 아침 다음 필연적 침해” 전까지 회복력을 유지해야 한다는 식으로 마무리됨
-
Homepage
-
Tech blog
- ‘막을 방법이 없다’, 이런 일이 정기적으로 일어나는 유일한 패키지 매니저가 말하다