본문으로 건너뛰기

Cursor의 민감한 프롬프트 오류 수정

Fixing the sensitive prompt error in Cursor

민감한 프롬프트 오류는 합법적인 보안, 의료, 또는 법률 작업 중간에 나타나기 때문에 Cursor에서 가장 혼란스러운 메시지 중 하나입니다. 이 가이드는 이 오류가 실제로 무엇인지, 어떤 입력이 이를 유발하는지, 확실히 막힘을 해제하는 우회 방법, 그리고 차단이 잘못되었을 때 오탐을 보고하는 방법을 설명합니다.

민감한 프롬프트 오류의 의미​

이 오류는 Cursor에서 생성되지 않습니다. Anthropic 측의 안전 분류기에서 오며, 요청이 Claude 모델에 도달하기 전에 검사합니다. 분류기가 결합된 프롬프트와 컨텍스트를 민감하다고 플래그하면 Anthropic이 요청을 거부하고 Cursor가 그 거부를 채팅에 오류로 표시합니다.

차단에 대한 핵심 사실:

  • 모델 결정이 아니라 분류기 결정입니다. 모델은 요청을 절대 보지 못합니다.
  • Anthropic 모델에 적용되므로 Opus 및 Sonnet 변형에서 볼 수 있습니다.
  • 의도나 직함이 아니라 프롬프트에 첨부된 컨텍스트가 유발합니다.
  • 단일 요청에서 발생하고 문구나 컨텍스트를 조금 바꾸면 다음 요청에서는 해제될 수 있습니다.

분류기는 목적이 아니라 텍스처로 작동하므로, 침투 테스터와 공격자가 거의 동일한 텍스트를 제출하면 같은 결과를 받습니다. 이것이 거의 모든 오탐의 근본입니다.

실제로 해결책은 하는 일을 숨기는 것이 아니라 그것을 명확히 진술하고 원시 아티팩트를 첨부 컨텍스트 밖에 두는 것입니다. "근본 원인과 패치를 설명해 줘"라고 쓰는 리뷰어는 유용한 답을 얻습니다. 다듬지 않은 익스플로잇을 "이걸 작동하게 만들어 줘" 옆에 붙여넣는 같은 리뷰어는 차단됩니다. 받는 기술적 깊이는 거의 변하지 않지만 차단 확률은 급격히 떨어집니다.

버그가 아니라 안전 계층입니다

Cursor는 클라이언트에서 이 분류기를 단순히 "끌 수" 없습니다. Anthropic이 호스팅하는 모델에 대해 업스트림에서 강제됩니다. 실용적인 해결책은 보내는 내용을 바꾸거나, 모델을 전환하거나, 둘 다 하는 것입니다.

보게 될 증상​

차단은 몇 가지 인식 가능한 형태로 나타납니다. 증상을 원인과 매칭하면 수정이 빨라집니다.

채팅의 오류 텍스트​

일반적으로 다음 줄 중 하나에 가까운 것을 보게 됩니다:

The request was blocked because it contains sensitive content.
Please rewrite your request or start a new chat.

Error: prompt contains potentially sensitive content (Anthropic)

The model declined this request. This may be due to the content of
your prompt or the attached context. Try rephrasing or removing files.

정확한 문구는 Cursor 버전과 모델 변형에 따라 다르지만 패턴은 안정적입니다: 거부, 재작성 제안, 그리고 때때로 첨부 컨텍스트 언급.

채팅이 응답 중간에 멈춤​

때로 분류기가 요청을 통과시킨 다음 후속 턴에서 걸립니다. 보이는 결과는 중간에 멈춘 응답 뒤에 다음 턴에서 민감도 오류가 오는 것입니다. 이는 보통 어시스턴트의 이전 출력이 대화 기록에 플래그된 텍스트를 도입했음을 의미합니다.

다른 모델에서는 작동함​

같은 프롬프트가 GPT, Gemini, 또는 Grok에서는 성공하지만 Opus나 Sonnet에서는 실패하면 Anthropic 분류기가 제약입니다. 이는 강력한 신호이며 모델 전환 우회 방법을 직접 가리킵니다.

같은 채팅에서 반복 실패​

