
AI에게 저장소를 읽고 문제를 정리해 달라고 하는 상황을 떠올려 보자. 사용자가 맡긴 일은 코드 검토다. 그런데 저장소 안의 문서가 AI에게 다른 폴더를 열거나 파일을 바꾸라고 지시한다면, 그 요청은 어디에서 멈춰야 할까.
이 질문을 구체적으로 만드는 사례가 공식 Git MCP 서버인 mcp-server-git의 세 취약점이다. 지정한 저장소 밖에서 작업할 수 있었고, Git에 전달한 입력이 파일을 덮어쓰는 옵션으로 해석될 수 있었다. 문서를 잘못 받아들인 AI의 판단이 실제 파일 작업으로 이어질 때, 서버 쪽에서도 막아야 할 지점이 있었던 것이다.
내가 이 사례에서 가장 눈여겨본 것은 작업 폴더 설정이다. 폴더를 지정하는 일은 익숙하고 간단하다. 그 설정이 매번의 도구 호출을 제한하는지까지는 확인하기 어렵다. 설정에 적힌 범위와 프로그램이 실제로 지키는 범위 사이에 틈이 있었다.
먼저 확인되는 사실부터
세 보안 공지는 2025년 12월 17일 modelcontextprotocol/servers 저장소에 공개됐다. 모두 제보자로 HackerOne 계정 **yardenporat**을 명시한다. 대상 패키지는 Python의 mcp-server-git이다. 이름이 비슷한 모든 Git 연동 도구나 MCP 프로토콜 전체에 적용되는 공지는 아니다.

캡처 원문: 저장소 경로 검증 결함 공식 공지. 화면의 ‘Affected versions’는 영향 버전, ‘Patched versions’는 수정 버전을 뜻한다. 아래 표에서는 나머지 두 결함도 함께 비교했다.
| 공식 공지 | 영향받는 버전 | 수정 버전과 조치 |
|---|---|---|
| CVE-2025-68143 | 2025.9.25 미만 | 2025.9.25 — 위치 제한 없이 저장소를 만들던 git_init 제거 |
| CVE-2025-68144 | 2025.12.18 미만 | 2025.12.18 — git_diff·git_checkout 인자 검증 |
| CVE-2025-68145 | 2025.12.18 미만 | 2025.12.18 — 지정 저장소 안의 경로인지 검증 |



