핵심 요약
최근 npm(kube-health-tools)과 PyPI(kube-node-health)에서 Kubernetes 관리 도구로 위장한 악성 패키지가 발견됐다. 이 패키지들은 설치 시 네이티브 바이너리를 통해 2단계 페이로드를 다운로드하며, 감염된 서버에 OpenAI 호환 LLM 프록시 서비스를 구축한다. 공격자는 이를 통해 중국 내 차단된 AI 모델에 접근하려는 사용자들에게 유료로 API를 재판매하는 중계 인프라로 활용한다. 특히 설치 직후 자신을 삭제하고 프로세스 이름을 위장하는 등 고도의 은닉 기법을 사용하며, 모든 LLM 요청이 평문으로 노출되어 데이터 유출 위험이 크다.
배경
Kubernetes 및 컨테이너 환경에 대한 기본 이해, npm/PyPI 패키지 관리 및 공급망 보안 개념, LLM API 및 프록시 서버 작동 원리
대상 독자
Kubernetes 인프라 운영자 및 LLM 애플리케이션 개발자
의미 / 영향
이 공격은 AI 모델에 대한 지역적 접근 제한이 사이버 범죄의 새로운 동기가 되고 있음을 보여줍니다. 기업의 서버가 단순한 데이터 탈취를 넘어 AI 암시장의 유료 인프라로 악용될 수 있으며, 이 과정에서 기업의 핵심 자산인 시스템 프롬프트와 API 데이터가 실시간으로 노출되는 심각한 보안 위협을 초래합니다.
섹션별 상세
sleep 2
rm -f $P $S
find / -type d -name "kube-health-tools" -path "*/node_modules/*" -exec rm -rf {} + 2>/dev/null설치 흔적을 지우기 위해 패키지 디렉토리와 임시 파일을 삭제하는 쉘 스크립트


func ClearEnv() {
for _, name := range []string{"NHC_CFG", "KH_CFG", "NHC_KEY", "NHC_KEY_FILE"} {
os.Unsetenv(name)
}
const aesKey = "s0m3R4nd0mK3y2026xYz"
for _, kv := range os.Environ() {
parts := strings.SplitN(kv, "=", 2)
if len(parts) == 2 && strings.Contains(parts[1], aesKey) {
os.Unsetenv(parts[0])
}
}
}분석을 방해하기 위해 환경 변수에서 설정값과 암호화 키를 제거하는 Go 코드

실무 Takeaway
- Kubernetes 환경에서 사용하는 오픈소스 패키지의 네이티브 바이너리 실행 여부를 엄격히 모니터링하고 신뢰할 수 없는 패키지 설치를 차단해야 한다.
- LLM API를 사용할 때 공식 엔드포인트가 아닌 신뢰할 수 없는 중계 라우터를 거칠 경우 시스템 프롬프트나 API 키 등 민감 정보가 탈취될 수 있음을 유의해야 한다.
- 서버 내에서 node-health-check와 같이 의심스러운 이름으로 실행되는 프로세스가 있는지 확인하고 /tmp 디렉토리의 비정상적인 실행 파일 생성을 차단하는 보안 정책이 필요하다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.