일부 채팅은 "오염"됩니다: 플래그된 콘텐츠가 기록에 들어가면 이후 모든 턴이 이를 재전송합니다. 오염된 스레드에는 새로 시작하는 것이 종종 유일하게 신뢰할 수 있는 해결책입니다.

하드 차단 전의 조용한 저하​

일부 세션은 완전히 실패하기 전에 저하됩니다. 모델이 답변을 짧게 하고, 하위 단계를 거부하거나, 물어본 것과 다른 질문에 답합니다. 이는 종종 주변 컨텍스트에 대한 초기 분류기 압력입니다. 패턴을 발견하면 하드 오류가 닥치기 전에 컨텍스트를 정리하세요.

턴 사이를 이동하는 실패​

요청이 첫 턴에는 통과하고 세 번째 턴에는 실패할 수 있습니다, 중간의 어시스턴트 출력이 기록에 새 플래그 자료를 추가했기 때문입니다. 이것이 같은 스레드 내에서 재시도하는 것이 신뢰할 수 없는 이유이며, 새 채팅을 시작하면 많은 경우가 해결되는 이유입니다.

유발 요인​

분류기는 프로젝트의 목적이 아니라 패턴에 반응합니다. 다음 범주가 트리거의 대부분을 차지합니다.

트리거발생 이유합법적 워크플로의 예
보안 도구 출력공격 도구처럼 읽힘인젝션 페이로드를 나열하는 Semgrep 또는 Burp 출력
익스플로잇 또는 PoC 코드작동하는 익스플로잇 코드처럼 보임패치 리뷰를 위한 CVE 재현기
원시 스캔 로그플래그된 토큰이 밀집전체 nmap 또는 nuclei 출력을 통째로 붙여넣음
자격 증명 또는 인코딩된 블롭시크릿과 페이로드를 닮음Base64 문자열, 토큰, 또는 해시된 덤프
의료 또는 법률 콘텐츠민감 도메인 키워드HIPAA 또는 규정 준수 리뷰의 노트
게임 콘텐츠의 폭력맥락 밖 폭력적 언어전투 대사 또는 데미지 시스템 설계
대용량 붙여넣기 파일혼합 콘텐츠가 많은 신호를 밀어냄다듬지 않고 첨부한 전체 리포지토리 파일

단일 범주가 단독으로 차단을 유발하는 경우는 드뭅니다. 분류기는 여러 신호가 겹칠 때 발생하는 경향이 있습니다: 예를 들어, 인코딩된 블롭이 있는 원시 스캔 로그를 익스플로잇 형태의 코드 옆에 붙여넣고 "공격 계획"을 요청하는 요청 안에서.

위 범주는 예시일 뿐 완전하지 않습니다. 모델과 분류기가 변함에 따라 새 트리거가 나타나므로, 반복되는 차단은 암기할 고정 목록이 아니라 첨부 컨텍스트에 무엇이 있는지 검사하라는 신호로 취급하세요.

합법적인 작업에서 발생하는 이유​

보안, 의료, 법률 엔지니어링은 분류기가 막도록 설계된 콘텐츠와 정확히 똑같이 보이는 텍스트를 일상적으로 필요로 합니다. 이는 정상이며 예상된 것입니다.

  • 침투 테스트: 익스플로잇 페이로드, PoC, 발견 보고서가 산출물입니다.
  • 멀웨어 분석: 샘플 문자열, 디스어셈블리, IOC는 본질적으로 의심스러워 보입니다.
  • 보안 리뷰: 취약점에 대한 패치를 리뷰하는 것은 취약한 코드를 읽는 것을 의미합니다.
  • 레드팀 도구: 공격적 도구를 작성하거나 디버깅하는 것은 공격적 의도처럼 읽힙니다.

분류기는 어조만으로 "이 CVE를 수정하도록 도와줘"와 "이 CVE를 익스플로잇하도록 도와줘"를 구별할 수 없으므로 정직한 작업이 걸립니다. 귀하의 역할은 같은 기술적 콘텐츠를 공격 계획이 아니라 교정으로 읽히는 형태로 보내는 것입니다.

