피드로 돌아가기
Dev.toSecurity
원문 읽기
개발자가 1,000개 이상의 AI 코딩 도구 프롬프트를 감사해서 API 키 3개, JWT 토큰, 이메일 12개, 내부 경로 47개 노출 및 프롬프트 세션의 35% 에러 루프 발견
I Audited 1,000+ Prompts I Sent to AI Coding Tools. Here's What I Found.
AI 요약
Context
AI 코딩 도구(Claude Code, Cursor, Codex CLI 등)를 일상적으로 사용하면서 디버깅 시 에러 메시지와 스택 트레이스를 자동으로 프롬프트에 붙여 넣었다. 개발자는 실제로 어떤 데이터를 AI 서비스로 송신했는지 가시성이 없었다. EU AI Act 시행(2025년 8월)으로 조직이 AI 서비스로의 데이터 흐름을 파악해야 하는 상황이 생겼다.
Technical Solution
- 로컬 저장 세션 파일 분석: Claude Code(JSONL, ~/.claude/projects/), Cursor(SQLite, ~/.cursor/), Codex CLI(JSONL), Aider(Markdown), Gemini CLI(JSON) 포맷의 기존 로그를 직접 읽어 처리
- 정규식 기반 민감 정보 감지: API 키(OpenAI, AWS, GitHub, Anthropic, Stripe), JWT 토큰, 이메일, IP 주소, 비밀번호, 환경 변수, 홈 디렉토리 경로 12개 카테고리를 로컬에서만 검사
- 에이전트 에러 루프 감지: 도구 호출(도구 이름 + 대상 파일 + 에러 플래그)을 지문화해서 동일한 실패 방식 반복 패턴 3회 이상 추적
- 프롬프트 품질 점수화: 위치, 길이, 도구 트리거, 에러 복구, 주제 전환, 어휘 고유성 6개 신호로 각 턴을 평가하고 TF-IDF 코사인 유사도로 주제 변화 감지
- 설치 및 실행 간소화: pip install 후 명령어 한 줄로 세션 발견 및 스캔 수행
Impact
- 노출된 민감 정보: API 키 3개, JWT 토큰 1개, 이메일 주소 12개, 내부 파일 경로 47개
- 에이전트 에러 루프율: 35% (세션의 1/3 이상에서 동일한 실패 방식 반복)
- 비생산적 프롬프트 턴 비율: 50~70% ("ok try that", "continue" 같은 지시 없는 응답)
- 생산적 턴 구성: 100턴 세션 중 15~20턴만 파일, 제약, 컨텍스트 명시
- 실행 속도: 전형적 세션 처리 50ms 이하
- 사용자의 디버그 프롬프트 점수: 31/100에서 52/100으로 개선
Key Takeaway
AI 도구 사용 시 의도하지 않은 민감 정보 노출은 에러 메시지 복사-붙여넣기로 발생하므로, 프롬프트를 송신하기 전에 자동 스캔으로 적발할 수 있다. 에러 루프와 비생산적 턴의 가시화는 개발자가 에이전트 세션에 더 빨리 개입해서 토큰 소비와 시간을 절감할 수 있게 한다.
실천 포인트
AI 코딩 도구를 정기적으로 사용하는 팀에서 reprompt 같은 로컬 세션 분석 도구를 도입하면, 프롬프트에서 API 키나 JWT 토큰 노출을 사전에 감지해서 데이터 유출을 방지할 수 있다. 아울러 에이전트 에러 루프 패턴과 비생산적 턴 비율을 측정하면 프롬프트 개선 영역을 구체적으로 파악해서 에이전트 세션 효율을 높일 수 있다.