허깅페이스는 주말 동안 생산 인프라에 대한 침입을 탐지했습니다. 이 공격은 전적으로 자율 AI 에이전트 시스템에 의해 주도되었습니다. 이 시스템은 단기간 유지되는 샌드박스(sandbox) 무리(swarm)에서 작동하는 AI 에이전트 프레임워크로, 내부 시스템 전반에 걸쳐 17,000건 이상의 기록된 이벤트를 실행했습니다 . 허깅페이스는 자체 AI 기반 도구를 통해 이 사건을 탐지하고 분석했습니다 .
중요한 점은 허깅페이스가 공개된 사용자 대상 모델, 데이터셋, Spaces에 대한 변조 증거를 발견하지 못했으며, 소프트웨어 공급망(컨테이너 이미지 및 게시된 패키지)도 손상되지 않았다는 것입니다 . 침해는 제한된 내부 데이터셋과 서비스 자격 증명에 국한되었습니다 .
침입은 허깅페이스의 데이터 처리 파이프라인(data-processing pipeline) 에서 시작되었습니다 . 공격자는 두 가지 코드 실행 경로를 악용하는 악성 데이터셋을 사용했습니다:
일단 처리 워커(processing worker)에서 코드 실행에 성공한 공격자는 노드 수준 접근 권한을 상승시키고, 클라우드 및 클러스터 자격 증명을 수집한 후 여러 내부 클러스터로 수평 이동(lateral movement) 했습니다 .
전체 캠페인은 자율 에이전트 프레임워크에 의해 조율되었습니다. 공격자의 에이전트를 구동한 특정 LLM은 아직 알려지지 않았지만, 이 에이전트들은 휘발성 샌드박스 무리에서 작동했으며, 공공 서비스에 단계적으로 구축된 자체 이동형(command-and-control, C2) 구조를 사용했습니다 .
허깅페이스 보안팀이 공격자의 이벤트 로그(17,000건 이상) 분석을 시작했을 때, 처음에는 상용 API 뒤에 있는 프론티어 모델(frontier models) 을 사용했습니다. 하지만 이 시도는 공급업체의 안전장치(guardrails)가 분석을 차단하면서 실패했습니다 . 안전장치는 합법적인 사고 대응자가 제출하는 익스플로잇 페이로드(exploit payload)와 C2 아티팩트(C2 artifacts)를 실제 공격자와 구분하지 못했습니다 .
결국 허깅페이스는 전체 포렌식 분석을 자체 인프라에서 실행되는 오픈웨이트 모델인 GLM 5.2로 전환해야 했습니다 . 이는 공격자 데이터나 참조된 자격 증명이 환경 외부로 유출되는 것을 방지하는 추가적인 이점도 있었습니다 .
"방어자를 위한 실용적 교훈: 사고 발생 전에 자체 인프라에서 실행할 수 있는 유능한 모델을 검증하고 준비해 두어야 한다는 것입니다. 이는 안전장치 잠금(guardrail lockout)을 피하고 공격자 데이터와 자격 증명이 환경 밖으로 나가지 않도록 하기 위함입니다."
허깅페이스는 심각한 비대칭성을 지적했습니다. 그들은 공격자의 에이전트를 구동한 모델이 무엇인지 알 수 없지만, 그것이 제이크래킹(jailbreak)된 호스팅 모델이든 제한 없는 오픈웨이트 모델이든 "공격자는 어떤 사용 정책에도 구속되지 않았지만, 우리의 포렌식 작업은 처음 시도한 호스팅 모델의 안전장치에 의해 차단되었습니다"라고 밝혔습니다 .
허깅페이스는 보안 사고 공개에서 다음과 같은 대응 조치를 취했다고 밝혔습니다 :
또한 허깅페이스는 커뮤니티 구성원들이 예방 조치로 모든 액세스 토큰을 교체하고 최근 계정 활동을 검토할 것을 권장했습니다 .