보안 설정 하나로 MVP 전체가 털릴 수도 있습니다
요즘 Claude나 Cursor처럼 AI 도구 한두 개만 잘 엮으면 MVP는 금방 뚝딱 만들어진다. GPT가 말 예쁘게 다듬어주고, Claude는 질문에 감동적으로 대답하고, Cursor IDE는 생각을 코드로 바꿔준다.
20년차 개발자 형님도 “이야, 세상 진짜 좋아졌네.” 라고 이야기한다. 비 개발자인 나도 mvp 서버 뚝딱 만드는거보면, c언어로 개발한 형님의 입장에서 볼때는 억울할뿐이다. 그런데, 우리가 AI와 주고받은 대화나 코드가 어디에 저장되는지, 어디로 전송되는지는 잘 모른다.
Claude는 기본적으로 30일간 로그를 보관하고, Cursor는 기본 설정 상태에서 전체 리포지토리 정보가 외부로 전송될 수 있다. 그럼에도 대부분은 이 편리함에 안심하고, 보안 설정에는 무심하다.
하지만 보안 사고의 대부분은 해킹이 아니라, “설정하지 않아서 생기는 문제”다.
1. 관찰하기 : 실제 유출은 기술보다 ‘설정 실수’에서 발생한다
Claude와 Cursor는 AI 업무 자동화에서 매우 유용하지만, 기본 설정 그대로 사용할 경우 정보 유출 위험이 상존한다.
✅ 핵심 문제
- Claude API는 기본적으로 30일간 프롬프트 및 응답 데이터를 저장함
- Cursor IDE는 Privacy Mode OFF 상태에서 작업 로그와 코드 조각이 외부 서버로 전송됨
- 사용자는 이를 인지하지 못한 채 민감한 데이터를 입력하는 경우가 많음
📌 유출 사례 시나리오 1
Claude에 API Key를 포함한 요청을 보낸 경우 → 로그에 그대로 저장됨
✅ 상황
사용자가 Claude에게 다음과 같이 직접 API 사용법을 물어보는 상황:
이 API 키로 사용자 리스트 가져오려면 어떻게 해야 해?
API Key: sk-test-51a23abc456defg789
⚙ 작동 원리
- Claude API(MCP)는 기본적으로 프롬프트와 응답 로그를 30일간 저장함.
- 별도 계약(Enterprise 요금제) 또는 설정 없이 사용하면, 해당 서버에 보관됨
- Claude 시스템 상, Anthropic 내부 운영팀은 해당 로그에 접근 가능 (엔터프라이즈 플랜 아닌 경우)
🧨 발생 경로
- 프롬프트에 포함된 API Key → Claude에 전송됨
- Claude API 서버가 해당 내용을 자동 기록
- 로그는 30일 동안 보관되며, 내부 감사·디버깅 시 열람 가능
- 외부 침해 없이도 내부 감사 또는 오류 디버깅 시 노출될 수 있음
📊 위험도 평가
항목 | 위험 수준 |
---|---|
유출 범위 | API Key 1건 → 전체 서버 접근 가능성 |
내부 노출 가능성 | Anthropic 내부 운영팀 접근 가능 |
외부 노출 가능성 | 낮음 (직접적 해킹은 없지만 보안 약함) |
실수 가능성 | 높음 (개발자, 기획자, 마케터 모두 GPT에 묻는 습관 있음) |
📌 유출 사례 시나리오 2
Cursor에서 Privacy Mode OFF → 전체 코드 자동 업로드
✅ 상황
- Claude 연동 프롬프트 작성
.env
,config.json
,api_keys.py
등이 포함된 리포지토리를 인덱싱
⚙ 작동 원리
- Privacy Mode OFF 상태에서는 작업 기록이 Cursor 로그 + Fireworks 등 외부 서버로 전송됨
- 리포지토리 인덱싱 시 전체 구조가 청크 단위로 외부 업로드됨
- 필터링 없이
.env
, 민감 파일 포함 가능
🧨 발생 경로
- 민감 파일 포함 리포지토리를 인덱싱
- Cursor가 자동으로 분석 및 저장
- 3rd-party 서버에 코드 구조와 설정값 일부가 전송됨
- 외부 서버 로그 보관 기간에 따라 최대 30일 이상 저장됨
📊 위험도 평가
항목 | 위험 수준 |
---|---|
유출 범위 | 프로젝트 전체 구조 + 민감 설정값 |
내부 노출 가능성 | Cursor 팀 또는 연동된 외부 플랫폼 접근 가능 |
외부 노출 가능성 | 중간자 공격 또는 API 연동 이슈 시 발생 가능 |
실수 가능성 | 매우 높음 (초기 상태가 기본적으로 ON이며 알림 부족) |
2. 연결하기 : Claude + Cursor + 사용자 습관이 만드는 3중 리스크
실제 정보 유출은 단일 도구 문제가 아니라, Claude API + Cursor IDE + 사용자 행동이 맞물릴 때 발생한다.
세 가지 구성요소의 동시 노출은 예기치 않은 보안 취약점을 만든다.
구성 요소 | 주요 리스크 |
---|---|
Claude MCP | – 기본 30일 로그 저장 – Tool 등록 시 위험한 명령 가능 – 설정 미흡 시 전송 기록 제거 안 됨 |
Cursor IDE | – Privacy Mode OFF 상태 시 로그 저장 + 외부 전송 – 전체 리포지토리 인덱싱 시 보안 파일 포함 위험 |
사용자 습관 | – 회의 중 프롬프트 화면 공유 – 캡처 이미지 통한 API 키 유출 – 슬랙/노션에 민감 코드 조각 공유 |
🎯 핵심 인사이트
툴 보안 → IDE 설정 → 사람 습관이 세 가지가 동시에 느슨해질 때, 실제 보안 사고는 조용히 일어난다.
3. 원리 발견하기: 가장 많이 발생하는 실수들
실제 유출은 대부분 “습관”에서 비롯된다
잘못된 습관 | 발생 가능 리스크 |
---|---|
Claude에 API Key 직접 입력 | 서버 접근권한 유출 |
Cursor Privacy Mode OFF | 전체 프로젝트 로그 전송 |
github에 .env 업로드 | 서비스 전체 노출 |
프롬프트에 실제 URL/경로 입력 | 경쟁사에 서비스 구조 유출 |
4. 보안 안전 실천하기 : Claude MCP + Cursor 보안 체크리스트
Claude API
- Enterprise 플랜에서 Zero-Retention 설정 요청
- 프론트엔드에서 직접 호출하지 말고 백엔드에서만 API 호출
- 프롬프트에 API 키, URL, 제품명 직접 입력 금지 →
<<KEY>>
,<<URL>>
사용
MCP Tool
- 등록 시 JSON 스키마 필수 적용
- 결과는 Sandbox에서 먼저 실행
- 툴 권한은 읽기/쓰기 분리하여 설정
Cursor IDE
- Privacy Mode ON 필수
- 인덱싱 시 README 수준까지만 허용
.cursorignore
에 다음 포함:
.env
credentials.json
secret.py
조직 보안 정책
- 핵심 문서는 Git-crypt 또는 Age로 암호화 저장
- 외부 협업자는 NDA 체결 + 접근 권한 최소화
- 분기별 Red-Team 보안 점검 운영