Ars Technica는 보안 업체 Claroc의 연구를 인용해, SpaceXSI의 코딩 에이전트 Grok Build에서 사용자 수천 명의 기밀 정보와 사업 정보가 새고 있다고 보도했다. 이 매체에 따르면 누구나 수천 개의 실행 중인 Grok Build 프로젝트를 열거할 수 있고, 노출 대상에는 Grok Build를 운영하는 SpaceXSI 자신도 들어 있다. SpaceXSI는 SpaceX와 xAI가 합병한 회사의 이름이다.
문제는 사용자가 만든 앱을 다른 사람에게 보여 주는 공유 링크에 있다. Claroc의 공동 창업자이자 CTO인 Asaf Aprozper는 수동 DNS 검색에서 grok.me로 끝나는 링크가 4만 3,601개 나왔고, 이 중 3만 5,000개 넘는 약 95%가 공개 상태였다고 말했다. 드문 예외를 빼면 공개 상태의 링크를 누르는 것만으로 앱과 앱에 저장된 데이터가 열린다.
링크 설계의 결함
Grok Build는 음성이나 텍스트를 입력하면 몇 분 안에 내부 시험용 앱을 만들어 주고, 공유 링크로 허가된 사용자에게 앱을 빠르게 보여 주도록 설계됐다. 링크 주소의 맨 왼쪽에는 무작위로 만든 단어(dice words)가 두 개 이상 붙고 사용자가 이를 바꿀 수도 있으며, 오른쪽 끝은 grok.me다. 예컨대 X 광고 캠페인 계획의 주소는 cinder-crane-sand-frost.grok.me였다.
이 방식은 주소를 아는 것 자체를 접근 권한으로 삼는다. 제대로 구현하면 단어 세 개 조합이 약 38비트의 엔트로피를 갖고, 가능한 조합이 수십억 개라는 것이 이론적인 설명이다. Google도 오래전부터 문서 공유에 이 기법을 써 왔다.
차이는 무작위 값의 위치다. Google 링크는 도메인 오른쪽 경로에 무작위 값을 두지만, Grok Build 링크는 도메인 왼쪽에 둔다. 수동 DNS 서비스는 중앙 DNS 조회 서버에서 처음 보는 주소의 IP를 물어보는 요청을 공개 검색 데이터베이스에 기록하므로, 왼쪽에 놓인 무작위 값은 그대로 수집된다. 경로에 두었다면 DNS 검색에 보이지 않았을 것이다.
Aprozper는 최근 일주일간 시험한 결과 Grok이 링크 공유 범위를 기본으로 "Anyone with the link"에 맞춘다고 말했다. 사용자가 "invited users"나 "only you"로 바꿀 수 있다. SpaceXSI가 최근 인수한 Cursor의 대변인은 이메일로 Grok Build 앱이 기본적으로 비공개이며 만든 사람이 공유를 선택해야만 공개된다고 밝혔다. Ars Technica는 Aprozper의 시험이 이 주장과 모순된다고 평가했다. 이 매체는 모든 시험에서 Grok Build가 사용자에게 "링크가 있는 누구나" 설정을 다른 두 옵션 중 하나로 바꾸도록 요구했다고 적었다.
노출된 자료
Claroc는 노출 자료에 내부 사업 계획, 광고 제안서, 의료 검진 결과, 유명 크루즈 선사의 주방 점검표, 직원 이름과 사번이 있었다고 밝혔다. 다른 사용자 중에는 일부 Fortune 500 기업 직원과 방산 계약업체도 포함됐다. Claroc는 SpaceXSI가 직접 만든 앱도 24개 찾았다.
이 24개 앱에서 드러난 문서 가운데 일부 예시로는 신규 엔터프라이즈 영업 담당자의 기밀 표시 온보딩 계획, 계정 594개가 담긴 영업 구역 지도, 영업팀 도구의 내부 시스템 주소, 광고 제안서가 있다.
Claroc는 "우리는 충격을 받았다"고 적었다. 영업팀이 이 용도로 도구를 샀다면 회사 로그인 뒤에 있어 팀원만 쓸 수 있었을 텐데, AI로 만든 앱은 링크만 있으면 누구나 열 수 있는 상태로 공개됐다는 설명이다.
| 조직 | 노출된 내용 |
|---|---|
| 페루 건설사 | 근로자 검진 3,784건이 담긴 산업보건 대시보드 |
| Tesla | 정비 기사 22명의 생산성과 상여 현황을 담은 서비스센터 성과표 |
| 미 해군 함정 엔지니어링 협력사 | 해군 군수 지원 계약 인력 108명 명단 |
| 유명 크루즈 선사 | 승무원 이름과 사번이 적힌 주방 점검표 |
| 의료 기업 | 직원 약 3,565명의 이름과 사번이 든 병원 직원 앱 |
| 미국 IT 서비스 기업 | 대형 유통 고객에게 낸 기밀 제안서와 하드웨어 자재 명세서 |
| 노르웨이·핀란드 계열 항공우주·방산 그룹 | 미국 공장 폭발물 건물의 적재 현황, 적재 절차, 보건·안전·환경 교육 매트릭스 |
| 미국 주택 건설사 | 분양 예정 고객 약 583명의 예산과 대출 메모가 담긴 영업 콜시트 |
| 말레이시아 지주회사 | 개발 사업 37건의 이익과 매출 수치를 담은 프로젝트 모니터 |
| 자동차 운송 업체 | 운송 주문 약 4,000건의 가격과 마진이 담긴 견적 화면 |
| 미국 데이터센터 코로케이션 업체 | 유럽 통신사에 낸 기밀 IP 트랜짓 제안서 |
Aprozper는 해당 기업들에 연락하는 중이라고 말했다. 크루즈 선사의 최고정보보안책임자(CISO)와 이야기하자, 선사가 조사 결과를 받자마자 보안팀 전체를 투입해 노출을 막고 있다고 전했다.
대응과 다른 플랫폼
SpaceXSI의 앱 24개는 월요일 저녁까지 모두 정보를 노출하고 있었다. Ars Technica가 질문 이메일을 보낸 뒤 몇 시간 안에 SpaceXSI가 링크를 지우기 시작했고, 기사 게재 시점에는 24개 링크가 모두 "app not found" 오류를 냈다. 그 밖의 데이터는 거의 대부분 그대로 열려 있었다.
Cursor 대변인은 ChatGPT, Lovable, Bolt의 코딩 에이전트도 공유 링크를 만들 수 있다고 말했다. Aprozper도 Lovable, Bolt, Replit이 앱마다 고유 웹 주소를 주기 때문에 같은 DNS 기록으로 노출된다고 확인했다. 다만 "가장 민감한 기업 데이터는 단연 Grok에서 나왔다"고 말했다.
무작위 값을 경로에 두는 서비스도 있다. Claude의 공개 아티팩트(claude.ai/public/artifacts/), ChatGPT의 공유 대화(chatgpt.com/share/), Gemini(gemini.google.com/share/)가 그렇다. 비밀 값이 경로에 있어 DNS에는 보이지 않는다.
이와 별개로 Meta의 에이전트 Muse는 링크 공유 기능에서 민감한 데이터가 새는 것이 발견돼 최근 이 기능을 중단했다. Ars Technica에 따르면 Muse는 Mark Zuckerberg CEO가 처음부터 보안을 염두에 두고 만들었다고 말한 에이전트다.
Cursor 대변인은 SpaceXSI가 내부 자료를 의도적으로 노출했는지, Ars Technica의 문의 뒤 왜 삭제했는지, 같은 종류의 정보를 노출한 고객에게 알릴 계획이 있는지 묻는 후속 질문에 답하지 않았다. Ars Technica는 앱을 널리 공개할 의도가 아니라면 Grok Build 공유 링크에서 "invite others" 옵션을 고르라고 조언했다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.