민감한 요청을 보내기 전의 유용한 테스트: 귀하의 역할에 대한 맥락 없이 낯선 사람이 받은 것처럼 읽어보세요. 첫 문단이 해를 끼치려는 요청으로 오인될 수 있다면 분류기도 아마 그럴 것입니다. 그 낯선 사람을 위해 다시 쓰는 것만으로도 보통 차단이 해제됩니다.

즉각적인 우회 방법​

가장 저렴한 것부터 가장 무거운 것까지 이 목록을 진행하세요. 대부분의 차단은 처음 두세 단계 내에서 해제됩니다.

작업 순서​

선호하는 모델에 머무르는 가장 저렴한 변경으로 시작하세요: 재작성 또는 수정(redact). 실패하면 컨텍스트를 좁히세요. 문구 변경이 더 이상 통하지 않을 때만 모델을 전환하고, 스레드 자체가 문제일 때만 새 채팅을 시작하세요. 이 순서로 작업하면 불필요한 변동을 피하고 바꿀 이유가 없을 때 모델 선택을 안정적으로 유지합니다.

1. 요청 재작성​

방어적 목표를 앞세우고 아티팩트를 중립적으로 설명하세요. "X에 대한 익스플로잇을 작성해 줘"를 "X의 근본 원인과 이를 수정하는 패치를 설명해 줘"로 바꾸세요. "Y를 어떻게 우회합니까"를 "Y를 방지하는 통제는 무엇이고 활성화되어 있는지 어떻게 확인합니까"로 바꾸세요.

2. 의도를 명시적으로 재구성​

첫 문장에 목적을 진술하세요. "방어 목적을 위해", "교정 리뷰의 일환으로", "회귀 테스트를 작성하기 위해" 같은 문구는 원시 텍스트에 없는 맥락을 분류기에 제공합니다.

3. 컨텍스트 분할​

의심스러운 자료를 단독으로 보내고 그것에 대해 좁은 질문을 하세요, 광범위한 "모든 것을 분석해 줘" 요청과 함께 묶는 대신. 겹치는 신호가 적을수록 분류기를 걸릴 확률이 낮아집니다.

4. 플래그된 스니펫 수정​

실제 바이트를 자리 표시자로 교체하세요. REDACTED_TOKEN, REDACTED_PAYLOAD, 또는 <secret-value>로 대체하고 모델에게 리터럴 콘텐츠 대신 구조와 형태에 대해 추론하도록 요청하세요.

Instead of pasting the raw payload:
payload = b"\x90\x90\x90...\xcc"

Paste a redacted form:
payload = b"<REDACTED_SHELLCODE>"
Length: 412 bytes
Ask: what defenses would detect this class of payload at the WAF layer?

5. 새 채팅 시작​

스레드가 이전 플래그된 출력으로 오염되면 새 대화가 그 기록을 버립니다. 이는 오래된 스레드를 정리하려는 것보다 종종 더 빠릅니다.

6. 첨부 컨텍스트 줄이기​

필요하지 않은 @-멘션 파일과 붙여넣기 블록을 분리하세요. 추가 파일마다 분류기가 반응할 표면적이 늘어납니다.

7. 모델 전환​

작업을 비-Anthropic 모델로 이동하세요: GPT, Gemini, 또는 Grok. 분류기는 Anthropic 전용이므로 같은 콘텐츠가 보통 다른 곳에서는 통과합니다.

8. 기다렸다가 재시도​

분류기 동작은 시간에 따라 완벽하게 결정적이지 않습니다. 잠시 기다린 후 재시도하면 변경 없이 성공하는 경우가 있지만, 이것을 주된 수정으로 의존해서는 안 됩니다.

하지 말아야 할 것​

피해야 할 것도 똑같이 중요합니다. 이러한 패턴은 시간을 낭비하고 차단을 악화시킬 수 있기 때문입니다:

  • 같은 차단된 요청을 반복해서 붙여넣지 마세요; 동일한 입력은 동일하게 실패하는 경향이 있습니다
  • "탈옥" 스타일 프롬프트로 에스컬레이션하지 마세요; 민감도를 낮추기보다 높입니다
  • 명확히 하려고 더 많은 원시 콘텐츠를 붙여넣지 마세요; 추가된 컨텍스트는 신호만 더합니다
  • 모델이 오작동한다고 가정하지 마세요; 요청은 모델에 도달한 적이 없습니다
  • 일관되게 실패하기 시작한 스레드를 재사용하지 마세요; 그 기록이 문제입니다
  • 한 단어만 편집하고 즉시 재전송하지 마세요; 작은 편집은 거의 도움이 되지 않고 더 큰 재구성이 도움이 됩니다
