Hey, blockchain builders and meme token enthusiasts – if you're knee-deep in developing DApps or tinkering with Ethereum-based projects, stop everything and check
🔍 기사 기획 내용
- X 게시물은 npm 패키지 "error-ex" 버전 1.3.3의 보안 문제를 다루며, 악성 코드가 Ethereum을 표적화한다고 주장합니다.
your dependencies right now. A crypto commentator and macro analyst, MartyParty (@martypartymusic), just dropped a bombshell PSA on X about a sneaky supply chain attack lurking in the npm ecosystem. This isn't some distant threat; it's hitting a package that's downloaded millions of times weekly and could be siphoning your funds without a trace.
간단히 정리하자면 원인은? 바로 error-ex 패키지의 1.3.3 버전입니다. Node.js 프로젝트에서 에러 처리를 위해 자주 쓰이는 JavaScript 라이브러리죠. 겉보기에는 무해해 보이지만, 코드를 들여다보면 Ethereum 환경을 탐지하고 암호화폐를 훔치도록 설계된 심하게 난독화된 악성 코드가 숨어 있습니다. 빌드 파이프라인에 들어온 트로이 목마라고 생각하면 됩니다 — 공격자의 서버로 지갑 데이터를 유출하려고 대기 중입니다.
위 트윗에 공유된 표는 섬뜩한 그림을 보여줍니다: 지난 7일 동안만 해도 v1.3.3이 44만2천 건이 넘는 다운로드를 기록했고, 안전한 v1.3.2는 무려 4,600만 건에 달했습니다. 영향 범위가 엄청납니다 — 인디 밈 코인 런처부터 대형 DeFi 프로토콜까지, React나 다른 JS 프레임워크로 블록체인 프론트엔드를 만드는 누구나 노출될 수 있습니다.
어떻게 발견됐나? 우연히 발견한 개발팀의 자세한 Substack 글에 따르면, 일상적인 빌드 과정에서 경보가 울렸다고 합니다. 그들의 CI/CD 파이프라인에서 "fetch is not defined"라는 이상한 에러가 발생했죠. 알고 보니 악성 코드는 네트워크 호출을 통해 훔친 데이터를 전송하려 했는데, 그들의 오래된 Node.js 설정에는 전역 fetch 함수가 없어 정상적으로 동작하지 않고 크래시가 났습니다. 레이어를 벗겨보니 난독화된 잡코드 속에 checkethereumw라는 함수명이 숨어 있었는데 — 이는 Ethereum, Polygon 같은 EVM 체인을 표적화하고 있음을 드러내는 명백한 신호입니다(적용하면 Solana 같은 체인도 표적이 될 수 있습니다).
악성 코드의 목적은? web3.js나 ethers.js 같은 라이브러리를 사용하는 DApp 같은 암호화폐 친화적 환경에서 실행 중인지를 감지한 뒤, 조용히 개인 키나 트랜잭션 데이터를 수집하는 것입니다. 최신 Node.js 환경에서는 이 공격이 눈에 띄지 않고 수천 개 프로젝트를 위태롭게 할 수 있습니다. MartyParty의 쓰레드는 주로 Ethereum을 겨냥했다고 강조하지만, 모든 EVM 호환 체인에 영향을 줄 수 있으니 즉시 검증하고 롤백할 것을 촉구합니다.
다행인 점은? 해결할 수 있고, 문제가 있는 버전은 이미 GitHub에서 제거되었습니다. 하지만 error-ex의 주간 전체 다운로드가 4,700만 건에 달하는 만큼, 일부 프로젝트에는 이미 피해가 발생했을 가능성이 있습니다. 다음은 스택을 밈 친화적으로 보호하기 위한 행동 계획입니다:
롤백을 즉시 수행하세요: 의존성을
error-exv1.3.2로 고정(pinning)하세요.package.json에 다음과 같은 overrides 섹션을 추가합니다:"overrides": {
"error-ex": "1.3.2"
}그다음
node_modules와package-lock.json을 삭제하고npm install을 새로 실행하세요.빌드를 안전하게 만드세요: 파이프라인에서
npm install대신npm ci로 전환하세요. lockfile에 명시된 정확한 버전을 강제해 은밀한 업데이트를 차단합니다.전문가처럼 감사(audit)하세요: 정기적으로
npm audit를 실행하고, Snyk나 Dependabot 같은 도구를 통합해 지속적인 스캔을 수행하세요. PR에서 lockfile 변경을 항상 검토하세요 — 전이적(transitive) 의존성이 예기치 않게 올라가면 즉시 표시하세요.밈 토큰 개발자들을 위한 넓은 교훈: 속도가 보안을 압도하는 밈 코인 세계에서는 이번 사건이 경종입니다. SolarWinds 해킹을 기억하시죠? 이런 공급망 공격은 러그풀보다도 더 빠르게 이익을 날려버릴 수 있습니다. 프로젝트가 지갑이나 DEX 인터페이스에 JS를 사용한다면 모든 것을 재검토하세요. 그리고 EVM 위에서 빌드하고 있다면 의존성 트리 전체를 감사하는 것을 고려하세요 —
npm ls error-ex같은 도구로 숨어 있는지 확인할 수 있습니다.
MartyParty의 경고는 다양한 반응을 불러일으켰습니다. 일부 Solana 개발자들은 (지금은) 안도하는 반응을 보였고, npm의 심사 강화 요구도 나오고 있습니다. 전체 쓰레드는 여기에서 확인하고, 발견 내용은 이 Substack 기사에서 더 자세히 읽어보세요. error-ex NPM 페이지도 이제 이 문제를 표시하고 있습니다.
항상 경계하세요 — 암호화폐 세계에서는 코드가 곧 성입니다, 그리고 이 npm 악성코드들은 문을 두드리고 있습니다. 피해를 입었거나 수상한 점을 발견했다면 댓글로 알려주세요. 한 번에 하나의 롤백으로 밈 경제를 안전하게 지켜봅시다.