Originally published on ReclaimLLM: [https://reclaimllm.com/blogs/what-is-ai-dlp]
AI DLP는 비밀 정보, 소스 코드, 개인 데이터를 LLM 프롬프트와 에이전트 도구 호출에서 차단합니다. 기존의 DLP와 어떻게 다른지, 그리고 각 제어 장치가 어디에 속하는지를 설명합니다.
AI DLP (AI data loss prevention)는 비밀 정보, 소스 코드 및 개인 정보가 프롬프트, 파일 읽기, 도구 호출 및 도구 출력 등을 통해 AI 모델로 전송되는 것을 막고, 만약 제어가 실패했을 때 무엇이 노출되었는지 기록하는 일련의 통제 장치입니다.
전통적인 데이터 손실 방지(DLP) 소프트웨어는 이메일, USB 드라이브, 파일 업로드 등을 감시합니다. 이러한 도구들은 사람이 알려진 채널을 통해 파일을 이동한다고 가정합니다. 하지만 코딩 에이전트는 다릅니다. 이는 저장소(repo)를 읽고 자체적으로 셸 명령어를 실행한 다음, 그 결과를 일반적인 HTTPS를 통해 모델 API로 전송합니다. 이 가이드는 AI DLP가 무엇인지, 데이터 유출의 네 가지 방식, 제어 장치를 배치할 수 있는 네 가지 지점, 그리고 각 제어 장치가 할 수 없는 것이 무엇인지를 정의합니다.
Claude Code의 .env 케이스를 자세히 알고 싶다면, .claudeignore만으로는 Claude Code가 .env 파일을 읽는 것을 막을 수 없다는 것부터 시작해야 합니다.
기존 DLP가 AI 트래픽을 놓치는 이유
전통적인 DLP는 사람이 다음 세 가지 행동 중 하나를 하는 경우를 찾습니다:
- 이메일. 외부 메일과 첨부 파일을 스캔하여 숫자와 키워드를 확인합니다.
- 노트북(장치). USB 복사, 인쇄 작업, 승인되지 않은 앱으로의 클립보드 붙여넣기를 감시합니다.
- 네트워크. 개인 클라우드 저장소나 붙여넣기 사이트로의 업로드를 감시합니다. CASB (클라우드 애플리케이션 트래픽을 검사하는 제품)가 이 계층에 위치합니다.
AI 코딩 세션은 이러한 이벤트와는 다르게 보입니다. 이는 api.anthropic.com 또는 api.openai.com과 같이 이미 허용된 호스트로의 HTTPS 요청입니다. 본문(body)은 JSON 형식이며, 프롬프트, 파일 발췌본, 또는 명령어의 출력물일 수 있습니다. 목적지(destination)만 확인하는 방화벽은 이를 허용된 API 호출로 간주합니다.
에이전트가 데이터를 '보내는' 주체를 바꾼다
브라우저에서 사용하는 ChatGPT는 보통 사람이 붙여넣기를 기다립니다. 하지만 Claude Code, Cursor, Codex와 같은 에이전트는 그렇지 않습니다. 이들 중 하나에게 데이터베이스 오류를 수정해 달라고 요청하면 다음과 같은 일이 발생할 수 있습니다:
- 프로젝트 전체를 탐색합니다.
.env, config.yaml 또는 자격 증명 파일(credentials file)을 엽니다.
grep, cat 또는 마이그레이션 명령어를 실행합니다.
- 그 출력을 다음 모델 요청에 포함시킵니다.
아무도 이를 붙여넣지 않았습니다. OWASP LLM02:2025의 '민감 정보 노출(Sensitive Information Disclosure)'은 이러한 유형의 유출을 설명합니다. 즉, 팀이 공유할 의도가 아니었던 프롬프트, 로그 및 기타 시스템에 비밀 정보와 개인 데이터가 남게 되는 것입니다. 이는 모든 제공업체가 사용자의 프롬프트를 학습한다는 주장과는 다릅니다. 해당 내용은 반드시 제공업체의 데이터 약관(data terms)을 확인해야 합니다.
2026년 9월의 GitGuardian 연구에 따르면, 공개된 Model Context Protocol (MCP) 서버 설정 파일에서 24,008개의 고유한 비밀 정보가 보고되었으며, 이 중 2,117개는 여전히 유효했습니다. MCP는 어시스턴트가 외부 도구를 호출하는 방식입니다. 이러한 수치는 GitGuardian이 공개 설정을 기반으로 측정한 것이며, 사용자의 저장소(repo) 규모를 나타내는 지표는 아닙니다.
네 가지 유출 경로 (The four leak paths)
| 경로 | 발생하는 일 | 익숙한 예시 |
|---|
| 1. 사람이 붙여넣기 | 텍스트가 프롬프트로 들어감 | 베어러 토큰(bearer token)이 여전히 포함된 curl 명령어 |
| ... | | |
경로 4 때문에 '채팅을 종료했습니다'라는 것이 정리 계획이 될 수 없습니다. 예를 들어, Claude Code는 노트북에 평문 세션 기록(plaintext session transcripts)을 작성합니다. 정확한 폴더와 보존 설정은 위에 연결된 Claude Code 가이드를 참조하십시오.
AI DLP의 네 가지 제어 계층 (The four control layers of AI DLP)
모든 경로에서 제어가 필요합니다. 단일 계층으로는 이 네 가지를 모두 볼 수 없습니다.
<table>
<thead>
<tr>
<th>Layer</th>
<th>Where it runs</th>
<th>What it can do</th>
<th>What it cannot do</th>
</tr>
</thead>
<tbody>
<tr>
<td>1. Tool settings</td>
<td>Assistant 내부 (거부 규칙, 파일 무시, Copilot 콘텐츠 제외)</td>
<td>제품이 알고 있는 일부 파일 읽기 차단</td>
<td>쉘 출력, 스크립트, MCP 도구 등을 놓치는 경우가 많음. 일부 무시 파일은 전혀 강제되지 않음</td>
</tr>
</tbody>
</table>
<p>Hook DLP, 엔드포인트 에이전트(endpoint agents), 그리고 AI 탐지 및 대응(AIDR) 도구에 대한 더 긴 비교는 'Hook DLP vs endpoint AI DLP vs AIDR'에서 확인할 수 있습니다. Hook과 전통적인 엔드포인트 에이전트를 간략하게 비교한 것은 'Hook DLP vs endpoint DLP'입니다.</p>
<p>도구 설정(Tool settings)은 실제로 존재하며 활성화할 가치가 있습니다. 이것 자체가 전체 제어 수단은 아닙니다. GitHub의 Copilot 콘텐츠 제외 기능이나 Cursor의 무시 파일(ignore files)이 예시인데, 이들은 해당 제품이 인덱싱하거나 여는 내용을 변경합니다. 모든 자식 프로세스를 검사하지는 않습니다.</p>
<p>Hook DLP는 기기에서 도구 출력을 볼 수 있는 계층입니다. 훅(hook)은 악성코드 보호 기능도 아니고 모바일 장치 관리(MDM) 시스템도 아닙니다. MDM은 회사 노트북의 설정을 잠그는 시스템입니다. 훅은 사용자가 제거할 수 있는 파일입니다. MDM 없이 커버리지를 측정하는 것은 그것들이 사라졌을 때 어떻게 인지하느냐에 달려 있습니다.</p>
<p>게이트웨이(gateway)는 제공업체 키와 모델 선택을 한 곳에서 관리하고 싶을 때 유용합니다. 이것은 "에이전트가 노트북에서 .env 파일을 열었는지"를 확인하는 데 적합한 도구가 아닙니다. 오직 그를 통해 전송되는 트래픽만 볼 수 있습니다.</p>
<p>탐지(Detection)는 다른 계층들이 놓친 것을 알려줍니다. 설계상 늦습니다. 유일한 차단 수단으로 사용하기보다는 증거 자료로 사용해야 합니다.</p>
<h2>AI DLP가 포착해야 할 것들</h2>
<p>제품에 문의하여 이 중 어떤 것을 처리하는지, 그리고 그것이 차단(block), 마스킹(redaction), 또는 단순히 알림(alert)인지 확인하세요.</p>
<p><strong>자격 증명(Credentials).</strong> 클라우드 키, API 토큰, 비밀번호가 포함된 데이터베이스 URL, 개인 키, 그리고 환경 변수 파일(.env files)입니다. 이것이 바로 Hook DLP가 구축된 경우입니다: 문단에 대한 판단이 아니라 알려진 형태와 정확한 텍스트를 대상으로 합니다.</p>
개인 정보(Personal information). 디버그 붙여넣기에서 발견되는 이름, 이메일 및 고객 행을 의미합니다. 캐나다 조직의 경우, PIPEDA는 여전히 노트북을 벗어나는 개인 정보를 고려하도록 요구합니다. 이를 지원할 수 있는 기술적 통제(technical control)가 있습니다. 이는 법률 자문이 아니며, 제품이 "PIPEDA를 충족한다"는 것을 의미하지 않습니다.
특정 내부 문자열(Specific internal strings). 프롬프트에 포함되기를 원치 않는 내부 호스트 이름입니다. ReclaimLLM은 사용자가 구성한 치환을 적용할 수 있습니다. 즉, 나열된 정확한 텍스트가 나열된 자리 표시자(placeholder)로 대체됩니다. 이것 역시 문자열 일치(string match)일 뿐입니다. 문장이 네트워크를 설명한다고 추론하지는 않습니다.
ReclaimLLM의 후크(hook)는 소스 코드를 이해하거나 모든 개인 이름을 포착한다고 주장하지 않습니다. 만약 공급업체가 모델이 민감한 정보를 "안다"고 말한다면, 규칙을 보여달라고 요청하십시오.
ReclaimLLM이 네 가지 계층에 매핑되는 방식
이는 위의 분류 체계(taxonomy) 중 하나의 구현 사례일 뿐이며, 이 분류 체계가 반드시 이 제품을 요구한다는 의미는 아닙니다.
**도구 설정(Tool settings)**은 사용자의 것입니다. 금지 규칙 및 콘텐츠 제외 기능은 Claude Code, Cursor 또는 Copilot에서 구성됩니다. ReclaimLLM이 이를 대체하지 않습니다.
후크 DLP(Hook DLP). rclm-hooks-install은 VS Code에서 Claude Code, Cursor, Codex, Gemini CLI, 그리고 GitHub Copilot 에이전트 모드에 대한 후크를 등록합니다. Antigravity 설치는 캡처 전용(capture-only)입니다. Copilot 인라인 완성 기능은 이 후크를 통과하지 않습니다. DLP는 기본적으로 활성화되어 있습니다. --no-dlp로 비활성화할 수 있습니다.
도구 결과에 인식된 비밀 정보가 포함되면, 후크는 [REDACTED:API_KEY]와 같은 자리 표시자를 사용하여 모델 요청 전에 해당 값을 대체합니다. 환경 변수 파일 읽기(Env-file reads)는 해당 파일의 값을 숨깁니다. 다른 명령어 출력은 비밀처럼 보이는 값으로 필터링되므로, PORT=5432와 같은 짧은 설정은 키로 간주되지 않습니다. 만약 환경 변수 파일을 안전하게 읽을 수 없거나 크기 제한(파일당 1MB, 작업 공간 내 환경 변수 파일 총합 8MB)을 초과하면 해당 env-file 도구 호출은 차단됩니다. 다른 도구에서 예상치 못한 오류가 발생하더라도 이를 차단하지는 않습니다. 토큰 낭비 측정에서 설명하는 섀도우 모드(Shadow mode)는 이 마스킹 기능을 비활성화하지 않습니다.
--exclude-folder는 특정 경로 아래의 세션에 대한 업로드를 건너뜁니다. 이는 어시스턴트가 해당 폴더를 읽는 것을 막지는 않습니다.
게이트웨이(Gateway). 엔터프라이즈 LLM 게이트웨이는 서버에 제공업체 키를 보관합니다. 개발자는 팀 자격 증명(team credential)을 사용합니다. 관리자(Admins)는 팀이 호출할 수 있는 모델을 제한할 수 있습니다. 이 게이트웨이는 노트북에 머물렀던 파일 읽기 작업이나 제공업체를 직접 가리키는 도구는 볼 수 없습니다.
탐지(Detection). 시스템의 형태를 파악하기에 몇 가지 탐지기가 충분합니다:
- AD-004는 민감 파일 접근을 플래그 지정합니다. 즉각적인 이메일은 모든 접촉에 대한 것이 아니라 심각하게 발견된 사례를 위한 것입니다. 해당 이메일에는 비밀(secret), 프롬프트(prompt) 또는 소스 코드가 포함되어 있지 않습니다.
- AD-005는 조직 자체의 기준선(baseline) 대비 게이트웨이 작업에서 비정상적인 급증을 플래그 지정합니다. AD-006은 조직이 이전에 사용하지 않은 유형의 게이트웨이 작업을 플래그 지정합니다. 둘 다 "승인되지 않은 모델(unapproved model)" 탐지기는 아닙니다.
- AD-010부터 AD-013까지는 커버리지 문제(coverage problems)를 보고합니다: 훅(hooks)이 더 이상 설치되지 않음, DLP 비활성화, 활동을 멈춘 장치, 그리고 일부 라우팅 격차(routing gaps). 자세한 내용과 제한 사항은 커버리지 가이드에 있습니다. 이것들은 잠금장치가 아니라 알림입니다.
보존(Retention). 유료 및 엔터프라이즈 플랜은 저장된 세션을 암호화할 수 있습니다. 복구 키는 한 번만 표시됩니다. 저장 데이터의 지역은 미국(US)과 유럽 연합(EU)입니다. 캐나다 거주 옵션은 없습니다.
워크스루(Walkthroughs): 규정 준수(compliance) 및 시그널(Signals). 문서(Docs): 민감 데이터(sensitive data), 네이티브 훅(native hooks), 게이트웨이(gateway).
모든 AI DLP 제품에 물어봐야 할 여덟 가지 질문
- 모델이 텍스트를 보기 전에 작동하나요, 아니면 그 후에만 작동하나요? 어제 유출된 기록을 남긴다고 해서 오늘 프롬프트가 제공업체 측에서 사라지는 것은 아닙니다.
- 셸 출력(shell output)과 MCP 결과도 볼 수 있나요, 아니면 파일 열기 이벤트만 보나요?
cat 명령어와 스크립트는 무시 파일(ignore file)을 우회하는 일반적인 방법입니다.
- 실제로 어떤 어시스턴트들을 후킹하나요? Claude Code, Cursor, Copilot agent mode, Codex, 그리고 Gemini CLI에 대해 각각 문의해야 합니다. 인라인 완성(inline completions)에는 무슨 일이 일어나나요?
- 후크가 제거되거나 충돌하면 어떻게 되나요? 후크를 제거하는 것은 아무 일도 하지 않으므로, 그 공백을 확인할 방법이 필요합니다. 환경 파일(.env file)을 적색 처리할 수 없을 때 제품은 무엇을 하나요? ReclaimLLM은 해당 도구 호출(tool call)을 차단합니다. 다른 도구에 대한 예상치 못한 오류가 발생하면 어떻게 되나요? 그 호출은 계속 진행됩니다.
- 저장된 사본은 어디에 있으며, 지역을 선택할 수 있나요? 미국(US), 유럽(EU) 또는 실제로 필요한 특정 지역을 확인해야 합니다. '규정 준수한다'는 답변을 지역으로 받아들여서는 안 됩니다.
- 경고 이메일에는 무엇이 포함되어야 하나요? 패턴 이름과 세션 ID가 명시되어야 하며, 비밀 정보(secret)를 담아서는 안 됩니다.
- 다른 모델 없이 발견된 내용을 설명할 수 있나요? 읽을 수 있는 규칙을 선호합니다. AI 코딩 이상 징후(AI coding anomalies)에 대해서는 다른 블랙박스 모델이 아닌 증거가 필요하다는 점은 이 부분에서 더 자세히 다룰 것입니다.
- 무엇을 내보낼 수 있나요? 누가, 어떤 클라이언트가, 어떤 패턴으로, 적색 처리가 되었는지 여부가 담긴 CSV 파일입니다. 내보내기는 감사(audit)를 위한 증거이지, 그 자체가 감사는 아닙니다.
10명에서 100명 규모 팀을 위한 AI DLP
첫날부터 전체 엔드포인트 스위트(endpoint suite)가 필요하지는 않습니다. 실용적인 순서는 다음과 같습니다:
- 어시스턴트 자체의 거부 규칙 또는
.env 및 키 파일에 대한 콘텐츠 제외 기능을 활성화합니다.
- 도구 출력에서 인식된 비밀 정보가 모델 요청으로 전송되기 전에 대체되도록 후크를 설치합니다.
- 여러 사람이 공유하는 경우, 제공업체 키(provider keys)는 게이트웨이 뒤에 배치합니다.
- 미처리 민감 파일 접근에 대한 경고를 활성화하고, 한 달에 한 번씩 후크가 여전히 설치되어 있는지 확인합니다.
이것이 소규모 팀이 운영할 수 있는 LLM 보안 작업입니다. 모든 붙여넣기(paste)를 잡아내지는 못할 것이며, 그 자체만으로는 프레임워크의 요구사항을 충족시키지 못할 것입니다.
AI 코딩 어시스턴트 DLP는 이 설정에 대한 제품 페이지입니다. 민감 데이터 문서는 구성 참조 자료입니다.
자주 묻는 질문 (FAQ)
AI DLP란 무엇인가요?
AI DLP는 AI 도구를 위한 데이터 손실 방지(DLP)입니다. 프롬프트(prompts), 파일 읽기(file reads), 도구 호출(tool calls), 도구 출력(tool output)을 모두 다루며, 민감한 정보가 유출될 때 기록을 남깁니다. 이는 이름만 바꾼 이메일 DLP가 아닙니다.
AI DLP는 기존 DLP와 어떻게 다른가요?
전통적인 DLP는 사람이 파일을 이동하는 채널(메일, USB, 업로드 등)을 감시합니다. AI DLP는 또한 파일을 읽고 명령을 실행한 다음, 일반적인 HTTPS처럼 보이는 모델 API로 텍스트를 전송하는 에이전트까지도 감시해야 합니다.
Claude Code, Cursor, GitHub Copilot과 연동되나요?
제품이 해당 어시스턴트에 후크(hook)를 연결한다면 가능합니다. ReclaimLLM은 Claude Code, Cursor, Copilot 에이전트 모드, Codex, 그리고 Gemini CLI에 후크를 연결합니다. Copilot 인라인 완성 기능은 이 후크를 거치지 않습니다. Antigravity 후크는 캡처용이며, 이번 마스킹(redaction) 경로는 아닙니다. "작동한다"는 것은 해당 후크 지점이 존재한다는 의미입니다. 모든 비밀 정보가 포착된다는 것을 의미하지는 않습니다.
AI DLP가 AI 프롬프트의 비밀 정보를 막을 수 있나요?
요청이 전송되기 전에 알려진 형태(shape)와 일치하거나 사용자가 나열한 문자열과 일치하는 비밀 정보를 제거할 수 있습니다. 일치하지 않는 비밀 정보는 놓칠 수 있습니다. 제공업체(provider)가 프롬프트를 받은 후에는 마스킹으로 되돌릴 수 없습니다.
소규모 회사도 AI DLP가 필요한가요?
개발자가 프로덕션 키(production keys)나 고객 데이터가 있는 장치에서 코딩 에이전트를 실행한다면, 네, 어느 정도의 통제는 필요합니다. 최소한의 조건은 거부 규칙(deny rules), 후크 마스킹, 그리고 해당 후크가 여전히 활성화되어 있음을 확인할 수 있는 방법입니다. 시작하기 위해 MDM(Mobile Device Management)이 필요한 것은 아닙니다.
AI DLP만으로 SOC 2를 충족할 수 있나요?
아닙니다. AI 코딩 도구에 대한 접근 제어(access-control) 및 감사 증거(audit evidence)를 지원할 수는 있지만, SOC 2 감사를 완료하지는 않습니다. ReclaimLLM은 2027년 초에 SOC 2 Type II 인증을 목표로 하고 있습니다. 이는 목표 날짜일 뿐, 인증서가 아닙니다.
원문 출판: [https://reclaimllm.com/blogs/what-is-ai-dlp]