Amazon Q Developer에서 CVE-2026-12957 공격을 막으려면 AWS Language Server를 1.69.0 버전 이상으로 올리고, .amazonq/mcp.json 설정 파일의 자동 실행을 차단하는 명시적 동의 프롬프트를 켜야 한다. 기업 보안 정책 차원에서 워크스페이스 신뢰 기능을 강제로 적용하고, 개발 환경의 클라우드 자격 증명에 최소 권한 원칙을 적용해 환경 변수 상속으로 인한 정보 유출을 막는 것이 중요하다.
CVE-2026-12957 취약점 개요 및 기업 환경에 미치는 영향
2026년 6월 26일, Wiz Research가 Amazon Q Developer의 VS Code 확장 프로그램에서 MCP(Model Context Protocol) 서버가 자동으로 실행될 수 있는 심각한 취약점을 공개했다. 이 취약점의 식별 번호는 CVE-2026-12957이며, CVSS 점수 8.5를 기록했다. 공격자가 악의적으로 구성한 리포지토리를 만들고 그 안에 .amazonq/mcp.json 파일을 넣으면, 사용자가 해당 폴더를 여는 것만으로 임의 코드 실행(RCE)이 이루어진다.
이 취약점의 가장 위험한 대목은 사용자 개입 없이 백그라운드에서 페이로드가 실행된다는 점이다. mcp.json 파일 안에 bash 명령과 curl을 조합해 aws sts get-caller-identity 명령의 결과를 외부 공격 서버로 보내는 식이다. 기업의 핵심 자산인 클라우드 자격 증명이 이 과정에서 그대로 탈취당할 수 있다. 실제 GitGuardian 조사 결과, 공개 GitHub의 MCP 설정 파일 24,008개에서 이미 비밀 정보가 포함된 것으로 확인됐다. Snyk 보고서에 따르면 기업 환경 MCP 연결 12개 중 1개에서 중요 보안 문제가 발견되었다.
기술적 원인 분석: MCP 자동 실행과 환경 변수 상속 메커니즘
이 취약점의 핵심 기술적 원인은 VS Code의 ‘워크스페이스 신뢰’ 기능을 우회하고 MCP 프로세스가 환경 변수를 상속하는 구조에 있다. 평소엔 신뢰하지 않는 폴더의 스크립트는 실행되지 않지만, Amazon Q 확장이 .amazonq/mcp.json을 읽어 처리하는 과정에서 검증 단계가 빠졌다. 그래서 공격자가 설계한 명령어가 사용자의 로컬 셸에서 바로 실행되는 경로가 생겼다.
더 심각한 문제는 MCP 서버 프로세스가 부모 프로세스에서 전체 환경 변수를 물려받는다는 점이다. 이 때문에 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN 같은 민감한 AWS 자격 증명은 물론 SSH 소켓 정보까지 모두 드러난다. SOCFortress 분석에 의하면 공격은 ‘악의적 리포지토리 클론 → VS Code 폴더 오픈 → Amazon Q 백그라운드 활성화 → 신뢰 검사 누락으로 인한 페이로드 실행’이라는 4단계를 거쳐 매우 빠르게 진행된다. 단순 설정 오차가 아니라 신뢰 경계(Trust Boundary)가 무너진 보안 사고다.
Amazon Q Developer MCP 서버 보안 설정 및 방어 방법
가장 우선적인 방어책은 소프트웨어 패치를 적용하는 것이다. AWS는 2026년 4월 17일 Wiz의 발견 후 4월 20일에 접수해 5월 12일에 패치를 배포했고, 6월 26일에 이를 공개했다. 초기 수정 버전은 AWS Language Server 1.65.0이었고, 1.69.0 버전에서 완전히 수정됐다. 사용자는 IDE 자동 업데이트 기능으로 패치를 적용하고 반드시 IDE를 재시작해 변경 사항을 반영해야 한다.
구체적인 MCP 서버 권한 및 구성 설정 가이드는 다음과 같다. 첫째, .amazonq/mcp.json을 읽을 때 뜨는 명시적 동의 프롬프트를 절대 습관적으로 허용하지 말고, 실행될 command/args 필드가 신뢰할 수 있는 소스인지 꼼꼼히 살핀다. 둘째, 민감한 설정 정보는 절대 mcp.json 파일 안에 텍스트로 넣지 말고 시스템 환경 변수로 관리한다. 셋째, MCP 서버 실행 로그를 항시 감시해 뜻밖의 외부 네트워크 연결이나 비정상적인 CLI 호출이 발생하는지 모니터링 체계를 만든다.
| 구분 | 취약 버전 / 상태 | 조치 완료 버전 / 상태 | 비고 |
|---|---|---|---|
| AWS Language Server | 1.65.0 미만 | 1.69.0 이상 | IDE 재시작 필수 |
| CVE-2026-12957 심각도 | CVSS 8.5 (높음) | 패치 후 위험 감소 | RCE 및 자격 증명 탈취 |
| MCP 실행 방식 | 자동 실행 (취약) | 명시적 동의 후 실행 | 신뢰 경계 강화 |
기업 보안 정책 수립 시 주의사항 및 관리 체계
기업의 CISO 및 보안 담당자는 개별 개발자의 설정에 맡기지 말고 조직 차원에서 강제성 있는 보안 정책을 세워야 한다. 특히 공급망 보안 관점에서 오픈소스 리포지토리나 외부 PR을 받아들일 때, .amazonq/ 폴더가 들어있는지 확인하는 스캐닝 프로세스를 도입해야 한다.
- 워크스페이스 신뢰 강제화: VS Code 설정에서 미신뢰 폴더 내 확장 기능 실행을 기본으로 제한하고, 신뢰할 수 있는 내부 저장소에서 클론한 프로젝트만 신뢰 모드로 전환하도록 강제한다.
- 최소 권한 부여 원칙: 개발자 환경에 부여되는 IAM 역할에 대해 최소 권한(Least Privilege)을 설정하고, 장기 키 대신 임시 세션 토큰을 쓰게 해 유출 시 피해 범위를 줄인다.
- 자격 증명 순환(Rotation) 실시: 패치가 완료된 2026년 5월 12일 이전에 신뢰하지 않는 리포지토리를 열어본 개발자는 즉시 AWS Access Key를 회전시켜 기존 키를 무효화한다.
- AI 도구 도입 프로세스 문서화: MCP 자동 실행 동의/거부 정책을 명문화하고, 신규 AI 코딩 도구 도입 시 OS 수준의 보안 심사와 실행 권한 검토 절차를 밟도록 한다.
- 엔드-오브-라이프(EOL) 대응: Amazon Q Developer IDE 플러그인은 2026년 5월 15일부터 신규 가입이 중단됐으며, 2027년 4월 30일 지원이 끝난다. 이에 따라 약 1년의 마이그레이션 기간 동안 후속 도구인 Kiro로 이동할 계획을 세운다.
실전 완화 조치 및 보안 모범 사례
실무 엔지니어는 도구의 편의성과 보안 사이의 트레이드오프를 명확히 인지해야 한다. Loi Liang Yang의 사례처럼 CloudTrail 조회 등을 위해 MCP 서버를 설정할 땐, aws configure sso로 세션 이름과 프로필을 명확히 정하고 uvx 명령 같은 격리된 실행 환경을 쓰는 것이 좋다. 도구 호출 시 화면에 뜨는 lookup_events 같은 도구 아이콘을 확인하고, ‘Run’ 버튼으로 사용자가 최종 승인하는 ‘명시적 동의’ 절차를 철저히 지킨다.
또한 Claude Code(CVE-2025-59536, CVE-2026-21852), Cursor(CVE-2025-54136), Windsurf(CVE-2026-30615) 등 다른 AI 코딩 도구에서도 유사한 MCP 자동 실행 취약점이 여러 개 발견됐다. 이는 특정 도구의 문제가 아니라 MCP라는 인터페이스가 가진 공통된 위험 요소다. 개발자는 알 수 없는 리포지토리를 클론할 때 극도로 주의해야 하며, 설정 파일이 실제 코드로 실행될 수 있다는 점을 알고 .amazonq/ 폴더 내용을 직접 검증하는 습관을 들여야 한다.
결국 Amazon Q Developer의 MCP 보안 사고를 막으려면 1.69.0 버전 이상의 최신 패치 적용, 워크스페이스 신뢰 설정 강제, 임시 세션 토큰 기반의 최소 권한 관리가 필수다. AI 에이전트의 생산성을 유지하면서 보안 사고를 0%로 만들려면 지금 바로 팀 내 업데이트 상태를 점검하고 자격 증명 순환 여부를 확인해야 한다.