
이직 준비하시는 분들, 오늘 이야기는 꼭 읽어보셨으면 해요. 한 개발자가 채용 과정에서 받은 과제 프로젝트를 실행하기 전에 코드를 뜯어봤는데, 그 안에서 정교하게 숨겨진 악성코드를 발견한 경험담이 공유됐거든요. 그냥 조잡한 사기가 아니라, 진짜 채용처럼 보이도록 회사 웹사이트, 리크루터 프로필, 면접 프로세스까지 갖춘 '조직적인 작전'이었다는 게 무서운 부분이에요.
공격은 이렇게 진행돼요
수법은 대략 이래요. 링크드인 같은 곳에서 그럴듯한 리크루터가 접근해서 좋은 조건의 포지션을 제안해요. 몇 차례 대화가 오가고, '기술 역량을 확인하고 싶다'며 과제 프로젝트를 보내줘요. 깃허브 저장소 링크와 함께요. 여기까지는 우리가 아는 평범한 과제 전형과 똑같죠. 함정은 그 저장소 안에 있어요.
악성코드는 절대 대놓고 들어있지 않아요. 수백 개 파일 중 하나에, 설정 파일처럼 보이는 곳에, 난독화된(일부러 읽기 어렵게 꼬아놓은) 형태로 숨어 있어요. 그리고 실행되는 방식이 교묘한데요. 대표적인 통로가 npm의 postinstall 스크립트예요. 이게 뭐냐면, npm install을 실행하면 package.json에 적힌 스크립트가 자동으로 실행되는 기능이거든요. 원래는 설치 후 빌드 같은 정상적인 용도인데, 공격자 입장에서는 '피해자가 자발적으로 실행해주는 코드'가 되는 거예요. 이번 사례처럼 깃 훅(git hook)을 이용하는 변종도 있어요. 깃 훅은 커밋이나 체크아웃 같은 깃 동작에 반응해서 자동 실행되는 스크립트인데, husky 같은 도구의 설정을 통해 설치 과정에 슬쩍 끼워 넣을 수 있거든요. 어느 쪽이든 공통점은, '과제를 실행해보려는 지극히 자연스러운 행동'이 곧 악성코드 실행이 된다는 거예요.
실행되면 뭘 훔쳐가냐면요. 브라우저에 저장된 비밀번호, 암호화폐 지갑, SSH 키, AWS 키 같은 클라우드 자격 증명, 그리고 회사 코드까지. 개발자의 노트북은 공격자 입장에서 보물창고거든요. 실제로 북한 해커 조직이 'Contagious Interview'라는 이름으로 알려진 이런 캠페인을 수년째 운영하고 있고, 전 세계 개발자들이 표적이 되고 있어요. 한국 개발자도 당연히 예외가 아니고요.
나를 지키는 실전 수칙
그럼 어떻게 방어해야 할까요. 몇 가지 습관만 들이면 위험을 크게 줄일 수 있어요.
첫째, 모르는 코드는 절대 본 컴퓨터에서 바로 실행하지 마세요. 과제든 오픈소스든, 출처가 불확실한 코드는 도커 컨테이너나 가상머신(VM) 같은 격리된 환경에서 돌리는 습관을 들이세요. 요즘은 VS Code의 데브컨테이너 기능으로 어렵지 않게 격리 환경을 만들 수 있어요.
둘째, 설치 전에 package.json부터 열어보세요. scripts 항목에 preinstall, postinstall, prepare 같은 게 있는지, 있다면 뭘 실행하는지 확인하세요. 수상하면 npm install --ignore-scripts 옵션으로 스크립트 실행을 막은 채 설치할 수 있어요.
셋째, 이상 신호에 민감해지세요. 지나치게 좋은 조건, 화상 면접을 이상하게 피하는 리크루터, '과제를 오늘 안에 실행해서 결과 화면을 보내달라'는 재촉 같은 것들이요. 정상적인 채용은 이렇게 서두르지 않아요.
넷째, 만약 이미 실행했다면 그 컴퓨터에서 쓰던 모든 비밀번호와 키를 즉시 교체하고, 회사 장비였다면 보안팀에 바로 알리세요. 창피한 일이 아니라 누구나 당할 수 있는 일이고, 빨리 알릴수록 피해가 줄어요.
마무리
핵심 한 줄: 채용 과제도 이제 공급망 공격(개발 도구와 유통 경로를 파고드는 해킹)의 통로가 됐고, '실행 전에 읽어보기'가 개발자의 기본 보안 수칙이 됐어요. 여러분은 과제 전형 코드를 받으면 실행 전에 열어보는 편인가요? 혹시 주변에서 비슷한 접근을 받은 경험이 있다면 댓글로 공유해 주세요. 누군가의 피해를 막을 수 있을지도 몰라요.
🔗 출처: Hacker News
TTJ 코딩클래스 정규반
월급 외 수입,
코딩으로 만들 수 있습니다
17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공