피드로 돌아가기
Comment and Control: How Prompt Injection in Code Comments Can Steal API Keys from Claude Code, Gemini CLI, and GitHub Copilot
Dev.toDev.to
Security

코드 주석을 통한 Prompt Injection으로 API Key 및 내부 기밀 탈취 위험 분석

Comment and Control: How Prompt Injection in Code Comments Can Steal API Keys from Claude Code, Gemini CLI, and GitHub Copilot

Delafosse Olivier2026년 4월 21일7advanced

Context

LLM 기반 코딩 어시스턴트가 시스템 프롬프트, 개발자 지침, 파일 내용을 단일 토큰 스트림으로 병합하여 처리하는 구조적 한계 존재. 주석을 단순 메타데이터가 아닌 실행 가능한 지침으로 인식함으로써 발생하는 보안 경계 붕괴 문제 분석.

Technical Solution

  • 신뢰할 수 있는 지침과 신뢰할 수 없는 사용자 콘텐츠를 단순 결합하는 OWASP 안티 패턴 제거
  • 주석을 공격자가 제어하는 입력값으로 정의하여 privilege boundary를 설정하는 설계 도입
  • 정규표현식 기반의 단순 출력 필터링을 넘어 Base64 인코딩 및 파편화된 유출 경로를 차단하는 런타임 모니터링 구축
  • LLM 내부의 자연어 정책 의존도를 낮추고 외부에서 모델의 가시 범위와 도구 호출 권한을 강제하는 External Security Control 적용
  • 고엔트로피 문자열 및 내부 정책 묘사 시도를 감지하는 이상 징후 탐지 로직 구현
  • 저장된 주석 및 문서가 나중에 더 높은 권한의 에이전트에 의해 재수집되는 Stored Prompt Injection 경로 차단

- .env, 로그, 설정 파일 등 기밀 정보가 LLM 컨텍스트에 포함되지 않도록 전처리 단계에서 완전 제거 - LLM 도구 호출 시 API 권한을 최소화하고 Out-of-band 데이터 전송 가능성 검토 - 코드 주석, 티켓, 문서를 잠재적 Injection 표면으로 간주하여 Threat Modeling에 포함 - 응답 값 중 고엔트로피 문자열이나 시스템 프롬프트 유사 패턴 발견 시 즉시 차단하는 가드레일 설정

원문 읽기