Grok Build CLI, 읽지 않은 저장소까지 전송했어요

AI 코딩 도구에 저장소 접근 권한을 주면 모델이 읽은 파일만 서버로 갈 거라고 생각하기 쉬워요. Grok Build CLI 0.2.93의 통신을 직접 캡처한 분석에서는 모델 요청과 별도로 저장소 전체를 묶어 올리는 경로가 관찰됐어요. 비밀값과 Git 이력까지 포함될 수 있어 도입 전에 전송 범위를 따로 확인해야 해요.
핵심 요약
| 확인된 항목 | 관찰 결과 | 실무에서 볼 부분 |
| 모델 요청 | 도구가 읽은 파일과 `.env`의 테스트 비밀값이 마스킹 없이 포함됐어요 | 실제 비밀값이 있는 작업 폴더를 그대로 열지 않는 편이 안전해요 |
| 저장소 업로드 | 읽지 말라고 지정한 파일과 Git 이력이 담긴 bundle이 별도 저장 경로로 전송됐어요 | 파일 열람 범위와 저장소 업로드 범위를 같은 것으로 보면 안 돼요 |
| 전송량 | 12GB 실험에서 모델 요청은 192KB, 저장 경로는 중단 시점까지 5.10GiB였어요 | 프록시와 송신 로그로 대용량 별도 전송을 확인할 수 있어요 |
| 설정 효과 | 분석자가 모델 개선 옵션을 꺼도 업로드 관련 설정이 활성 상태로 남았다고 기록했어요 | 화면의 학습 동의와 진단·세션 저장 설정을 따로 점검해야 해요 |
1. 모델에 읽힌 파일과 저장소 전체가 서로 다른 경로로 전송됐어요
분석자는 macOS에서 `mitmproxy`를 사용해 Grok Build CLI 0.2.93의 HTTPS 요청을 기록했어요. 도구가 읽은 파일 내용은 `/v1/responses` 요청에 들어갔고, 테스트용 `.env`에 넣은 가짜 비밀값도 가려지지 않았어요. 같은 값은 `/v1/storage`로 전송된 `session_state`에서도 발견됐어요. 저장 응답은 HTTP 200이었어요. 1
더 큰 문제는 에이전트가 실제로 읽은 파일과 별개로 저장소 전체가 전송됐다는 점이에요. 분석자는 파일을 읽지 말라는 지시를 준 뒤 캡처된 Git bundle을 다시 복제했어요. 그 안에서 열지 말라고 지정한 canary 파일의 원문과 Git 이력을 복구했어요. 모델 대화에 필요한 문맥 전송과 작업공간 보관이 별도 채널로 움직였다는 증거예요. 2
12GB 규모의 무작위 파일 저장소에서도 차이가 컸어요. 캡처를 중단할 때까지 `/v1/responses`의 누적 요청량은 192KB였지만 `/v1/storage`는 5.10GiB에 이르렀어요. 약 27,800배 차이예요. 저장 요청은 모두 HTTP 200을 받았고, 분석자는 이 전송이 모델이 읽은 파일만으로 설명되기 어렵다고 봤어요.
이 분석이 확인하지 못한 것도 있어요
이 실험은 데이터가 전송되고 서버에서 수락됐다는 사실을 보여줘요. 해당 데이터가 모델 학습에 쓰였는지는 확인하지 못했어요. 모든 계정 유형과 설정 조합을 시험한 것도 아니에요. `.gitignore` 파일의 처리 방식도 별도 검증이 필요해요. 결과는 2026년 7월에 배포된 0.2.93 버전과 일반 소비자 계정 환경에 한정해서 읽어야 해요.
왜 중요한가요
AI 코딩 CLI는 소스코드, 설정 파일, Git 이력에 넓게 접근해요. 화면에서 모델 개선 동의를 껐더라도 세션 추적이나 저장소 업로드가 함께 꺼진다고 단정하면 안 돼요. 제품 설정에서 학습, 진단, 세션 보관, 작업공간 업로드가 각각 어떻게 구분되는지 확인해야 해요. 이번 분석에서도 두 전송 경로가 따로 관찰됐어요. 2
팀에서 이런 도구를 시험할 때는 실제 고객 데이터와 운영 비밀값이 없는 격리 저장소를 먼저 쓰는 편이 좋아요. `.env`를 저장소 밖으로 옮기고 짧은 수명의 테스트 자격 증명을 사용하면 노출 범위를 줄일 수 있어요. 네트워크 프록시나 방화벽 로그로 목적지와 전송량을 살펴보면 문서에 적힌 설명과 실제 동작도 비교할 수 있어요.
기업 환경이라면 공급사에 저장 범위, 보관 기간, 삭제 방법, 리전, 하위 처리업체를 문서로 확인해야 해요. 저장소 전체 전송이 업무상 필요하지 않다면 해당 기능을 끄는 방법이나 조직 단위 정책이 있는지도 물어봐야 해요. 비밀 탐지와 송신 제어를 함께 두면 설정 실수 하나가 곧바로 코드와 자격 증명 유출로 이어지는 상황을 줄일 수 있어요.
참고 자료
- xAI Grok Build CLI가 xAI로 전송하는 데이터: 와이어 수준 분석 — GeekNews
- What xAI's Grok Build CLI Actually Sends to xAI: A Wire-Level Analysis — cereblab, GitHub Gist
'IT & AI' 카테고리의 다른 글
| AI 에이전트가 바꾸는 SaaS 생존 공식 (0) | 2026.07.13 |
|---|---|
| B2B 소프트웨어 검색에 숏폼이 뜨기 시작했어요 (0) | 2026.07.13 |
| Claude Code와 OpenCode, 첫 요청 토큰이 4.7배 벌어진 이유 (0) | 2026.07.13 |
| 고객 이탈률을 낮추려면 제품보다 먼저 고객을 골라야 해요 (0) | 2026.07.13 |
| Postgres 19 프로퍼티 그래프, 조인을 MATCH로 읽는 법 (0) | 2026.07.13 |