가장 빠른 신뢰할 수 있는 경로

상당한 작업에 대한 하드 차단의 경우 먼저 비-Anthropic 모델로 전환한 다음, 나중에 더 짧고 깨끗한 컨텍스트로 Sonnet에서 선택적으로 재시도하세요. 모델을 전환하면 차단이 즉시 해제되고 작업을 계속할 수 있습니다.

장기 예방​

차단은 성가시지만 줄일 수 있습니다. 목표는 컨텍스트를 집중적이고 원시 플래그 자료가 없도록 유지하는 것입니다.

규칙을 집중적이고 짧게 유지​

수백 줄로 긴 .cursor/rules 파일은 많은 요청에 첨부되어 우발적 트리거 가능성을 증가시킵니다. 규칙은 모델이 현재 작업에 실제로 필요한 것으로 범위를 정하세요.

원시 시크릿을 절대 붙여넣지 마세요​

키, 토큰, 덤프를 붙여넣지 마세요. 시크릿 형식에 대해 추론해야 한다면 자리 표시자를 사용하고 형태를 설명하세요. 이는 자격 증명과 블롭 트리거를 완전히 피합니다.

스캔 출력 요약​

천 줄짜리 스캐너 덤프를 붙여넣지 마세요. 중요한 발견을 추출하고, 상위 10개를 유지하고, 나머지는 산문으로 설명하세요. 요약은 플래그된 토큰이 훨씬 적습니다.

필요한 것만 첨부​

전체 디렉터리를 끌어오는 대신 @-멘션을 사용하여 특정 파일을 첨부하세요. 좁은 컨텍스트는 더 저렴하고 분류기를 걸릴 가능성도 낮습니다.

안전 컨텍스트 프로젝트 유지​

반복되는 민감한 작업을 위해, 파일에 정제된 문서 스타일 콘텐츠를 담은 전용 프로젝트를 유지하세요: 원시 아티팩트 대신 근본 원인 정리, 교정 노트, 테스트 계획. 민감한 질문을 그 프로젝트로 향하게 하세요.

어떤 파일이 위험한지 추적​

프로젝트에서 차단을 유발하는 경향이 있는 파일, 예를 들어 원시 스캔 내보내기나 픽스처 페이로드에 대한 짧은 메모를 유지하세요. 필요할 때 이름으로 참조하고 기본적으로 첨부하지 마세요. 유지되는 위험 목록이 매주 같은 트리거를 재발견하는 것보다 낫습니다.

볼륨보다 구조를 선호​

길고 구분 없는 컨텍스트는 겹치는 신호를 초대합니다. 큰 요청을 각각 최소 첨부 콘텐츠를 가진 일련의 작은 단일 목적 요청으로 나누세요. 이는 답변 품질도 향상시키므로 변화가 두 번 보상됩니다.

오염된 채팅은 오염된 채로 남습니다

플래그된 응답이 대화에 들어가면 이후 턴이 이를 기록으로 재전송합니다. 채팅이 반복적으로 실패하기 시작하면 손상된 것으로 취급하고 턴마다 차단과 싸우는 대신 새 채팅을 시작하세요.

보안 및 규정 준수 콘텐츠 작업​

일부 분야는 민감하게 읽히는 콘텐츠를 일상적으로 필요로 합니다. 다음 패턴은 반복적인 차단 없이 그러한 작업을 통과시킵니다.

침투 테스트와 레드팀​

첫 줄부터 작업을 교정으로 구성하고 대상을 추상적으로 유지하세요.

  • 단계별 익스플로잇이 아니라 취약점의 분류와 그 수정에 대해 질문
  • 실제 호스트 이름, 토큰, 페이로드를 자리 표시자로 교체
  • 발견을 산문으로 설명하고 리뷰 중인 특정 코드만 첨부
  • 범위 언어를 명시적으로 유지, 예: "승인된 평가, 범위: 내부 테스트 환경"

