아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
랍스타즈 favicon랍스타즈

채용 과제 폴더 속 숨겨진 악성 Git 훅 발견!

by DD
2026-07-23
1일 전
조회수 8

고액 연봉 제안을 받은 Python 개발자 채용 과정에서 받은 과제 폴더에 악성 Git 훅(Malicious Git Hooks)이 포함된 사실을 발견함

Git 훅 스크립트는 OS를 확인하여 원격 페이로드(Remote Payload)를 자동으로 다운로드 및 실행하는 구조였음

악성 스크립트는 Node.js 설치, 의존성 패키지 설치 후 암호화된 파서(Obfuscated Parser)를 실행하여 추가 공격을 시도함

공격자는 실제 공개된 FastAPI 프로젝트를 복제하여 악성 폴더를 추가하는 방식으로 공격을 진행했으며, 이는 광범위한 피싱 캠페인(Widespread Phishing Campaign)의 일부로 추정됨

채용 과제 악용 악성 Git 훅(Malicious Git Hooks) 분석

본문에서는 채용 과제 폴더 내에 숨겨진 악성 Git 훅을 발견한 과정을 상세히 기술합니다. 특히 `.git/hooks/pre-commit` 스크립트가 대상 시스템의 OS를 탐지하여 원격 페이로드(Remote Payload)를 자동으로 다운로드하고 실행하는 점을 지적합니다. 공격자는 IP 주소를 직접 사용하여 악성 스크립트를 배포했으며, 이는 보안 관점(Security Perspective)에서 매우 위험한 행위로 간주됩니다. 커뮤니티에서는 이러한 공격 방식이 표준화된 피싱 캠페인(Standardized Phishing Campaign)의 일부일 가능성을 제기합니다.

다단계 페이로드(Multi-stage Payload) 및 추적 메커니즘

악성 스크립트는 초기 페이로드(`tokenlinux.npl`)를 다운로드한 후, 이를 `tokenlinux.sh`로 변경하여 백그라운드에서 실행시킵니다. 이 두 번째 단계 스크립트는 Node.js를 설치하고 `package.json` 및 난독화된 `parser.js`를 다운로드합니다. 특히 `id=402`와 같은 추적 식별자(Tracking Identifier)를 사용하여 개별 후보자를 추적하고 맞춤형 페이로드를 제공하는 것으로 보입니다. LLM(Large Language Model)을 사용하여 난독화된 코드를 분석하려는 시도가 있었으나, 일부 LLM은 안전 가드레일(Safety Guardrails)로 인해 분석을 거부했습니다.

의심스러운 Node.js 의존성(Suspicious Node.js Dependencies) 및 목적

다운로드된 `package.json` 파일에는 `clipboardy`, `fs`, `jsonwebtoken` 등 일반적인 백엔드 작업과 관련 없는 의존성이 포함되어 있습니다. 또한, 이더리움 개발 환경인 Hardhat이 포함된 점은 주목할 만합니다. 이는 공격자가 암호화폐 지갑 탈취(Crypto Wallet Draining) 또는 브라우저 확장 프로그램과의 상호작용을 시도할 가능성을 시사합니다. 커뮤니티에서는 이러한 의존성 목록이 악의적인 목적(Malicious Intent)을 명확히 드러낸다고 분석합니다.

공격자의 인프라(Attacker's Infrastructure) 및 OPSEC

공격자는 RouterHosting에서 호스팅하는 IP 주소를 사용했으며, OpenSSH 9.6p1이 실행 중인 서버를 운영했습니다. 최신 버전의 SSH를 사용한 것은 운영 보안(Operational Security, OPSEC) 측면에서 긍정적이지만, 악성 페이로드 배포 방식은 다소 노출되었습니다. 또한, 공격자는 기존 공개 저장소를 복제하고 악성 폴더를 추가하는 방식으로 코드를 준비했으며, 이는 공격의 용이성(Ease of Attack)을 높이는 전략으로 분석됩니다.

LLM 안전 가드레일(LLM Safety Guardrails)의 양면성

커뮤니티 토론에서는 Claude와 같은 LLM이 악성 스크립트 분석을 거부하는 안전 가드레일 기능에 대한 논의가 있었습니다. 일부 사용자는 이러한 가드레일이 실제 악의적인 행위자(Malicious Actors)가 우회 방법을 찾도록 유도할 수 있다고 지적합니다. 반면, 일반 사용자가 정보 이해를 위해 악성 코드를 분석하려 할 때 오히려 방해가 된다는 의견도 제시되었습니다. 이는 LLM의 보안 적용(Security Application)과 접근성(Accessibility) 사이의 균형점을 찾는 과제를 보여줍니다.

I Inspected My Take-Home Interview Project. It Was a Whole Operation
고급
Security
Python
FastAPI
SQLAlchemy
Git
Node.js
Hardhat
Shell
JavaScript
Backend
DevOps
Blockchain
원문 읽기
원문 읽기

관련 추천 글

FastAPI 초보 개발자의 성장통: 삽질을 통해 배우는 백엔드 개발

요즘IT 로고

파이썬(Python) 기반 GxP 준수 백엔드, SnackBase 등장!

해커뉴스 로고

AI로 사내 해커톤 플랫폼 완성!

우아한형제들 로고

Claude Code가 뽑은 최고의 기술 스택!

테오 로고

AI 지식 그래프를 Notion과 연결하여 사용자 친화적인 인터페이스 구축

데브투 로고

Git 기록 속 숨겨진 실수들을 찾아주는 CLI

데브투 로고
랍스타즈 favicon랍스타즈
고급
Security
Python
FastAPI
SQLAlchemy
Git
Node.js
Hardhat
Shell
JavaScript
Backend
DevOps
Blockchain

관련 추천 글

FastAPI 초보 개발자의 성장통: 삽질을 통해 배우는 백엔드 개발

요즘IT 로고

파이썬(Python) 기반 GxP 준수 백엔드, SnackBase 등장!

해커뉴스 로고

AI로 사내 해커톤 플랫폼 완성!

우아한형제들 로고

댓글 0

첫 번째 댓글을 남겨보세요!