1. 도입부: AI 코딩 도구는 편하지만 회사 코드에는 주의가 필요하다
작성 시점: 2026년 6월 17일, Asia/Seoul 기준.
AI 코딩 도구 보안 정책, 가격, 플랜 구성, 데이터 처리 방식은 자주 바뀝니다. 따라서 이 글의 내용은 작성 시점 기준이며, 실제 도입 전에는 각 도구의 공식 문서, 계약 조건, DPA, 회사 보안 정책을 다시 확인해야 합니다.
Cursor, GitHub Copilot, Claude Code, Codex CLI, Windsurf, Gemini CLI 같은 AI 코딩 도구는 개발 속도를 크게 높여줍니다. 하지만 회사 코드 AI 도구 사용은 개인 토이 프로젝트와 다릅니다. 회사 비공개 저장소, 고객 개인정보, API 키, DB 비밀번호, 보안 취약점 정보가 AI 도구로 전송되면 단순한 생산성 문제가 아니라 사내 코드 유출 방지, 개인정보 보호, 감사 로그, 계약 책임, 보안 사고 대응 문제가 됩니다.
이 글은 “AI 코딩 도구는 위험하니 쓰지 말자”는 글도 아니고, “요즘은 다 안전하니 마음껏 쓰자”는 글도 아닙니다. 개발자, 팀 리더, 스타트업 CTO, 보안 담당자가 회사에서 Cursor 써도 될까, 회사에서 Copilot 써도 될까, 개인 계정으로 회사 코드를 다뤄도 될까를 판단할 수 있도록 만든 실전형 AI 코딩 도구 보안 체크리스트입니다.
2. 5줄 핵심 요약
- 회사 코드를 AI 코딩 도구에 넣어도 되는지는 도구 이름이 아니라 회사 정책, 계정 유형, 플랜, 데이터 처리 조건, 저장소 등급에 따라 달라집니다.
- 개인 Free/Pro 계정과 Business/Enterprise 계정은 데이터 학습, 관리자 통제, 감사 로그, SSO, 보관 정책에서 차이가 날 수 있습니다.
- .env, API 키, DB 비밀번호, SSH private key, 고객 개인정보, 결제 정보, 민감 로그는 AI 도구에 입력하지 않는 것을 기본 원칙으로 삼아야 합니다.
- AI 에이전트가 파일 수정, 터미널 명령 실행, Git 작업, MCP 서버 접근 권한을 갖는 순간 프롬프트 인젝션과 과도한 권한 문제가 커집니다.
- 안전하게 쓰려면 Privacy Mode, Content Exclusion, Zero Data Retention, 기업용 계정, Git diff 검토, 코드 리뷰, 보안 스캔, 사내 사용 정책이 함께 필요합니다.
3. 결론부터: 회사 코드를 AI 코딩 도구에 넣어도 될까?
조건부로 가능하지만, 기본값은 “확인 전에는 넣지 않는다”입니다.
회사 코드 AI 도구 사용은 다음 조건을 만족할 때 비교적 안전하게 검토할 수 있습니다.
| 회사가 해당 AI 도구 사용을 명시적으로 허용함 | 가능성 높음 |
| 회사 계정 또는 기업용 플랜 사용 | 가능성 높음 |
| 데이터가 모델 학습에 사용되지 않음을 공식 문서와 계약에서 확인 | 가능성 높음 |
| 민감 파일 제외, 저장소 등급 분류, secret 차단이 적용됨 | 가능성 높음 |
| AI 에이전트의 파일 수정·명령 실행이 승인 기반으로 제한됨 | 가능성 높음 |
| 개인 Pro 계정으로 회사 비공개 저장소를 열어 자동완성 사용 | 제한 또는 금지 검토 |
| .env, 고객 로그, 결제 정보, 취약점 리포트 포함 | 금지에 가까움 |
| 금융·의료·공공·고객 데이터 프로젝트 | 기업 계약, 보안 검토, 컴플라이언스 확인 전 제한 |
GitHub는 Copilot Business/Enterprise 고객 데이터를 모델 학습에 사용하지 않는다고 설명하지만, 개인용 Copilot Free/Pro/Pro+/Max의 경우 2026년 4월 24일부터 사용자가 opt-out하지 않으면 상호작용, 입력, 출력, 코드 스니펫, 컨텍스트가 모델 개선·학습에 사용될 수 있다고 안내합니다. 이 차이만 봐도 개인 계정과 회사 계정을 같은 기준으로 보면 안 됩니다.
Cursor도 Privacy Mode가 켜져 있으면 고객 데이터를 학습에 사용하지 않고 일부 제공자와 Zero Data Retention 조건을 둔다고 설명하지만, Privacy Mode가 꺼져 있으면 코드베이스 데이터, 프롬프트, 에디터 액션, 코드 스니펫 등이 기능 개선과 모델 학습에 사용될 수 있다고 밝히고 있습니다.
따라서 결론은 이렇습니다.
개인 프로젝트는 본인 책임으로 판단할 수 있지만, 회사 코드는 회사 승인 계정, 기업 플랜, 데이터 학습 제외, 민감정보 제외, 에이전트 권한 제한, Git diff 검토가 갖춰진 경우에만 사용을 검토하는 것이 안전합니다.
4. 왜 회사 코드와 개인 프로젝트 코드는 다르게 봐야 할까?
개인 토이 프로젝트에서는 실수해도 피해 범위가 작을 수 있습니다. 반면 회사 코드는 다음 정보를 포함할 수 있습니다.
| 비공개 비즈니스 로직 | 경쟁력, 영업비밀, 제품 전략 노출 |
| API 키, 토큰, DB 접속 정보 | 외부 시스템 접근 위험 |
| 고객 개인정보 | 개인정보 보호, 계약, 컴플라이언스 이슈 |
| 내부 서버 주소, 배포 스크립트 | 공격 표면 노출 |
| 취약점 수정 전 코드 | 보안 사고 가능성 증가 |
| 라이선스 제한이 있는 코드 | 오픈소스·상용 라이선스 분쟁 가능성 |
| 결제·인증·권한 처리 코드 | 금전 피해, 권한 상승, 계정 탈취 위험 |
여기서 핵심은 “AI가 코드를 본다” 자체가 아니라, 어떤 데이터가 어디로 전송되고, 얼마나 보관되며, 모델 학습에 쓰이는지, 누가 접근할 수 있는지, 사고가 났을 때 감사할 수 있는지입니다. NIST AI Risk Management Framework는 AI 위험 관리를 거버넌스, 매핑, 측정, 관리 기능으로 나누어 접근하도록 제시합니다. AI 개발 도구 보안 정책도 같은 방식으로 “누가, 어떤 데이터에, 어떤 권한으로, 어떤 통제 아래 쓰는가”를 정해야 합니다.
5. AI 코딩 도구가 실제로 접근하는 데이터
AI 코딩 도구 개인정보 이슈는 단순히 프롬프트 입력창에 붙여넣은 내용만의 문제가 아닙니다. 최신 AI 코딩 도구는 IDE, CLI, 에이전트, MCP 서버와 연결되면서 더 넓은 데이터를 읽을 수 있습니다.
AI 도구가 읽을 수 있는 데이터
| 직접 입력한 프롬프트 | “이 인증 코드를 고쳐줘” | 코드·로그·토큰을 붙여넣을 수 있음 |
| 선택한 코드 블록 | IDE에서 선택한 함수 | 일부 코드만 보낸다고 생각했지만 주변 컨텍스트가 추가될 수 있음 |
| 열린 파일 | 현재 열려 있는 파일, 관련 파일 | 자동완성·채팅 컨텍스트에 포함될 수 있음 |
| 저장소 인덱스 | 파일 청크, 임베딩, 파일명, 해시 | 코드 검색과 에이전트 이해를 위해 사용 |
| 터미널 출력 | 테스트 결과, 에러 로그 | 로그에 개인정보나 토큰이 포함될 수 있음 |
| Git diff | 변경된 파일, 커밋 메시지 | 비공개 코드 변경 내용이 분석될 수 있음 |
| MCP 응답 | GitHub 이슈, Jira 티켓, Slack 메시지, DB 조회 결과 | 외부 시스템 데이터가 AI 컨텍스트로 들어올 수 있음 |
예를 들어 Cursor는 코드베이스 인덱싱을 위해 코드를 작은 청크로 서버에 업로드해 임베딩을 계산하고, Privacy Mode가 켜져 있을 때는 원문 파일 내용은 요청 후 사라지지만 임베딩과 파일명·해시 같은 메타데이터는 저장될 수 있다고 설명합니다. 또한 사용자가 자체 API 키를 쓰더라도 최종 프롬프트 구성을 위해 요청이 Cursor 백엔드를 통과한다고 안내합니다.
GitHub Copilot Chat은 프롬프트, 열린 파일, 활성 저장소, 대화 기록, 웹 검색 결과 같은 컨텍스트를 사용할 수 있으며, 에이전트 모드에서는 파일 편집이나 터미널 명령 같은 도구를 호출할 수 있다고 설명합니다.
Claude Code는 로컬에서 사용할 때도 프롬프트와 모델 출력을 네트워크로 전송하며, 명령 실행·파일 편집은 권한 승인 모델을 통해 통제한다고 설명합니다.
OpenAI Codex CLI도 로컬 터미널에서 실행되지만, 선택한 디렉터리의 코드를 읽고 변경하고 명령을 실행할 수 있는 로컬 코딩 에이전트입니다. “로컬에서 실행된다”는 말이 “아무 데이터도 외부로 나가지 않는다”는 뜻은 아닙니다.
6. 가장 먼저 확인해야 할 7가지
AI 코딩 도구 회사 코드 사용 전에는 최소한 다음 7가지를 먼저 확인해야 합니다.
- 회사에서 해당 도구 사용을 허용했는가?
팀에서 암묵적으로 쓰고 있어도, 회사 정책상 미승인 SaaS일 수 있습니다. - 개인 계정인가, 회사 계정인가?
개인 Pro 계정은 회사의 감사, 삭제, SSO, 퇴사자 회수, DPA 관리 범위 밖일 수 있습니다. - 코드가 모델 학습에 사용되는가?
“학습에 사용하지 않는다”는 문구가 어느 플랜에 적용되는지 확인해야 합니다. - 프롬프트와 로그는 얼마나 보관되는가?
30일, 90일, 180일, 5년 등 도구와 플랜에 따라 다를 수 있습니다. - 민감 파일을 제외할 수 있는가?
.env, 인증 키, 로그, 덤프 파일, 고객 데이터는 AI 컨텍스트에서 제외해야 합니다. - AI 에이전트가 명령을 실행하기 전에 승인을 받는가?
테스트 실행은 유용하지만, 패키지 설치, 파일 삭제, Git push, 배포 명령은 위험할 수 있습니다. - Git diff와 코드 리뷰를 사람이 확인하는가?
AI가 만든 코드는 그럴듯하지만 보안 취약점, 권한 오류, 예외 처리 누락을 포함할 수 있습니다.
7. 회사 코드 입력 전 체크리스트
표 1. 회사 코드 입력 전 핵심 체크리스트
| 회사가 해당 AI 도구 사용을 허용했는가 | 미승인 SaaS 사용은 계약·보안 정책 위반이 될 수 있음 | 보안 정책, SaaS 승인 목록, CTO/보안팀 확인 | 높음 |
| 개인 계정이 아니라 회사 계정/기업 플랜을 사용하는가 | 개인 계정은 감사, 퇴사자 회수, DPA 관리가 어려움 | SSO, 조직 계정, 관리자 콘솔 확인 | 높음 |
| 코드가 모델 학습에 사용되는지 확인했는가 | 비공개 코드가 모델 개선 데이터로 쓰일 수 있음 | Data Use, Privacy, Training 설정 확인 | 매우 높음 |
| 민감 파일을 제외할 수 있는가 | .env, 키, 로그가 컨텍스트에 들어갈 수 있음 | .gitignore, .cursorignore, Content Exclusion, 저장소 정책 확인 | 매우 높음 |
| .env, API 키, SSH 키가 포함되어 있지 않은가 | 외부 시스템 접근 권한이 노출될 수 있음 | secret scanning, pre-commit hook, GitHub secret scanning 등 | 매우 높음 |
| AI 에이전트가 명령을 실행하기 전 승인을 받는가 | 파일 삭제, 패키지 설치, 외부 요청, 배포 명령 위험 | 승인 모드, sandbox, allowlist/denylist 설정 확인 | 높음 |
| Git diff를 사람이 검토하는가 | AI가 만든 취약 코드가 그대로 병합될 수 있음 | PR 리뷰, protected branch, CODEOWNERS 적용 | 높음 |
| 로그와 프롬프트가 어디에 저장되는지 확인했는가 | 프롬프트에 회사 정보·고객 정보가 포함될 수 있음 | retention 문서, 관리자 설정, DPA 확인 | 높음 |
| 보안 사고 발생 시 감사 로그를 볼 수 있는가 | 누가 어떤 기능을 썼는지 추적해야 함 | audit log, usage report, SIEM 연동 여부 확인 | 중간~높음 |
8. 개인 계정과 회사 계정의 차이
개인 계정과 회사 계정의 가장 큰 차이는 생산성 기능이 아니라 통제권입니다.
| 결제 주체 | 개인 | 회사 |
| 데이터 처리 조건 | 개인 약관 기준 | 조직·기업 약관, DPA 기준 |
| 모델 학습 opt-out | 개인이 직접 설정 | 조직 정책으로 통제 가능할 수 있음 |
| 감사 로그 | 제한적이거나 없음 | 플랜에 따라 제공 가능 |
| SSO/SCIM | 보통 제한적 | 지원 가능 |
| 퇴사자 계정 회수 | 어려움 | 중앙 관리 가능 |
| 저장소 접근 통제 | 개인 설정 의존 | 조직 정책과 연동 가능 |
| 보안 사고 조사 | 개인 협조 필요 | 관리자 로그 기반 조사 가능 |
GitHub Copilot의 경우 Business/Enterprise에서는 고객 데이터를 모델 학습에 사용하지 않는다고 명시하지만, 개인용 Free/Pro/Pro+/Max는 사용자 설정에 따라 모델 개선·학습 사용 여부가 달라질 수 있습니다. 회사 코드 AI 도구 사용을 개인 계정에 맡기면 회사가 이 설정을 중앙에서 보장하기 어렵습니다.
Claude Code도 Consumer Free/Pro/Max와 Team/Enterprise/API 등 상업용 조건에서 데이터 사용 기준이 다릅니다. Anthropic은 상업용 조건에서는 고객이 opt-in하지 않는 한 코드나 프롬프트를 생성 모델 학습에 사용하지 않는다고 설명합니다.
OpenAI도 ChatGPT Business, Enterprise, Edu, API 같은 비즈니스 데이터는 기본적으로 모델 학습에 사용하지 않는다고 설명합니다. 다만 개인용 ChatGPT, API, Codex CLI, ChatGPT 워크스페이스, 조직 플랜은 각각 데이터 제어와 보관 조건이 다를 수 있으므로 실제 사용 경로를 기준으로 확인해야 합니다.
9. Free/Pro와 Business/Enterprise 플랜 차이
AI 코딩 도구 보안에서 Free/Pro와 Business/Enterprise의 차이는 보통 다음 지점에서 나타납니다.
| 모델 학습 사용 여부 | 기본값, opt-out 위치, 개인 설정 | 기본 비학습 여부, DPA, opt-in 조건 |
| 데이터 보관 기간 | 프롬프트·로그 보관 기간 | retention 설정, 삭제 정책, ZDR 가능 여부 |
| 관리자 통제 | 개인 설정 중심 | 조직 정책, 모델 제한, 기능 제한 |
| 인증 | 개인 로그인 | SSO, SCIM, 도메인 캡처, RBAC |
| 감사 | 제한적 | audit log, usage report, compliance API |
| 민감 파일 제외 | 로컬 ignore 설정 의존 | 조직·엔터프라이즈 단위 제외 정책 가능 |
| 에이전트 권한 | 사용자 개인 설정 | 조직 단위 승인 정책, allowlist/denylist |
| 계약 | 개인 약관 | DPA, 보안 문서, Trust Center, 조달 검토 |
핵심은 가격이 아니라 계약과 통제입니다.
같은 도구라도 개인 Pro 계정으로 회사 코드를 여는 것과 회사 Enterprise 플랜에서 SSO, 감사 로그, 데이터 학습 제외, 저장소 제외 정책을 적용하는 것은 보안상 전혀 다른 상황입니다.
10. 도구별 보안 체크포인트
아래 내용은 작성 시점 기준 공식 문서를 바탕으로 정리했습니다. 공식 문서에서 확인되지 않은 항목은 “확인 필요”로 표시합니다.
10-1. Cursor 보안 체크포인트
Cursor 보안에서 가장 먼저 확인할 항목은 Privacy Mode입니다. Cursor는 Privacy Mode가 켜져 있으면 고객 데이터를 학습에 사용하지 않고, 모델 제공자와 Zero Data Retention 조건을 적용한다고 설명합니다. 반대로 Privacy Mode가 꺼져 있으면 코드베이스 데이터, 프롬프트, 코드 스니펫, 에디터 액션 등이 기능 개선과 모델 학습에 사용될 수 있다고 안내합니다.
Cursor는 코드베이스 인덱싱 과정에서 파일을 작은 청크로 서버에 업로드해 임베딩을 계산하며, Privacy Mode가 켜진 경우 원문 파일 내용은 요청 후 사라지지만 임베딩과 파일명·해시 같은 메타데이터가 저장될 수 있다고 설명합니다. 즉, Cursor 보안을 검토할 때는 “Privacy Mode만 켰는가”뿐 아니라 인덱싱 대상 파일, 민감 파일 제외, 모델 선택, 로그 정책까지 확인해야 합니다.
Cursor는 민감 파일 제외와 관련해 .cursorignore, .cursorindexingignore 같은 ignore 설정을 문서화하고 있습니다. 회사 코드에서는 .env, 키 파일, 로그, 덤프, 고객 데이터가 Cursor 컨텍스트나 인덱싱 대상에 들어가지 않도록 별도 정책을 둬야 합니다.
Cursor의 에이전트·터미널 기능은 생산성을 높이지만, 명령 실행 권한이 커질수록 위험도 커집니다. Cursor는 터미널 명령 실행, sandbox 설정, LLM Safety Controls, MCP 연결 문서를 제공하므로, 회사에서는 자동 실행 범위와 승인 절차를 정해야 합니다.
Cursor 사용 시 확인할 것
| 데이터 학습 | Privacy Mode 켜짐 여부, 팀/엔터프라이즈 강제 여부 |
| 코드 인덱싱 | .cursorignore, .cursorindexingignore, 민감 파일 제외 |
| 모델 선택 | 비-ZDR 모델 사용 여부, 외부 모델 제공자 조건 |
| 터미널 | 자동 실행 제한, sandbox 설정 |
| MCP | 신뢰 가능한 서버만 연결, 최소 권한 |
| 조직 관리 | SSO, SCIM, RBAC, audit log 지원 여부 확인 |
| 결론 | 회사 코드는 Privacy Mode와 민감 파일 제외 없이 열지 않는 것을 권장 |
10-2. GitHub Copilot 보안 체크포인트
GitHub Copilot 보안에서 가장 중요한 구분은 개인 플랜과 Business/Enterprise 플랜의 데이터 사용 차이입니다. GitHub는 Copilot Business/Enterprise 고객 데이터를 모델 학습에 사용하지 않는다고 설명합니다. 반면 개인용 Copilot Free/Pro/Pro+/Max에서는 2026년 4월 24일부터 사용자가 opt-out하지 않으면 입력, 출력, 코드 스니펫, 컨텍스트 등이 모델 개선·학습에 사용될 수 있다고 안내합니다.
GitHub Copilot은 Content Exclusion 기능을 통해 특정 파일이나 경로를 Copilot이 무시하도록 설정할 수 있습니다. 하지만 GitHub 공식 문서는 Copilot CLI, Copilot coding agent, Copilot Chat IDE의 Agent mode에는 Content Exclusion이 지원되지 않는다고 명시합니다. 따라서 “Content Exclusion을 설정했으니 모든 Copilot 기능에서 민감 파일이 제외된다”고 단정하면 안 됩니다.
GitHub 조직 관리자는 Copilot 기능, 모델, 정책을 관리할 수 있고, Copilot Business/Enterprise에서는 조직 단위 정책 설정이 가능합니다. 또한 Copilot 사용량과 활동 관련 보고 기능도 제공되지만, 어떤 로그가 얼마나 보이는지는 플랜과 설정에 따라 확인해야 합니다.
GitHub Copilot Chat과 agent mode는 열린 파일, 활성 저장소, 대화 기록 같은 컨텍스트를 사용하고, 파일 편집·터미널 명령 같은 작업을 수행할 수 있습니다. GitHub는 Copilot을 인간 개발자를 대체하는 도구가 아니라 보조 도구로 사용하고, 생성 코드를 검토·테스트하라고 안내합니다.
GitHub Copilot 사용 시 확인할 것
| 개인 Pro 사용 | 회사 승인 없으면 제한 또는 금지 검토 |
| Business/Enterprise | 고객 데이터 학습 제외 조건 확인 |
| Content Exclusion | 적용 범위 확인. CLI, cloud agent, Agent mode 미지원 항목 주의 |
| BYOK | 외부 모델 제공자 데이터 처리 조건 확인 |
| Agent mode | 파일 수정·명령 실행 전 승인 절차 확인 |
| 조직 정책 | 모델, 기능, 저장소 접근 정책 설정 |
| 결론 | 회사 비공개 저장소는 Business/Enterprise와 조직 정책 기반 사용이 안전 |
10-3. Claude Code 보안 체크포인트
Claude Code 보안에서 중요한 점은 Consumer 계정과 상업용 계정의 차이, 그리고 명령 실행 권한 모델입니다. Anthropic은 Consumer Free/Pro/Max 사용자가 데이터 사용을 허용할 수 있지만, Team/Enterprise/API 등 상업용 조건에서는 고객이 opt-in하지 않는 한 코드나 프롬프트를 생성 모델 학습에 사용하지 않는다고 설명합니다.
Claude Code는 기본적으로 엄격한 read-only 모드에서 시작하고, 파일 편집, 테스트 실행, 명령 실행에는 명시적 권한이 필요하다고 설명합니다. Bash 도구는 시작 폴더와 하위 폴더로 쓰기 범위가 제한되며, 네트워크 fetch 명령은 기본적으로 승인을 요구한다고 문서화되어 있습니다.
Claude Code는 MCP 서버 연결 시 신뢰할 수 있는 서버만 사용하라고 권고합니다. 특히 외부 콘텐츠를 가져오는 MCP 서버는 프롬프트 인젝션 위험이 있으므로, GitHub, Slack, Jira, DB 같은 시스템과 연결할 때는 최소 권한과 승인 절차가 필요합니다.
Claude Enterprise는 SSO, 도메인 캡처, RBAC, Compliance API, 조직 단위 설정 같은 기능을 제공한다고 설명합니다. 감사 로그는 Enterprise에서 제공되며, 문서상 과거 180일 로그 내보내기를 지원하지만 채팅 내용 자체는 감사 로그에 포함되지 않는다고 안내합니다.
Claude Code 사용 시 확인할 것
| 계정 유형 | Consumer인지 Team/Enterprise/API인지 확인 |
| 데이터 학습 | 상업용 조건에서 opt-in 없는 학습 제외 여부 확인 |
| 로컬 기록 | ~/.claude/projects/ 등 로컬 transcript 보관 확인 |
| 명령 실행 | read-only 기본값, 승인 정책, allowlist 확인 |
| MCP | 신뢰 가능한 서버만 연결, 민감 시스템 최소 권한 |
| Enterprise | SSO, RBAC, Compliance API, audit log 확인 |
| 결론 | 회사 코드는 Team/Enterprise/API 조건과 권한 정책 확인 후 사용 |
10-4. Codex CLI 보안 체크포인트
OpenAI Codex CLI는 로컬 터미널에서 실행되는 코딩 에이전트이며, 선택한 디렉터리의 코드를 읽고, 파일을 변경하고, 명령을 실행할 수 있습니다. 따라서 Codex CLI 보안은 “로컬 도구니까 안전하다”가 아니라 로컬 권한을 가진 AI 에이전트가 어디까지 할 수 있는가를 기준으로 봐야 합니다.
Codex CLI는 기본적으로 네트워크가 꺼져 있고, OS 기반 sandbox로 현재 작업 공간 중심의 권한을 제한하며, approval policy를 통해 언제 사용자 승인을 받을지 제어한다고 설명합니다. Sandbox는 git, 패키지 매니저, 테스트 러너 같은 하위 명령에도 적용됩니다.
주의할 점은 --dangerously-bypass-approvals-and-sandbox, --yolo 같은 옵션입니다. OpenAI 공식 문서는 이 옵션이 모든 명령을 승인과 sandbox 없이 실행하며, 외부에서 강화된 격리 환경 안에서만 사용하라고 설명합니다. 회사 프로젝트에서는 기본적으로 금지하는 것이 안전합니다.
OpenAI는 ChatGPT Business/Enterprise 및 API의 비즈니스 데이터를 기본적으로 모델 학습에 사용하지 않는다고 설명합니다. API도 기본적으로 학습에 사용하지 않지만, abuse monitoring 로그가 최대 30일 보관될 수 있고, Zero Data Retention은 승인이 필요한 조건이라고 설명합니다.
Codex CLI 사용 시 확인할 것
| 실행 범위 | 작업 디렉터리, 추가 write 디렉터리 제한 |
| Sandbox | 기본 sandbox 활성 상태 유지 |
| Approval | 명령 실행 전 승인 정책 유지 |
| 위험 옵션 | --yolo, sandbox bypass 금지 |
| 데이터 처리 | ChatGPT/API/Business/Enterprise 중 실제 사용 경로 확인 |
| ZDR | 필요한 경우 API·Enterprise 조건에서 공식 확인 |
| 결론 | 로컬 실행이어도 회사 코드는 승인된 계정·sandbox·diff 검토가 필수 |
10-5. Windsurf 보안 체크포인트
Windsurf 관련 공식 문서는 Cognition/Devin Desktop 문서와 함께 확인해야 합니다. Cognition의 개인정보 처리 문서는 Devin과 Windsurf 서비스에 적용된다고 설명하며, 입력, 파일 업로드, 피드백, 출력 같은 user content를 수집할 수 있다고 안내합니다. 또한 서비스를 제공·운영·개선·개발하기 위해 정보를 사용할 수 있다고 설명합니다.
반면 Devin Enterprise 문서는 Enterprise-grade security/privacy 항목에서 데이터가 통제된 환경에 저장되고 학습에 사용되지 않는다고 설명합니다. 또한 VPC, SOC 2 Type 2, audit logs, fine-grained access controls, custom IdP 같은 기업 기능을 언급합니다. 따라서 Windsurf 보안은 개인/팀 사용과 Enterprise 사용을 분리해서 판단해야 합니다.
Windsurf/Devin Desktop의 Cascade는 코드베이스를 분석하고 코드를 생성·수정할 수 있으며, 터미널, 웹 검색, MCP 같은 도구를 사용할 수 있습니다. 터미널 명령 자동 실행은 Disabled, Allowlist Only, Auto, Turbo 같은 단계가 있고, Teams/Enterprise 관리자는 최대 자동 실행 수준과 allowlist/denylist를 설정할 수 있다고 설명합니다.
Devin Local Agent 문서는 파일 읽기·쓰기, 명령 실행, HTTP fetch, MCP tool에 대해 Deny/Ask/Allow 권한 모델을 제공한다고 설명합니다. MCP 도구는 기본적으로 실행 전 확인하도록 설정할 수 있으며, 프로젝트·사용자·조직 단위 설정을 구분합니다.
Windsurf 사용 시 확인할 것
| 데이터 처리 | 개인/팀/Enterprise 약관과 개인정보 처리 문서 확인 |
| Enterprise | 학습 미사용, VPC, audit log, IdP 조건 확인 |
| 코드 인덱싱 | 어떤 파일이 분석·인덱싱되는지 확인 |
| 터미널 | 자동 실행 수준을 Disabled 또는 Allowlist 중심으로 제한 |
| MCP | 조직 whitelist, 최소 권한, DB·Slack·GitHub 접근 제한 |
| 감사 | Enterprise audit log와 접근 통제 확인 |
| 결론 | 회사 코드는 Enterprise 조건 또는 명확한 데이터 처리 확인 후 사용 권장 |
10-6. Gemini CLI / Gemini Code Assist 보안 체크포인트
Gemini CLI와 Gemini Code Assist는 같은 “Gemini” 이름을 쓰더라도 사용 경로가 다를 수 있습니다. 개인 Google 계정, Gemini API 무료 사용, Google Cloud, Vertex AI, Gemini Code Assist Standard/Enterprise 중 무엇을 쓰는지에 따라 데이터 처리와 계약 조건이 달라질 수 있습니다.
Google은 Gemini API Additional Terms에서 unpaid services의 경우 입력·출력이 제품 개선을 위해 검토될 수 있으며, 민감·기밀·개인정보를 unpaid services에 제출하지 말라고 명시합니다. 따라서 회사 코드나 고객 데이터는 개인·무료 경로에 넣지 않는 것을 기본 원칙으로 삼아야 합니다.
Gemini Code Assist Standard/Enterprise는 고객 코드, 입력, 추천을 공유 모델 학습이나 제품 개발에 사용하지 않는다고 설명합니다. 또한 Google Cloud의 보안·접근 제어, IAM, VPC Service Controls 등과 연계되는 기업용 통제 항목을 제공합니다.
Gemini CLI는 프로젝트 파일을 읽고 프로젝트 관례를 파악할 수 있는 CLI 기반 AI 도구이며, shell mode를 통해 명령 실행도 가능합니다. Google의 공식 가이드는 보안·컴플라이언스가 필요한 enterprise/production workload에는 Vertex AI 사용을 언급하므로, 회사 프로젝트에서는 개인 인증이 아니라 조직 Google Cloud 계정과 정책 기반 사용을 검토해야 합니다.
Gemini CLI / Gemini Code Assist 사용 시 확인할 것
| 사용 경로 | 개인 계정, 무료 API, Google Cloud, Vertex AI, Code Assist 구분 |
| 데이터 학습 | unpaid services 금지 기준과 Code Assist 기업용 조건 확인 |
| 회사 코드 | Code Assist Standard/Enterprise 또는 Vertex AI 조건 검토 |
| 명령 실행 | Gemini CLI shell mode 사용 시 승인 절차 필요 |
| 로그/텔레메트리 | Gemini CLI telemetry/audit 설정 확인 |
| 접근 통제 | IAM, VPC Service Controls, Enterprise Access Controls 확인 |
| 결론 | 회사 코드는 개인·무료 경로가 아니라 조직 관리형 Google Cloud/Code Assist 조건에서 검토 |
6. 도구별 보안 비교표
표 2. 도구별 보안 기능 비교
| Cursor | Privacy Mode 켜면 학습 미사용. 꺼지면 코드·프롬프트 등이 개선·학습에 사용될 수 있음 | Privacy Mode, ZDR 제공자 조건, Enterprise 보안 기능 확인 | .cursorignore, .cursorindexingignore | 터미널 sandbox, LLM safety controls 확인 | audit/compliance 기능 확인 필요 | SSO, SCIM, RBAC 문서 확인 | Privacy Mode와 민감 파일 제외 적용 시 제한적 사용 가능 | 선택 모델, 비-ZDR 모델, 보관 기간, abuse classifier 예외 |
| GitHub Copilot | 개인 Free/Pro 계정은 opt-out 필요. Business/Enterprise는 고객 데이터 학습 미사용 | Business/Enterprise, DPA, 조직 정책 | Content Exclusion. 단, CLI·cloud agent·Agent mode 미지원 항목 있음 | Agent mode 명령 실행·파일 수정은 IDE/정책 확인 필요 | Copilot metrics, 조직 보고 기능 | org/enterprise policy, 모델 제어 | 회사 저장소는 Business/Enterprise 권장 | 개인 Pro 사용, Content Exclusion 적용 범위, BYOK 제공자 조건 |
| Claude Code | Consumer와 commercial 조건 다름. Team/Enterprise/API는 opt-in 없으면 학습 미사용 | Enterprise SSO, RBAC, Compliance API, ZDR 가능 조건 | 전용 파일 제외보다는 작업 디렉터리·권한·프로젝트 정책 중심 확인 | read-only 기본, 편집·명령 승인 | Enterprise audit log, telemetry 설정 | Team/Enterprise 관리 기능 | 승인된 상업용 계정과 권한 정책 적용 시 사용 가능 | ZDR 대상 여부, 로컬 transcript, MCP 서버 권한 |
| Codex CLI | 사용 경로에 따라 다름. OpenAI API/Business/Enterprise는 기본 학습 미사용 | ChatGPT Business/Enterprise, API data controls, ZDR 승인 조건 | 작업 디렉터리·sandbox·추가 디렉터리 제한 중심 | sandbox, approval policy. --yolo 금지 | Enterprise/API 로그·보관 정책 확인 | ChatGPT workspace 또는 API 조직 정책 확인 | sandbox와 승인 정책 유지 시 제한적 사용 가능 | 개인 ChatGPT 경로, retention, ZDR, 명령 실행 옵션 |
| Windsurf | 일반 개인정보 문서와 Enterprise 조건 구분 필요 | Enterprise는 통제 환경, 학습 미사용, VPC, audit log 등 설명 | 코드 인덱싱·ignore 설정은 공식 문서에서 재확인 필요 | Disabled, Allowlist Only, Auto, Turbo. 관리자 제한 가능 | Enterprise audit logs | Teams/Enterprise allowlist/denylist, IdP | Enterprise 조건 또는 명확한 데이터 처리 확인 후 사용 | 개인/팀 플랜 데이터 사용, 인덱싱 제외, MCP 권한 |
| Gemini CLI / Gemini Code Assist | unpaid services는 민감정보 제출 금지. Code Assist Standard/Enterprise는 공유 모델 학습 미사용 | Google Cloud, IAM, VPC Service Controls, Enterprise controls | CLI 파일 제외 설정은 공식 문서 재확인 필요 | Gemini CLI shell mode 사용 시 내부 승인 정책 필요 | telemetry/audit 설정 가능 | Google Cloud IAM, 조직 정책 | Code Assist Standard/Enterprise 또는 Vertex AI 조건 권장 | 개인 계정·무료 API 사용, telemetry, CLI 권한 모델 |
11. 민감정보를 AI 도구에 넣으면 안 되는 이유
AI 코딩 도구 개인정보 문제는 “AI가 똑똑해서 위험하다”가 아니라, 입력한 정보가 프롬프트, 로그, 보관 데이터, 모델 제공자 요청, 에이전트 컨텍스트, MCP 응답에 포함될 수 있다는 점 때문에 생깁니다.
OWASP Top 10 for LLM Applications는 Prompt Injection, Sensitive Information Disclosure, Supply Chain Vulnerabilities, Excessive Agency 같은 위험을 주요 항목으로 분류합니다. 특히 민감정보 노출은 LLM 애플리케이션에서 반복적으로 문제가 되는 영역이며, 에이전트가 외부 도구를 사용할수록 과도한 권한 문제가 커질 수 있습니다.
표 3. 입력하면 안 되는 데이터
| API 키 | <API_KEY_PLACEHOLDER> | 외부 서비스 무단 호출 | 키 제거 후 에러 메시지만 공유 |
| DB 비밀번호 | <DB_PASSWORD_PLACEHOLDER> | DB 접근 위험 | 로컬 더미 값으로 치환 |
| JWT secret | <JWT_SECRET_PLACEHOLDER> | 토큰 위조 가능성 | 구조만 설명하고 secret 제거 |
| SSH private key | <SSH_PRIVATE_KEY_PLACEHOLDER> | 서버 접근 위험 | 키 파일 제외, 경로도 최소화 |
| OAuth client secret | <OAUTH_SECRET_PLACEHOLDER> | 계정 연동 악용 위험 | client ID와 secret 모두 제거 |
| 고객 개인정보 | 이름, 이메일, 전화번호, 주소 | 개인정보 보호·계약 이슈 | 익명화·가명화된 샘플 사용 |
| 결제 정보 | 카드번호, 결제 토큰, 청구 주소 | PCI·결제 사고 위험 | 테스트 토큰·문서 예제만 사용 |
| 내부 서버 주소 | 사내 VPN 주소, admin endpoint | 내부 구조 노출 | internal-service.local처럼 치환 |
| 보안 취약점 보고서 | 미패치 CVE, 침투 테스트 결과 | 공격 정보 노출 | 보안 승인 환경에서만 분석 |
| 비공개 알고리즘 | 추천·가격·위험평가 로직 | 영업비밀 노출 | 최소 재현 코드로 축소 |
| 라이선스가 민감한 코드 | 상용 SDK, 고객사 납품 코드 | 계약·저작권 이슈 | 계약 조건 확인 후 제한 사용 |
12. .env와 API 키를 보호하는 방법
.env, API 키, DB 비밀번호, 토큰, SSH 키는 AI 코딩 도구 보안에서 가장 먼저 차단해야 하는 데이터입니다. 이 값들은 코드 품질을 설명하는 데 거의 필요하지 않지만, 노출되면 실제 시스템 접근으로 이어질 수 있습니다.
실무 보호 방법
| .gitignore 적용 | .env, .env.*, *.pem, *.key, id_rsa, secrets.*, *.dump, *.sql 제외 |
| AI 도구별 ignore 설정 | Cursor는 .cursorignore, .cursorindexingignore 확인. Copilot은 Content Exclusion 확인 |
| secret scanning | GitHub secret scanning, gitleaks, trufflehog, pre-commit hook 등 적용 |
| 샘플 파일 분리 | .env.example에는 더미 값만 넣기 |
| 로컬 권한 제한 | 키 파일 권한을 최소화하고 공유 폴더에 두지 않기 |
| 로그 정제 | 테스트 실패 로그에 토큰·쿠키·Authorization 헤더가 찍히지 않도록 마스킹 |
| 유출 시 즉시 회전 | AI 도구에 노출된 secret은 “이미 노출된 것”으로 보고 rotate |
GitHub의 Content Exclusion은 특정 파일이나 경로를 Copilot 컨텍스트에서 제외하는 기능이지만, CLI, cloud agent, IDE Agent mode에는 적용되지 않는다고 문서화되어 있습니다. 따라서 .env 보호는 특정 기능 하나에 의존하지 말고, 저장소 수준의 ignore, secret scanning, PR 검사, 에이전트 권한 제한을 함께 적용해야 합니다.
13. AI 에이전트의 파일 수정과 명령 실행 권한 관리
AI 에이전트가 파일을 읽기만 할 때와, 파일을 수정하고 터미널 명령까지 실행할 때의 위험은 다릅니다.
위험도가 높아지는 행동
| 파일 자동 수정 | 의도치 않은 로직 변경, 보안 검사 우회 |
| 패키지 자동 설치 | 악성·취약 의존성 설치 |
| 테스트 명령 실행 | 로그에 민감정보 출력 가능 |
| 마이그레이션 실행 | DB 스키마·데이터 변경 위험 |
| Git commit/push | 검토 전 코드 반영 |
| 배포 명령 실행 | 프로덕션 장애·보안 사고 |
| 외부 API 호출 | 데이터 전송·비용 발생 |
| MCP DB 조회 | 고객 데이터 노출 가능 |
Claude Code는 기본 read-only, 편집·명령 실행 승인, 네트워크 fetch 승인 같은 보호 모델을 설명합니다. Codex CLI는 sandbox와 approval policy를 제공하며, sandbox bypass 옵션은 외부 격리 환경이 아닌 곳에서 사용하지 말라고 안내합니다. Windsurf/Devin Desktop은 터미널 자동 실행 수준과 allowlist/denylist 설정을 제공합니다.
권장 설정
| 기본 모드 | read-only 또는 ask-before-edit |
| 터미널 명령 | 기본 승인 필요 |
| 자동 실행 | Disabled 또는 allowlist only |
| 패키지 설치 | 사람이 검토 후 실행 |
| Git 작업 | commit은 허용 가능하더라도 push는 금지 또는 승인 필요 |
| DB 명령 | 로컬 더미 DB만 허용 |
| 배포 명령 | AI 에이전트 직접 실행 금지 |
| 위험 옵션 | --yolo, sandbox bypass, Turbo 모드 등은 회사 프로젝트에서 금지 |
14. Git diff, 코드 리뷰, 테스트가 필요한 이유
AI가 만든 코드는 그럴듯합니다. 하지만 그럴듯함과 안전함은 다릅니다.
AI는 다음과 같은 실수를 할 수 있습니다.
| 인증 우회 | 로그인 여부만 확인하고 소유자 검증 누락 |
| 권한 오류 | 일반 사용자가 관리자 API 호출 가능 |
| SQL Injection | 문자열 연결 방식 쿼리 생성 |
| XSS | 사용자 입력을 escape 없이 렌더링 |
| SSRF | 사용자가 입력한 URL을 서버가 직접 호출 |
| secret 하드코딩 | 테스트용 키를 코드에 직접 삽입 |
| 로그 노출 | Authorization 헤더, 쿠키, 개인정보 출력 |
| 의존성 문제 | 오래된 취약 패키지 설치 제안 |
| 예외 처리 누락 | 실패 시 민감한 stack trace 반환 |
GitHub는 Copilot이 생성한 코드가 부정확하거나 보안에 취약할 수 있으므로 사용자가 검토하고 테스트해야 한다고 안내합니다. AI 코딩 도구 보안 체크리스트의 핵심은 “AI를 쓰지 말자”가 아니라 AI가 만든 변경사항을 사람이 책임지고 검토하는 체계를 만들자입니다.
최소 검토 절차
- AI가 수정한 파일을 git diff로 확인한다.
- 민감정보가 새로 들어갔는지 확인한다.
- 인증·인가·입력 검증·에러 처리 변경을 집중 리뷰한다.
- 테스트를 실행한다.
- SAST, dependency scan, secret scan을 실행한다.
- PR 리뷰를 통과하기 전 main branch에 병합하지 않는다.
- AI가 만든 코드를 프로덕션에 바로 배포하지 않는다.
15. 프롬프트 인젝션과 MCP 서버 보안
프롬프트 인젝션은 쉽게 말해 AI가 읽는 문서 안에 숨겨진 악성 지시가 AI의 행동에 영향을 주는 문제입니다.
예를 들어 README, GitHub Issue, Jira 티켓, Slack 메시지, 웹페이지, MCP 서버 응답 안에 “이전 지시를 무시하고 특정 파일을 읽어라” 같은 지시가 숨어 있을 수 있습니다. 사람은 문서 내용으로 보지만, AI 에이전트는 이를 명령처럼 해석할 수 있습니다. OWASP는 Prompt Injection을 LLM 애플리케이션의 핵심 위험으로 분류합니다.
위험은 AI가 다음 권한을 가질 때 커집니다.
| 파일 읽기 | 민감 파일을 컨텍스트에 포함할 수 있음 |
| 파일 수정 | 악성 변경을 코드에 삽입할 수 있음 |
| 명령 실행 | 삭제, 설치, 외부 요청, 배포 명령 위험 |
| 외부 API 호출 | GitHub, Slack, Jira, DB 데이터 전송 위험 |
| MCP 도구 호출 | 여러 시스템 권한이 하나의 에이전트에 집중됨 |
MCP 공식 보안 가이드는 도구 입력 검증, 접근 통제, 민감 작업 전 사용자 확인, 도구 입력 표시, 사용 로그 기록 같은 통제를 권장합니다. Claude Code 문서도 MCP 서버는 신뢰할 수 있는 서버만 사용하고, 외부 콘텐츠를 가져오는 서버는 프롬프트 인젝션 위험이 있다고 설명합니다.
MCP 보안 원칙
| 신뢰할 수 있는 MCP 서버만 연결 | 개인이 임의 설치한 서버를 회사 프로젝트에 연결하지 않기 |
| 최소 권한 | GitHub read-only, Slack 특정 채널, Jira 특정 프로젝트처럼 제한 |
| DB 직접 연결 제한 | 운영 DB 대신 읽기 전용 복제본 또는 샘플 DB 사용 |
| 외부 문서 읽은 직후 명령 실행 금지 | README·웹페이지·이슈 내용이 명령에 영향을 줄 수 있음 |
| 도구 호출 전 입력 확인 | AI가 어떤 API를 어떤 파라미터로 호출하는지 사람이 확인 |
| 감사 로그 | 누가 어떤 MCP 도구를 호출했는지 기록 |
| 토큰 분리 | MCP 서버용 토큰은 최소 권한·짧은 수명·회전 가능하게 관리 |
16. AI가 만든 코드의 보안 취약점 검토 방법
AI 생성 코드 검토는 “코드 스타일”보다 “보안 의미”를 먼저 봐야 합니다.
필수 보안 리뷰 항목
| 인증/인가 오류 | 로그인만 확인하고 리소스 소유자 검증을 빼먹지 않았는가? |
| SQL Injection | 사용자 입력이 파라미터 바인딩 없이 쿼리에 들어가지 않는가? |
| XSS | 사용자 입력이 escape 없이 HTML에 출력되지 않는가? |
| CSRF | 상태 변경 요청에 CSRF 방어가 있는가? |
| SSRF | 서버가 사용자 입력 URL을 검증 없이 호출하지 않는가? |
| Path Traversal | 파일 경로에 ../ 같은 입력이 허용되지 않는가? |
| Secret 하드코딩 | API 키, 토큰, 비밀번호가 코드에 들어가지 않았는가? |
| 취약한 암호화 | MD5, SHA1, 고정 IV, 자체 암호화 로직을 쓰지 않는가? |
| 의존성 취약점 | AI가 제안한 패키지가 오래되었거나 악성 패키지와 유사하지 않은가? |
| 과도한 권한 | 관리자 권한, broad OAuth scope, wildcard IAM이 들어가지 않았는가? |
| 예외 처리 누락 | 에러 응답에 stack trace, SQL, 내부 경로가 노출되지 않는가? |
| 로그에 민감정보 출력 | 토큰, 쿠키, 개인정보, 결제 정보가 로그에 찍히지 않는가? |
추천 검토 흐름
- AI가 생성한 코드만 따로 diff로 본다.
- 인증·인가·입력값 검증 코드를 먼저 본다.
- 새 의존성을 설치했다면 패키지명, 유지보수 상태, 라이선스, 취약점을 확인한다.
- SAST, dependency scan, secret scan을 CI에 넣는다.
- 보안 민감 변경은 보안 담당자 또는 senior reviewer가 리뷰한다.
- AI가 설명한 내용이 아니라 실제 코드 동작을 테스트한다.
17. 회사용 AI 코딩 도구 도입 절차
회사에서 AI 개발 도구 보안 정책 없이 도구가 퍼지면, 나중에 누가 어떤 코드와 데이터를 어떤 계정으로 보냈는지 추적하기 어렵습니다. 작은 스타트업도 최소한의 도입 절차가 필요합니다.
1단계. 저장소 등급 분류
| A. 공개 코드 | 오픈소스, 문서 사이트 | 비교적 허용 가능 |
| B. 내부 일반 코드 | 사내 도구, 샘플 앱 | 회사 승인 도구에서 제한적 허용 |
| C. 비공개 제품 코드 | 핵심 서비스 백엔드, 프론트엔드 | 기업용 계정, 학습 제외, 리뷰 필수 |
| D. 민감정보 포함 코드 | 고객 로그, 인증, 결제, 운영 설정 | 원칙적으로 제한. 익명화·분리 필요 |
| E. 고규제 코드 | 금융, 의료, 공공, 보안 제품 | 보안·법무·컴플라이언스 검토 전 금지 |
2단계. 허용 도구 목록 작성
| 허용 도구 | Copilot Business, Cursor Enterprise, Claude Team/Enterprise 등 |
| 제한 도구 | 개인 Pro 계정, 무료 API, 실험용 CLI |
| 금지 사용 | 고객 로그 붙여넣기, .env 포함 프로젝트 전체 분석, 운영 DB MCP 연결 |
| 예외 승인 | CTO 또는 보안 담당자 승인 필요 |
3단계. 계약·데이터 처리 확인
확인해야 할 문서는 다음과 같습니다.
| Privacy Policy | 어떤 데이터를 수집·사용하는가 |
| Data Use 문서 | 모델 학습 사용 여부 |
| Security 문서 | 암호화, 접근 통제, 보안 인증 |
| DPA | 개인정보 처리자·위탁 조건 |
| Enterprise Terms | 데이터 보관, 삭제, 감사, 책임 범위 |
| Trust Center | SOC 2, ISO, 침해 대응, 서브프로세서 |
| Admin 문서 | SSO, SCIM, RBAC, audit log, 정책 강제 |
4단계. 기술적 가드레일 적용
| SSO/SCIM | 계정 발급·회수 자동화 |
| RBAC | 관리자와 일반 사용자 권한 분리 |
| Content Exclusion | 민감 경로 제외 |
| secret scanning | AI 사용 전후 secret 탐지 |
| branch protection | AI 코드 직접 병합 방지 |
| PR template | “AI 사용 여부”, “민감정보 확인” 체크 |
| allowlist/denylist | 터미널 명령, MCP 서버, 외부 API 제한 |
| 로그 보관 | 감사와 사고 대응 가능하게 설정 |
5단계. 파일럿 후 확대
처음부터 전사 도입하지 말고, 민감도가 낮은 저장소와 소수 개발자 그룹에서 파일럿을 진행합니다. 파일럿 결과로 productivity, 보안 이벤트, secret 탐지 결과, 리뷰 부하, 비용, 개발자 만족도를 함께 봐야 합니다.
8. 역할별 체크리스트
표 5. 역할별 체크리스트
| 개발자 | 회사의 AI 도구 사용 정책을 확인했는가 개인 계정이 아닌 회사 승인 계정을 사용하는가 Privacy Mode 또는 데이터 학습 opt-out을 확인했는가 .env, secret, token, key 파일을 제외했는가 AI가 수정한 코드를 Git diff로 검토했는가 AI가 만든 코드를 테스트했는가 AI가 제안한 패키지를 무조건 설치하지 않았는가 민감 로그나 고객정보를 붙여넣지 않았는가 |
| 팀 리더/CTO | 사용 가능한 AI 도구 목록을 정했는가 개인 계정 사용을 허용할지 금지할지 정했는가 Enterprise/Business 플랜 필요성을 검토했는가 저장소 등급별 허용 기준을 정했는가 코드 리뷰와 보안 스캔 절차를 정했는가 사고 발생 시 로그와 감사 절차를 마련했는가 |
| 보안 담당자 | 데이터 처리 약관과 DPA를 검토했는가 모델 학습 사용 여부를 확인했는가 보관 기간과 삭제 정책을 확인했는가 SSO, SCIM, RBAC, audit log 지원 여부를 확인했는가 민감정보 탐지 도구를 적용했는가 MCP 서버와 외부 도구 연동 권한을 관리하고 있는가 프롬프트 인젝션과 supply chain 위험을 고려했는가 |
| 법무/컴플라이언스 담당자 | 고객 계약상 코드·데이터 외부 처리 제한을 확인했는가 개인정보 처리 위탁 또는 국외 이전 이슈를 확인했는가 라이선스가 민감한 코드 사용 기준을 확인했는가 고규제 산업 요구사항을 반영했는가 AI 도구 약관 변경 모니터링 절차를 정했는가 |
9. 사용 가능/제한/금지 기준표
표 4. 사용 가능/제한/금지 기준표
| 개인 토이 프로젝트 | 사용 가능 | 본인 코드이고 민감정보가 적음 | secret 제외, 공개 저장소 여부 확인 |
| 오픈소스 프로젝트 | 대체로 가능 | 공개 코드 중심 | 라이선스, 보안 취약점 이슈 확인 |
| 사내 비공개 저장소 | 제한적 허용 | 영업비밀·비공개 로직 포함 가능 | 회사 승인 계정, 기업 플랜, 학습 제외 |
| 고객 정보가 포함된 코드 | 제한 또는 금지 | 개인정보·계약 이슈 | 익명화, 샘플 데이터 사용 |
| 금융/의료/공공 프로젝트 | 제한 또는 금지 | 규제·감사 요구사항 높음 | 보안·법무 검토 후 승인 |
| 보안 취약점이 포함된 코드 | 제한 | 공격 정보가 될 수 있음 | 보안 승인 환경에서만 분석 |
| 프로덕션 DB 접속 정보가 있는 프로젝트 | 금지에 가까움 | 운영 시스템 접근 위험 | .env 제거, 키 회전, 로컬 더미 사용 |
| 회사가 승인한 Enterprise 플랜 사용 | 조건부 허용 | DPA, SSO, 감사, 정책 통제 가능 | 저장소 등급별 사용 정책 적용 |
| 개인 Pro 계정으로 회사 코드 사용 | 제한 또는 금지 | 회사 통제·감사·계약 범위 밖 | 회사 계정으로 전환, opt-out 확인 |
| AI가 배포 명령까지 실행 | 제한 또는 금지 | 프로덕션 장애·보안 사고 위험 | 배포 명령은 CI/CD 승인 절차로 분리 |
| MCP로 GitHub, Slack, DB, Jira 연결 | 제한 | 권한 집중·프롬프트 인젝션 위험 | 최소 권한, allowlist, 감사 로그 |
18. 실전 시나리오별 판단
시나리오 1. 개인 GitHub Copilot Pro 계정으로 회사 비공개 저장소에서 자동완성을 쓰는 경우
| 위험도 | 높음 |
| 왜 위험한가 | 개인 계정은 회사의 DPA, 감사 로그, 조직 정책, 퇴사자 회수 범위 밖일 수 있습니다. GitHub는 개인용 Copilot Free/Pro/Pro+/Max에서 opt-out하지 않으면 일부 상호작용과 코드 컨텍스트가 모델 개선·학습에 사용될 수 있다고 안내합니다. |
| 확인해야 할 공식 문서/설정 | Copilot 개인 데이터 설정, Copilot Business/Enterprise 데이터 정책, 회사 보안 정책 |
| 안전하게 쓰려면 | 회사 승인 Copilot Business/Enterprise 계정 사용, 조직 정책 적용, 필요한 경우 Content Exclusion 설정 |
| 결론 | 회사 승인 없이 개인 Pro 계정으로 비공개 저장소를 쓰는 것은 제한 또는 금지 대상으로 보는 것이 안전합니다. |
시나리오 2. Cursor Free/Pro에서 Privacy Mode를 켜지 않고 회사 코드를 여는 경우
| 위험도 | 높음 |
| 왜 위험한가 | Cursor는 Privacy Mode가 꺼져 있으면 코드베이스 데이터, 프롬프트, 코드 스니펫, 에디터 액션 등이 기능 개선과 모델 학습에 사용될 수 있다고 설명합니다. |
| 확인해야 할 공식 문서/설정 | Cursor Privacy Mode, Data Use, codebase indexing, .cursorignore |
| 안전하게 쓰려면 | Privacy Mode를 켜고, 팀/엔터프라이즈에서 강제하며, 민감 파일을 인덱싱 제외합니다. |
| 결론 | 회사 코드는 Privacy Mode를 켜지 않은 Cursor Free/Pro에서 열지 않는 것이 안전합니다. |
시나리오 3. Claude Code가 프로젝트 전체를 읽고 테스트 명령을 실행하는 경우
| 위험도 | 중간~높음 |
| 왜 위험한가 | Claude Code는 코드와 명령 출력이 모델 요청 컨텍스트에 포함될 수 있고, 테스트 로그에 secret이나 개인정보가 찍힐 수 있습니다. 다만 Claude Code는 read-only 기본값, 편집·명령 승인, 네트워크 fetch 승인 같은 통제를 제공합니다. |
| 확인해야 할 공식 문서/설정 | Claude Code data usage, security, permissions, MCP 설정 |
| 안전하게 쓰려면 | Team/Enterprise/API 같은 승인된 상업용 계정 사용, 테스트 로그 마스킹, 명령 승인 유지, 민감 파일 제외 |
| 결론 | 승인된 계정과 권한 설정이 있으면 제한적으로 사용할 수 있지만, 전체 프로젝트 분석 전 민감 파일과 로그를 정리해야 합니다. |
시나리오 4. Codex CLI가 로컬 프로젝트에서 파일을 수정하고 명령을 실행하는 경우
| 위험도 | 중간~높음 |
| 왜 위험한가 | 로컬 실행이라도 Codex CLI는 선택한 디렉터리의 코드를 읽고, 파일을 바꾸고, 명령을 실행할 수 있습니다. sandbox와 approval policy가 꺼지거나 우회되면 위험이 커집니다. |
| 확인해야 할 공식 문서/설정 | Codex CLI sandbox, approval policy, data controls, 사용 계정 |
| 안전하게 쓰려면 | 기본 sandbox 유지, --yolo 금지, 작업 디렉터리 제한, 명령 승인 유지, Git diff 검토 |
| 결론 | 로컬 CLI라는 이유만으로 안전하다고 볼 수 없으며, sandbox와 승인 정책이 핵심입니다. |
시나리오 5. Windsurf에서 회사 코드를 인덱싱하는 경우
| 위험도 | 중간~높음 |
| 왜 위험한가 | 코드 인덱싱은 파일 내용, 파일명, 컨텍스트가 AI 도구에 제공될 수 있다는 뜻입니다. Cognition/Windsurf 관련 개인정보 문서는 user content 수집과 서비스 개선 목적 사용을 설명하며, Enterprise 문서는 별도 보호 조건을 설명합니다. |
| 확인해야 할 공식 문서/설정 | Windsurf/Cognition Privacy, Devin Enterprise, Cascade, terminal, MCP, ignore 설정 |
| 안전하게 쓰려면 | Enterprise 조건 확인, 인덱싱 제외 파일 설정, 자동 명령 실행 제한, 민감 저장소 등급 분류 |
| 결론 | 개인/팀 플랜과 Enterprise 조건을 분리해서 판단해야 하며, 민감 저장소는 공식 데이터 처리 조건 확인 전 제한해야 합니다. |
시나리오 6. Gemini CLI 또는 Gemini Code Assist를 회사 프로젝트에 연결하는 경우
| 위험도 | 중간~높음 |
| 왜 위험한가 | 개인·무료 경로와 Google Cloud/Code Assist 기업용 경로의 데이터 처리 조건이 다를 수 있습니다. Google은 unpaid services에 민감·기밀·개인정보를 제출하지 말라고 안내합니다. |
| 확인해야 할 공식 문서/설정 | Gemini API Additional Terms, Gemini Code Assist security, Google Cloud DPA, Vertex AI, telemetry |
| 안전하게 쓰려면 | 회사 Google Cloud 조직, Code Assist Standard/Enterprise 또는 Vertex AI 조건에서 사용하고, 개인·무료 API에는 회사 코드나 고객 데이터를 넣지 않습니다. |
| 결론 | 회사 프로젝트는 개인 Gemini CLI 사용보다 조직 관리형 Google Cloud/Code Assist 조건에서 검토해야 합니다. |
시나리오 7. MCP 서버를 통해 AI 도구가 GitHub, Slack, DB, Jira에 접근하는 경우
| 위험도 | 높음~매우 높음 |
| 왜 위험한가 | MCP는 AI 도구가 외부 시스템의 데이터와 액션을 사용할 수 있게 합니다. GitHub, Slack, Jira, DB 접근 권한이 한 에이전트에 모이면 프롬프트 인젝션, 과도한 권한, 데이터 노출 위험이 커집니다. |
| 확인해야 할 공식 문서/설정 | MCP security best practices, 도구별 MCP 문서, OAuth scope, audit log |
| 안전하게 쓰려면 | 신뢰된 MCP 서버만 허용, read-only 우선, 최소 scope, 도구 호출 전 사용자 확인, 운영 DB 연결 금지 또는 읽기 전용 |
| 결론 | MCP 보안은 AI 코딩 도구 보안의 핵심입니다. 회사에서는 whitelist와 감사 로그 없이는 제한해야 합니다. |
시나리오 8. .env 파일이 포함된 프로젝트를 AI 에이전트에게 분석시키는 경우
| 위험도 | 매우 높음 |
| 왜 위험한가 | .env에는 API 키, DB 비밀번호, JWT secret, OAuth secret, 운영 endpoint가 포함될 수 있습니다. AI 에이전트가 프로젝트 전체를 읽으면 이런 값이 프롬프트, 로그, 명령 출력, 인덱싱 대상에 포함될 수 있습니다. |
| 확인해야 할 공식 문서/설정 | 도구별 ignore, Content Exclusion, Privacy Mode, secret scanning |
| 안전하게 쓰려면 | .env 제거, .env.example만 제공, secret scanning 적용, 노출된 키는 즉시 회전 |
| 결론 | .env가 포함된 상태로 AI 에이전트에게 전체 프로젝트 분석을 맡기면 안 됩니다. |
시나리오 9. 고객 개인정보가 포함된 로그를 AI에게 붙여넣는 경우
| 위험도 | 매우 높음 |
| 왜 위험한가 | 고객 이름, 이메일, 전화번호, 주소, 결제 정보, 세션 토큰이 로그에 포함될 수 있습니다. 이는 개인정보 처리, 고객 계약, 보관 기간, 국외 이전, 접근 통제 문제로 이어질 수 있습니다. |
| 확인해야 할 공식 문서/설정 | Privacy Policy, DPA, retention, data controls, 회사 개인정보 처리 정책 |
| 안전하게 쓰려면 | 로그를 익명화·마스킹하고, 샘플 로그를 재현 데이터로 바꿔 사용합니다. |
| 결론 | 고객 개인정보가 포함된 원본 로그는 AI 도구에 붙여넣지 않는 것이 기본 원칙입니다. |
시나리오 10. AI가 만든 코드를 그대로 프로덕션에 배포하는 경우
| 위험도 | 높음 |
| 왜 위험한가 | AI 생성 코드는 인증/인가 오류, injection, secret 하드코딩, 취약 의존성, 예외 처리 누락을 포함할 수 있습니다. |
| 확인해야 할 공식 문서/설정 | 도구별 responsible use, 보안 리뷰 정책, CI/CD 검사 |
| 안전하게 쓰려면 | Git diff, 코드 리뷰, 테스트, SAST, dependency scan, secret scan을 통과시킨 뒤 배포합니다. |
| 결론 | AI가 만든 코드는 초안으로 보고, 사람의 리뷰와 자동 보안 검사를 거친 뒤 배포해야 합니다. |
19. 개발자용 체크리스트
- 회사의 AI 도구 사용 정책을 확인했는가
- 개인 계정이 아닌 회사 승인 계정을 사용하는가
- Privacy Mode 또는 데이터 학습 opt-out을 확인했는가
- .env, secret, token, key 파일을 제외했는가
- AI가 수정한 코드를 Git diff로 검토했는가
- AI가 만든 코드를 테스트했는가
- AI가 제안한 패키지를 무조건 설치하지 않았는가
- 민감 로그나 고객정보를 붙여넣지 않았는가
- AI 에이전트가 실행하려는 터미널 명령을 읽어봤는가
- MCP 서버가 어떤 권한을 갖는지 확인했는가
- 운영 DB, 운영 API, 배포 권한을 AI 에이전트에 주지 않았는가
- AI가 만든 코드에 인증/인가, injection, secret 노출 문제가 없는지 봤는가
20. 팀 리더/CTO용 체크리스트
- 사용 가능한 AI 도구 목록을 정했는가
- 개인 계정 사용을 허용할지 금지할지 정했는가
- Enterprise/Business 플랜 필요성을 검토했는가
- 저장소 등급별 허용 기준을 정했는가
- 코드 리뷰와 보안 스캔 절차를 정했는가
- 사고 발생 시 로그와 감사 절차를 마련했는가
- SSO, SCIM, RBAC 적용 가능성을 검토했는가
- 퇴사자 계정 회수 절차를 마련했는가
- AI 사용 PR template 또는 commit guideline을 만들었는가
- AI 에이전트가 배포·DB 변경·Git push를 직접 수행하지 못하도록 막았는가
- MCP 서버 whitelist와 승인 프로세스를 만들었는가
21. 보안 담당자용 체크리스트
- 데이터 처리 약관과 DPA를 검토했는가
- 모델 학습 사용 여부를 확인했는가
- 보관 기간과 삭제 정책을 확인했는가
- SSO, SCIM, RBAC, audit log 지원 여부를 확인했는가
- 민감정보 탐지 도구를 적용했는가
- MCP 서버와 외부 도구 연동 권한을 관리하고 있는가
- 프롬프트 인젝션과 supply chain 위험을 고려했는가
- Zero Data Retention이 필요한 저장소 등급을 정했는가
- 관리자 콘솔에서 모델, 기능, 외부 연결을 제한할 수 있는지 확인했는가
- 보안 사고 발생 시 vendor 로그, 내부 로그, Git history를 함께 조사할 수 있는가
- 고규제 데이터가 AI 도구로 전송되지 않도록 DLP 정책을 적용했는가
22. 회사에서 AI 코딩 도구 사용 정책을 만드는 방법
사내 AI 개발 도구 보안 정책은 길고 복잡한 문서보다, 개발자가 실제로 지킬 수 있는 기준이어야 합니다.
정책 문서에 들어가야 할 항목
| 목적 | 생산성 향상과 회사 코드 보호를 동시에 달성 |
| 적용 범위 | IDE, CLI, 웹 챗봇, 에이전트, MCP, 브라우저 확장 |
| 허용 도구 | 회사가 승인한 도구와 플랜 |
| 금지 도구 | 개인 계정, 무료 API, 미승인 SaaS |
| 금지 데이터 | .env, secret, 고객정보, 결제정보, 운영 로그 |
| 저장소 등급 | 공개, 내부, 비공개, 민감, 고규제 |
| 계정 기준 | 회사 계정, SSO, 퇴사자 회수 |
| 데이터 학습 | opt-out 또는 기업용 비학습 조건 |
| 에이전트 권한 | 파일 수정, 터미널, Git, MCP, 배포 명령 기준 |
| 리뷰 절차 | Git diff, PR review, 테스트, 보안 스캔 |
| 사고 대응 | 노출 시 secret rotate, vendor 문의, 로그 조사 |
23. 최종 결론
AI 코딩 도구 보안의 핵심 질문은 “Cursor가 안전한가?”, “GitHub Copilot 보안은 괜찮은가?”, “Claude Code 보안은 충분한가?”, “Codex CLI 보안은 로컬이라 괜찮은가?”가 아닙니다.
더 정확한 질문은 다음입니다.
우리 회사의 어떤 코드와 데이터를, 어떤 계정과 플랜으로, 어떤 데이터 처리 조건과 권한 제한 아래, 어떤 리뷰 절차를 거쳐 사용할 것인가?
개인 개발자는 민감정보를 제거하고 opt-out을 확인하는 것만으로도 위험을 줄일 수 있습니다. 스타트업은 회사 승인 도구 목록, 개인 계정 사용 기준, .env 금지, Git diff 리뷰부터 정해야 합니다. 중견기업은 SSO, SCIM, RBAC, audit log, DPA, 저장소 등급 분류가 필요합니다. 엔터프라이즈는 Zero Data Retention, VPC, 규제 데이터, 공급망 보안, MCP 접근 통제까지 봐야 합니다.
AI 코딩 도구는 회사 코드에 사용할 수 있습니다. 그러나 아무 계정으로, 아무 코드나, 아무 설정 없이 쓰면 안 됩니다.
가장 안전한 접근은 다음 한 줄로 정리할 수 있습니다.
회사 승인 계정 + 데이터 학습 제외 + 민감정보 차단 + 에이전트 권한 제한 + Git diff 검토 + 보안 스캔 + 사내 정책.
10. FAQ
Q1. 회사 코드를 Cursor에 넣어도 되나요?
회사 정책이 허용하고, Privacy Mode가 켜져 있으며, 민감 파일이 제외되어 있다면 제한적으로 검토할 수 있습니다. Cursor는 Privacy Mode가 켜져 있을 때 고객 데이터를 학습에 사용하지 않는다고 설명하지만, Privacy Mode가 꺼져 있으면 코드베이스 데이터와 프롬프트 등이 개선·학습에 사용될 수 있다고 안내합니다. 회사 코드는 개인 설정에 맡기지 말고 팀 또는 엔터프라이즈 정책으로 강제하는 것이 안전합니다.
Q2. GitHub Copilot은 회사 코드를 학습에 사용하나요?
GitHub는 Copilot Business/Enterprise 고객 데이터를 모델 학습에 사용하지 않는다고 설명합니다. 반면 개인용 Copilot Free/Pro/Pro+/Max는 설정에 따라 입력, 출력, 코드 스니펫, 컨텍스트가 모델 개선·학습에 사용될 수 있으므로 opt-out과 회사 정책을 확인해야 합니다. 회사 비공개 저장소는 개인 Pro보다 Business/Enterprise와 조직 정책을 권장합니다.
Q3. Claude Code가 회사 코드를 읽어도 안전한가요?
Claude Code는 Consumer 계정과 Team/Enterprise/API 같은 상업용 조건에서 데이터 사용 기준이 다릅니다. Anthropic은 상업용 조건에서는 고객이 opt-in하지 않는 한 코드나 프롬프트를 생성 모델 학습에 사용하지 않는다고 설명합니다. 그래도 회사 코드를 읽히기 전에는 로컬 transcript, 명령 승인, MCP 서버, 민감 파일 제외를 확인해야 합니다.
Q4. Codex CLI는 로컬에서 실행되면 안전한가요?
로컬에서 실행된다는 말은 안전하다는 뜻이 아닙니다. Codex CLI는 선택한 디렉터리의 코드를 읽고, 파일을 변경하고, 명령을 실행할 수 있는 도구입니다. OpenAI는 sandbox와 approval policy를 제공하지만, 이를 우회하는 옵션은 회사 프로젝트에서 금지하는 것이 안전합니다.
Q5. AI 코딩 도구에 .env 파일이 노출되면 어떻게 되나요?
.env에는 API 키, DB 비밀번호, JWT secret, OAuth secret, 운영 서버 주소가 들어갈 수 있습니다. AI 도구에 노출된 secret은 프롬프트, 로그, 터미널 출력, 인덱싱 대상에 포함될 수 있으므로 이미 유출된 것으로 보고 회전하는 것이 안전합니다. 이후 .gitignore, 도구별 ignore, secret scanning, pre-commit hook을 적용해야 합니다.
Q6. 개인 계정으로 회사 코드를 AI 도구에 넣어도 되나요?
일반적으로 회사 승인 없이는 권장하지 않습니다. 개인 계정은 회사의 DPA, 감사 로그, 계정 회수, 관리자 정책, 모델 학습 설정 통제 범위 밖일 수 있습니다. 회사 코드는 회사 계정, 조직 플랜, 공식 데이터 처리 조건, 보안 정책 안에서 다루는 것이 안전합니다.
Q7. Privacy Mode를 켜면 완전히 안전한가요?
아닙니다. Privacy Mode는 데이터 학습이나 보관 위험을 줄이는 기능일 수 있지만, .env 노출, 터미널 명령 실행, MCP 권한, Git diff 검토 누락, AI 생성 코드 취약점까지 자동으로 해결하지는 않습니다. Privacy Mode는 보안 정책의 한 요소이지 전체 보안 대책이 아닙니다.
Q8. AI 코딩 도구 사용을 회사에서 허용하려면 무엇을 확인해야 하나요?
도구별 Privacy/Data Use 문서, DPA, 보관 기간, 모델 학습 여부, SSO, SCIM, RBAC, audit log, 민감 파일 제외, 에이전트 권한, MCP 연결 정책을 확인해야 합니다. 또한 저장소 등급별로 허용·제한·금지 기준을 나눠야 합니다. 처음에는 민감도가 낮은 저장소에서 파일럿을 진행하는 것이 좋습니다.
Q9. AI가 만든 코드를 그대로 배포해도 되나요?
그대로 배포하면 안 됩니다. AI 생성 코드는 인증/인가 오류, SQL Injection, XSS, CSRF, SSRF, secret 하드코딩, 취약 의존성 같은 문제를 포함할 수 있습니다. Git diff, 코드 리뷰, 테스트, SAST, dependency scan, secret scan을 통과한 뒤 배포해야 합니다. GitHub도 Copilot이 만든 코드를 검토하고 테스트해야 한다고 안내합니다.
Q10. MCP 서버를 AI 코딩 도구에 연결해도 되나요?
MCP 서버 연결은 강력하지만 위험도 큽니다. GitHub, Slack, Jira, DB, 내부 API가 연결되면 AI 에이전트가 여러 시스템 데이터를 읽거나 작업을 수행할 수 있습니다. 신뢰할 수 있는 MCP 서버만 허용하고, 최소 권한, read-only 기본값, 사용자 승인, 감사 로그, prompt injection 방어를 적용해야 합니다.
'DEVEL > ETC' 카테고리의 다른 글
| Claude Code vs Codex CLI vs Gemini CLI 비교: 터미널 AI 코딩 에이전트 선택 가이드 (0) | 2026.06.16 |
|---|---|
| AWS Lightsail vs Vultr vs DigitalOcean: 개인 프로젝트 서버비 비교와 예산별 추천 (0) | 2026.06.15 |
| Cursor vs GitHub Copilot vs Windsurf 비교: 개발자 AI 코딩 도구 실제 선택 가이드 (0) | 2026.06.15 |
| 생성형 AI 비교: ChatGPT, Claude, Grok, Perplexity, Gemini, Copilot (0) | 2025.09.02 |
| 개발자를 위한 ChatGPT GPT-5: 더 똑똑해진 AI와의 협업 (0) | 2025.09.02 |