멀웨어와 포렌식 분석​

샘플 문자열과 디스어셈블리는 기본적으로 적대적으로 읽히므로, 격리되고 문서화된 패턴이 가장 잘 작동합니다.

  • 원시 샘플을 별도 파일로 옮기고 붙여넣는 대신 이름으로 참조
  • "이것이 무엇을 하는가"가 아니라 동작 분류와 탐지 규칙에 대해 질문
  • 전체 로그를 붙여넣는 대신 지표를 요약
  • 인덱싱된 파일에 정제된 아티팩트를 담은 전용 분석 프로젝트 유지

의료, 법률, 규제 데이터​

규제 도메인의 콘텐츠는 작업이 순전히 기술적일 때도 분류기를 걸릴 수 있는 자체 키워드를 지닙니다.

  • 환자, 클라이언트, 또는 사건 식별자를 제거하고 합성 값으로 교체
  • 기술적 질문을 도메인 서사와 분리 유지
  • 리터럴 레코드 내용보다 스키마와 구조 설명을 선호
  • 실제 레코드를 읽는 대신 데이터의 형태를 설명하고 처리 로직에 대해 질문

정제된 참조 세트 구축​

반복되는 작업을 위해, 같은 자료를 중립적 용어로 설명하는 문서 스타일 파일의 작은 세트를 조립하세요: 근본 원인 정리, 교정 노트, 테스트 계획, 통제 설명. 민감한 질문을 원시 아티팩트가 아니라 그 파일로 향하게 하세요. 몇 주에 걸쳐 이것이 신뢰할 수 있는 경로가 되고 원시 아티팩트 경로는 사라집니다.

합성 데이터도 신호를 지닙니다

이름을 가짜로 바꾸는 것이 도움이 되지만, 밀도 높은 임상 또는 법률 표현은 그 자체로 분류기를 유발할 수 있습니다. 그런 경우 요청을 특정 기술적 질문으로 좁히고 주변 서사를 완전히 버리세요.

모델 전환과 프롬프트 재작성 중 선택​

두 수정 모두 작동하며, 올바른 것은 Claude가 작업에 얼마나 중심적인지에 달려 있습니다.

상황최적의 첫 조치이유
일회성 질문이 차단됨프롬프트 재작성선호하는 모델에 머무르게 함
큰 컨텍스트가 이미 준비됨모델 전환첨부를 처음부터 재구축하는 것을 피함
작업이 특히 Claude를 필요로 함재작성 및 수정Claude의 동작이 여전히 필요함
한 프로젝트에서 반복 차단프로젝트 재구성증상이 아니라 근본 원인을 공략
마감 압박지금 모델 전환, 나중에 재시도차단 해제로 가는 가장 빠른 경로

언제 프롬프트를 재작성할까​

차단이 문구, 구성, 또는 단일 플래그 스니펫에 관한 것일 때 재작성하세요. 이러한 변경은 저렴하고 Claude에 머무르게 하며, 부수 효과로 더 나은 프롬프트를 자주 만들어냅니다, 방어적 구성은 보통 더 명확하기도 하기 때문입니다.

언제 모델을 전환할까​

콘텐츠가 본질적으로 플래그되었거나, 컨텍스트가 크고 재구축 비용이 많이 들거나, 시간 압박을 받을 때 전환하세요. GPT, Gemini, Grok은 Anthropic 분류기를 적용하지 않으므로 같은 자료가 보통 즉시 통과합니다.

언제 프로젝트를 재구성할까​

같은 작업에서 여러 턴에 걸쳐 차단이 반복되면 프로젝트의 파일 자체가 트리거입니다. 원시 아티팩트를 첨부 경로 밖으로 옮기고, 인덱싱된 파일에는 정제된 요약을 유지하고, 민감한 질문을 그 요약으로 향하게 하세요. 이는 각 프롬프트를 패치하는 대신 근본 원인에서 트리거를 제거합니다.

두 도구를 모두 준비하세요

모델 목록에 하나의 Anthropic 모델과 하나의 비-Anthropic 모델을 유지하여 전환이 클릭 한 번이 되도록 하세요. 차단된 요청을 몇 초 만에 옆으로 옮길 수 있는 능력이 이 오류를 하드 정지에서 사소한 우회로 바꿉니다.

