피드로 돌아가기
The Coding Challenge That Came for Your development Directory: Anatomy of a Job Interview Infostealer
Dev.toDev.to
Security

npm postinstall 훅을 이용한 3.8MB 규모의 3단계 Infostealer 분석

The Coding Challenge That Came for Your development Directory: Anatomy of a Job Interview Infostealer

Alex Chen2026년 5월 15일17intermediate

Context

신뢰 기반의 채용 과제 제출 프로세스를 악용한 사회공학적 공격 방식임. 개발자가 관성적으로 실행하는 npm install && npm start 명령어의 실행 흐름을 공격 경로로 설정한 설계 구조임.

Technical Solution

  • postinstall 훅을 통한 자동 실행 메커니즘으로 package.json 분석 전 페이로드 활성화 유도
  • child_process.spawn을 통한 3개의 Detached Node.js 프로세스 생성으로 메인 애플리케이션과 독립적인 백그라운드 동작 보장
  • os.tmpdir() 내 PID 기반 Lock 파일 생성으로 프로세스 중복 실행 방지 및 재부팅 후 자동 복구 메커니즘 구현
  • stdin으로 직접 스크립트 문자열을 파이핑하여 디스크 상에 물리적 파일 흔적을 남기지 않는 Fileless 실행 전략 채택
  • OS별 Credential API(macOS Keychain, Windows DPAPI, Linux secret-tool)를 호출하여 브라우저 저장 암호화 키를 추출하는 복합 디크립션 파이프라인 구축
  • C2 서버(144.172.117.220)의 포트별 역할 분리(8085: Credentials, 8086: Filesystem, 8087: Socket Backdoor)를 통한 데이터 전송 효율화

- 외부 프로젝트 설치 시 `npm install --ignore-scripts` 옵션 기본 적용 - 실행 전 `package.json` 내 `scripts` 섹션의 의존성 및 외부 호출 스크립트 전수 조사 - 민감 정보(API Key, .env)를 홈 디렉터리 하위의 예측 가능한 경로에 저장하는 관행 지양

원문 읽기