Wiz, 10월 AI 개발 플랫폼 9곳 보안 사고 연결

클라우드 보안 기업 Wiz는 10월 30일 보고서를 내고, 이달 AI 개발자 플랫폼에서 잇따라 공개된 보안 사고를 한데 엮어 '블랙 옥토버'라고 불렀다. 명단에 오른 곳은 Fireworks AI, Andromeda, Zeabur, Lightning AI, OpenCode, Railway, Warp, CommandCode, Northflank 등 9곳이다.

Wiz의 결론은 제목보다 신중하다. 이 사고들을 하나로 묶는 단일 취약점이나 의존성은 없다고 밝히면서, 전체 양상이 세 가지 추세와 맞아떨어진다고만 말한다. 에이전트형 공격, 타인의 모델 할당량을 훔쳐 쓰는 LLMJacking, 그리고 '증류' 수요 때문에 생겨난 자격 증명 시장이다. 대부분의 사고는 아직 분석 중이며, 피해 범위에 관한 이야기는 상당수가 소셜 미디어에서 나왔다.

공격자는 환경 변수를 뒤졌다

보고서가 나열한 사고는 대략 다음과 같다.

플랫폼공개 시점공개된 단서
Fireworks AI10월 6일자격 증명 접근, '에이전트 군집' 정황
Zeabur10월 14일자격 증명 접근, 회사는 이 일로 문을 닫을 예정
Lightning AI10월 15일자격 증명 접근, 앞서 공급망 공격을 받은 적 있음
OpenCode10월 16~17일구형 시스템 침해, 회사는 증류와 관련 있다고 밝힘
Railway10월 20일현재 빌드 인프라의 권한 상승으로 추정
Warp10월 23일서드파티 의존성 의심
CommandCode10월 28일회사는 증류와 관련 있다고 밝힘

Andromeda와 Northflank의 세부 내용은 보고서에서 거의 다루지 않았다. 소셜 미디어에서는 Railway에서 약 37만 1천 달러 상당의 암호화폐가 도난당했다는 말이 돌았지만, Wiz는 이를 미확인으로 표시했다.

공통점은 공격자가 플랫폼에 저장된 환경 변수, 특히 AI 서비스를 호출할 수 있는 변수를 표적으로 찾았다는 것이다. 표적이 호스팅·개발 플랫폼에 몰린 이유도 여기에 있다. 한 곳이 뚫리면 여러 고객의 키를 한꺼번에 손에 넣기 때문이다.

Illustration: nine metal lockers and escaping keys symbolize AI security incidents and leaked credentials

도난당한 키의 전후 30시간

보고서에서 가장 자세한 부분은 하류에서 일어난 악용 두 건이다. 기업용 키 두 개 모두 공급업체에서 유출된 뒤 30분 안에 처음 사용됐다. 가정용 IP에서 InvokeModel이 호출됐고, 1분 안에 여러 조직의 키를 훑었으며, Claude Fable 5.1을 요청했다가 실패하자 Opus 5.5로 물러나 성공했다.

이후 며칠은 조용했다. 같은 소형 Go 클라이언트에서 하루 14~120회 호출이 있었을 뿐이며, Wiz는 키가 아직 유효한지 주기적으로 확인한 것으로 본다. 사례 A는 4일을 기다렸다가 스크립트가 Bedrock과 EC2 할당량을 열거했고, 22초 뒤 호출량을 늘렸다. 약 30시간 동안 약 80만 회가 호출됐고 약 90%가 성공했으며, 4분의 3은 Opus 계열이었다. 사례 B는 7일을 기다린 끝에 재판매 풀로 보이는 곳에 들어갔고, 약 13시간 동안 약 170만 회를 호출했다. 성공은 100만 회를 넘었고 십여 개의 Claude 모델에 걸쳐 있다.

이 두 키는 정가 기준으로 10만 달러가 넘는 사용량을 만들어 냈을 수 있다. 이는 Wiz의 추정이며, 피해 기업이 실제로 얼마를 청구받았는지는 밝히지 않았다. 호출 특성도 재판매의 냄새가 난다. 대부분의 요청은 캐시되지 않은 입력이 적고 출력이 수백 토큰으로, 프롬프트 캐싱의 형태와 맞는다. 반면 긴 꼬리를 이루는 요청은 입력이 수만 토큰에 달해, 뒤에 수많은 최종 사용자가 있는 듯하다.

저가 중계 API의 물량은 어디서 오나

중국어권 개발자에게 이 보고서에서 가장 가깝게 느껴질 부분은 재판매 사슬이다. Wiz는 두 이름을 짚었다. 재판매 사이트 llm-routing.com과 연관된 'momo', 그리고 사이트가 xingjiabiapi.org인 'Xingjiabi'다. 두 쪽의 IP 모두 위 사례의 키에 접촉했고, 후자의 사이트에는 한때 '증류 탐지 모니터링' 페이지가 있어 사용자를 고위험, 관찰, 정상의 세 부류로 나눴다.

증거는 여기까지다. Wiz는 재판매 조직과 최초 침입의 관계를 확정할 수 없고, momo의 운영을 대규모 악용과 직접 연결할 수도 없으며, 나열한 침해 지표도 9건의 사고와 증거로 이어지지 않는다고 분명히 적었다. 모든 중계 사이트가 도난 키를 쓴다고 말하지도 않았다. 그래도 보고서는 가격이 유난히 낮은 모델 할당량 일부의 출처가 의심스러울 수 있고, 구매자가 자신의 프롬프트를 정체불명의 중간업자에게 넘기고 있을 수 있음을 보여 준다.

보고서 본문에는 방어 체크리스트가 없다. 명단에 오른 플랫폼을 쓴 팀이 바로 할 수 있는 조치는 그곳에 저장한 모델 키를 교체하고, 클라우드 로그에서 낯선 IP의 저빈도 InvokeModel이 있는지 확인하는 것이다. 사례 B의 키는 us.* 프로파일만 쓸 수 있었는데도 사용 가능한 모델이 찾아졌다. 권한을 좁혀도 이런 악용을 막지는 못하고 범위를 줄일 뿐이다.

참고 출처: Wiz Research 블로그, CocoLoop. 비용은 Wiz가 정가 기준으로 추정한 값이며, 일부 도난 금액은 확인되지 않았다.