Cursor 지원을 통해 Anthropic에 오탐 보고​

차단이 명백히 잘못되어 실제 작업을 막을 때 보고하세요. Cursor는 이러한 보고를 수집하여 패턴을 Anthropic에 전달하며, 같은 주제에 대한 충분한 보고는 시간이 지나면서 분류기 동작을 실제로 바꿉니다.

포함할 내용​

긴 서사가 아니라 재현 가능하고 최소한의 설명을 제공하세요:

Model: Claude Sonnet (or Opus)
Task: reviewing a security patch for CVE-XXXX-YYYY
Prompt (summarized): explain the root cause and write a regression test
Context attached: two files, both sanitized, no secrets

Result: sensitive prompt error, request never reached the model
Reproduced on: 3 attempts in the same chat, 1 attempt in a fresh chat

Notes: same prompt succeeded on GPT and Gemini. This reads as a false
positive on a defensive security workflow.

모델 이름, 정제된 프롬프트, 재현된다는 사실을 포함하세요. 원시 민감 콘텐츠 자체를 보고서에 붙여넣지 마세요; 형태에 대한 설명이면 충분하고 지원 도구의 필터를 다시 트리거하는 것을 피합니다.

어디로 보낼까​

앱 내 지원 양식이나 공개된 지원 주소를 사용하세요. 모델 이름, 정제된 프롬프트, 재현 단계, 방어적 목적에 대한 한 줄 설명을 포함하세요. 원시는 아무것도 첨부하지 마세요. 지원팀이 차단을 재현하지 못하더라도 패턴을 Anthropic에 전달할 수 있으며, 같은 주제에 대한 반복 보고가 결국 분류기를 움직입니다.

좋은 보고 하나가 모호한 보고 열 개를 이깁니다

안정적인 재현과 명확한 방어적 목적이 있는 보고는 "오류가 계속 발생한다"고만 말하는 보고보다 훨씬 유용합니다. 구체성이 패턴을 업스트림에서 실행 가능하게 만듭니다.

빠른 참조 문제 해결 표​

전체 가이드를 다시 읽지 않고 증상에서 수정으로 이동하려면 이 표를 사용하세요.

증상가능한 원인수정
Anthropic 모델에서 첫 전송 시 오류프롬프트나 컨텍스트가 분류기를 걸림재작성, 의도 재구성, 수정, 또는 모델 전환
GPT/Gemini에서는 작동하지만 Opus/Sonnet에서는 안 됨Anthropic 전용 분류기비-Anthropic 모델로 전환
채팅이 응답 중간에 멈추다 오류이전 출력이 이제 기록에서 플래그됨새 채팅 시작
한 스레드에서 매 턴 실패오염된 대화 기록새 채팅 시작; 제자리에서 재시도하지 말 것
파일 첨부 후 실패첨부 콘텐츠가 트리거를 지님첨부 컨텍스트를 줄이거나 정제
큰 붙여넣기에서 실패큰 블록의 혼합 신호더 작고 집중된 요청으로 분할
스캔 또는 익스플로잇 출력에서 실패공격 자료처럼 읽힘원시 출력을 붙여넣는 대신 요약
간헐적, 명확한 트리거 없음분류기 경계 동작한 번 재시도한 후 지속되면 모델 전환

이 모든 것에서 패턴은 같습니다: 분류기는 텍스처를 읽으므로, 보내는 내용의 텍스처를 바꾸거나, 컨텍스트를 좁히거나, 그 분류기를 적용하지 않는 모델로 요청을 옮기면 이깁니다.

오류를 작업에 대한 판단이 아니라 컨텍스트에 대한 신호로 취급하세요. 보내는 내용의 형태를 조정하면 합법적인 보안, 규정 준수, 분석 작업을 계속 진행시키면서, 분류기가 잡도록 만들어진 사례에 대한 안전 계층은 그대로 유지됩니다.

각 차단을 해결한 우회 방법에 대한 짧은 메모를 유지하세요. 시간이 지나면 그 메모가 개인 플레이북이 되고, 다음 차단은 디버깅 세션을 소비하는 대신 몇 초 만에 해제됩니다.