보안 연구원들은 다양한 AI 기반 코딩 도구와 IDE 확장 프로그램에서 30개 이상의 심각한 취약점을 발견했는데, 이러한 취약점은 데이터 탈취, 구성 변조 및 원격 코드 실행(RCE)에 악용될 수 있습니다.
이번 취약점 발견을 주도한 연구원 Ari Marzouk(MaccariTA)이 "IDEsaster"라고 명명한 이 새로운 취약점 유형은 AI 에이전트가 프롬프트 주입을 통해 합법적인 IDE 기능을 악용하도록 조작될 수 있는 방법을 보여줍니다.
이번 취약점은 Cursor, Windsurf, Kiro.dev, GitHub Copilot, Zed.dev, Roo Code, Junie, Cline, Claude Code, Gemini CLI 등 널리 사용되는 도구들을 포괄합니다. 연구진은 테스트한 모든 AI IDE에서 취약점이 발견되었으며, 현재까지 총 24개의 CVE가 지정되었다고 밝혔습니다.
"이번 연구에서 가장 놀라운 발견은 여러 가지 보편적인 공격 방식이 테스트된 모든 AI IDE에 영향을 미쳤다는 사실이라고 생각합니다."라고 마르주크는 해커 뉴스 에 말했습니다.
IDEsaster는 어떻게 작동하나요?
IDEsaster 연쇄 반응은 세 가지 구성 요소에 의존합니다.
- 프롬프트 주입 – 사용자가 알아차리지 못할 수 있는 파일, URL 또는 텍스트 내에 숨겨진 악의적인 명령어를 입력하여 AI 모델을 조작하는 행위.
- 자동 승인된 AI 도구 작업 – 많은 AI 에이전트는 사용자의 허가를 먼저 받지 않고도 파일을 읽거나 변경할 수 있습니다.
- 정상적인 IDE 기능, 즉 JSON 읽기, 설정 파일 파싱 또는 기타 일반적인 IDE 기능과 같이 일반적으로 개발자에게 도움이 되는 기능조차도 AI 에이전트가 속으면 악용될 수 있습니다.
이전에 버그가 있는 도구에 의존했던 AI 관련 취약점과는 달리, IDEsaster는 합법적인 IDE 기능을 악용하여 일반적인 개발 기능을 데이터 유출이나 원격 코드 실행(RCE) 경로로 전환합니다.
실제 공격 시나리오
연구원들은 여러 가지 심각한 공격 사례를 시연했습니다. 가장 심각한 취약점은 다음과 같습니다.
- 원격 JSON 스키마(예: CVE-2025-49150, CVE-2025-53097) : 공격자는 IDE가 민감한 데이터가 포함된 원격 스키마를 가져오도록 강제하여 공격자가 제어하는 도메인으로 전송할 수 있습니다.
- IDE 설정 덮어쓰기(예: CVE-2025-53773, CVE-2025-54130) : 프롬프트 인젝션을 통해 “.vscode/settings.json ” 또는 “.idea/workspace.xml ” 과 같은 IDE 구성 파일을 수정하여 IDE가 악성 파일을 실행하도록 할 수 있습니다.
- 다중 루트 작업 공간 설정(예: CVE-2025-64660) : 공격자는 작업 공간 설정을 변경하여 쓰기 가능한 실행 파일을 로드하고 악성 코드를 자동으로 실행할 수 있습니다.
모든 경우에 있어, 악성 메시지가 처리된 후에는 이러한 공격은 사용자 상호 작용을 필요로 하지 않습니다. 사용자는 프로젝트를 다시 열거나 새로 고침할 필요 없이 전체 과정이 진행되는 것을 알아차리지 못할 수 있습니다.
AI가 IDE를 더욱 취약하게 만드는 이유는 무엇일까요?
핵심 문제는 LLM이 정상 콘텐츠와 악성 명령어를 확실하게 구분하지 못한다는 점입니다. 단 하나의 변조된 파일 이름, diff 출력, 또는 붙여넣은 URL만으로도 모델을 조작할 수 있습니다.
아이키도 연구원 레인 데일먼은 "이슈 분류, PR 라벨링, 코드 제안 또는 자동 응답에 AI를 사용하는 모든 저장소는 프롬프트 주입, 명령 주입, 비밀 정보 유출, 저장소 손상 및 상위 공급망 손상 위험에 노출되어 있다"고 경고했습니다.
마르주크는 업계가 " AI를 위한 보안"이라는 새로운 사고방식을 채택해야 한다고 강조했습니다. 즉, 개발자는 AI 기반 기능이 현재 어떻게 작동하는지뿐만 아니라 미래에 어떻게 악용될 수 있는지까지 예측해야 한다는 것입니다.
개발자가 스스로를 보호하는 방법
연구원들은 AI IDE를 사용하는 개발자들을 위해 몇 가지 주의 사항을 제시합니다.
- 신뢰할 수 있는 프로젝트, 파일 및 저장소만 사용하십시오.
- 신뢰할 수 있는 모델 컨텍스트 프로토콜(MCP) 서버에만 연결하고 변경 사항을 지속적으로 모니터링하십시오.
- URL 및 외부 소스에서 숨겨진 명령어나 문자를 검토하세요.
- 가능한 한 항상 사람의 개입이 필요하도록 AI 에이전트를 구성하십시오.
AI IDE를 개발하는 개발자들 에게 전문가들은 다음과 같이 권고합니다.
- LLM 도구에 최소 권한 원칙 적용하기
- 잠재적인 공격 경로를 파악하기 위해 기존 및 신규 IDE 기능을 지속적으로 모니터링합니다.
- 신속한 주입이 항상 가능하고 에이전트를 뚫을 수 있다고 가정합니다.
- 신속 주입 벡터 감소
- 강화 시스템 프롬프트 및 LLM 선택 제한
- 명령 실행 샌드박싱
- 무단 데이터 전송을 방지하기 위해 송신 제어 기능을 추가합니다.
- 경로 탐색, 정보 유출 및 명령 주입을 위한 테스트 도구
수백만 명의 개발자가 AI 기반 IDE에 의존하게 되면서, 설계에 보안을 내장해야 할 필요성이 그 어느 때보다 시급해졌습니다.
*참고한 원본 글: https://www.techworm.net/2025/12/researchers-find-30-security-flaws-in-ai-coding-tools.html
댓글