피드로 돌아가기
LinkedIn 채용 제안에 숨겨진 백도어
GeekNewsGeekNews
Security

LinkedIn 채용 제안에 숨겨진 백도어

npm prepare 스크립트를 이용한 RCE 백도어 탐지 및 VPS 샌드박스 방어

neo2026년 6월 16일9intermediate

Context

소셜 엔지니어링을 통해 신뢰를 구축한 후 악성 코드가 포함된 GitHub 저장소 리뷰를 요청하는 공격 방식. 단순 라이브러리 설치 과정에서 개발자 로컬 머신의 권한을 탈취하려는 RCE(Remote Code Execution) 시도임.

Technical Solution

  • npm install 실행 시 자동 구동되는 prepare 스크립트를 트리거로 활용하여 페이로드 실행 구조 설계
  • app/index.js 내 require() 호출을 통해 테스트 파일로 위장한 app/test/index.js의 백도어 로직을 로드하는 체인 구성
  • 정적 분석 회피를 위해 URL을 조각난 변수로 분할한 뒤 동적으로 결합하여 C2 서버 주소를 생성하는 난독화 적용
  • 로컬 환경 대신 Hetzner VPS 기반의 일회용 샌드박스 환경을 구축하여 격리된 분석 경로 확보
  • 읽기 전용 모드로 설정된 AI 에이전트(Pi)를 활용하여 파일 시스템 접근을 제한하고 코드 패턴만을 신속히 스캔

1. 출처가 불분명한 저장소의 npm install 실행 금지

2. 외부 코드 리뷰 시 Docker 컨테이너 또는 일회용 VPS 환경 활용

3. package.json 내 prepare, preinstall 등 라이프사이클 스크립트 존재 여부 우선 확인

4. AI 에이전트 활용 시 Read-only 툴셋만 활성화하여 런타임 실행 리스크 제거

원문 읽기