최근 링크드인(LinkedIn)에서 고액 연봉의 원격 파이썬(Python) 개발자 자리를 제안하며, 정상적인 과제형 면접 프로젝트로 위장한 악성코드 공격이 포착되어 개발자들의 주의가 요구됩니다. 공격자들은 가짜 채용 담당자를 내세워 지원자에게 FastAPI 프로젝트로 위장한 ZIP 파일을 보내고, Git 작업 과정에서 악성코드가 설치되도록 정교하게 설계했습니다. 이는 단순히 파일을 여는 것을 넘어, 개발자가 직접 Git 명령을 수행하도록 유도하여 시스템 감염을 노린 신종 수법입니다.
이번 공격의 핵심은 압축 파일 내 .git/hooks 디렉터리에 숨겨진 'pre-commit' 스크립트입니다. 이 스크립트는 운영체제를 판별한 뒤, 공격 서버에서 플랫폼별 페이로드(payload)를 내려받아 실행합니다. 예를 들어 리눅스(Linux) 시스템에서는 노드(Node.js)와 난독화된 자바스크립트(JavaScript) 파일을 설치해 백그라운드에서 구동시키며, 클립보드 접근용 패키지나 이더리움(Ethereum) 개발 환경 관련 패키지 등 의심스러운 의존성도 포함되어 있었습니다. 특히, 공격자들은 기존의 공개 FastAPI 저장소에 악성 디렉터리만 덧붙여 위장했기 때문에, 겉보기에는 정상적인 프로젝트처럼 보여 개발자들이 쉽게 속을 수 있었습니다. 심지어 VSCode에서 폴더를 여는 것만으로 명령이 실행되는 변종도 발견되어 더욱 위험합니다.
이러한 공격은 단순히 개인 정보 탈취를 넘어, 개발자의 시스템을 장악하거나 암호화폐 지갑을 노리는 등 다양한 악성 목적으로 이어질 수 있습니다. 특히 오픈소스 프로젝트를 관리하거나 중요한 시스템에 접근 권한이 있는 개발자들은 더욱 치명적인 피해를 입을 수 있습니다. 따라서 낯선 프로젝트를 실행하거나 Git 명령을 수행하기 전에는 반드시 `tree -a`와 같은 도구를 활용해 .git, .vscode 등 숨김 디렉터리와 자동 실행 설정을 꼼꼼히 확인하는 습관이 중요합니다. 또한, 지나치게 좋은 채용 제안이나 불분명한 채용 절차는 항상 경고 신호로 받아들이고 의심해야 합니다. 기업들도 채용 절차의 보안을 강화하고, 지원자들에게 이러한 위협에 대한 경각심을 일깨워야 할 때입니다.