AI 비서도 뚫린다 — M365 Copilot 명령어 인젝션 RCE(CVE-2026-45497)가 던진 AI 에이전트 보안 질문

🤖 AI Summary
AI 코파일럿과 에이전트가 업무에 빠르게 들어오면서, 공격자가 노릴 면도 함께 넓어졌습니다. 2026년 6월 4일 공개된 CVE-2026-45497은 Microsoft M365 Copilot의 원격 코드 실행(RCE) 취약점으로, 명령에 쓰이는 특수 문자가 제대로 무력화되지 않는 명령어 인젝션(CWE-77)입니다. 점수는 CVSS 7.7(HIGH)이고, 공개 시점 기준 실제 악용 사례는 보고되지 않았습니다(일부 매체의 '9.8 Critical'은 권위 출처와 어긋나는 과장입니다). 이 글에서는 이 취약점이 정확히 무엇인지, 점수를 어떻게 읽어야 하는지, 그리고 자체 AI 에이전트·플러그인을 운영하는 기업이 같은 부류의 위험을 막기 위해 챙겨야 할 입력 검증·최소권한·샌드박싱을 정리합니다.
블로그 목차
AI 비서가 늘어난 만큼, 공격면도 늘었다
AI 코파일럿은 이제 메일을 요약하고, 문서를 만들고, 외부 데이터를 가져와 답을 만들어 줍니다. 편리한 만큼 구조도 달라졌습니다. 사용자의 말과 외부 문서가 AI의 입력이 되고, 그 입력이 다시 도구 호출이나 명령으로 이어지죠. 사람의 입력이 곧 실행으로 연결되는 통로가 생긴 셈입니다.
이 통로에서 입력이 제대로 걸러지지 않으면, 전통적인 웹 취약점이 그대로 재현됩니다. 2026년 6월 공개된 M365 Copilot의 명령어 인젝션 RCE, CVE-2026-45497이 바로 그런 사례입니다.
CVE-2026-45497은 무엇인가 — Copilot에 파고든 명령어 인젝션
Microsoft 보안 업데이트 가이드는 이 취약점을 "Microsoft M365 Copilot Remote Code Execution Vulnerability"로 등록했고, 공개일은 2026년 6월 4일입니다. 공식 설명을 그대로 옮기면 다음과 같습니다.
Microsoft Copilot에서 명령에 사용되는 특수 문자가 부적절하게 무력화되는 명령어 인젝션('command injection')으로, 권한을 가진 공격자가 네트워크를 통해 코드를 실행할 수 있다.
핵심은 명령어 인젝션(CWE-77)입니다. 사용자나 외부에서 들어온 입력이 명령으로 해석되는 자리에서, 특수 문자가 제대로 무력화되지 않으면 공격자가 의도한 명령이 끼어들 수 있습니다. 웹 개발에서 오래 다뤄온 인젝션 결함이, 이번에는 AI 코파일럿이라는 새로운 표면에서 나타난 것입니다.
한 가지 짚어둘 점은 공식 문구가 "권한을 가진(authorized) 공격자"라고 명시한다는 것입니다. 누구나 원격에서 한 번에 뚫는 종류가 아니라, 일정한 접근 권한과 조건이 전제됩니다. 이 전제는 아래 점수에서도 드러납니다.
점수를 정확히 읽기 — 7.7 HIGH, 그리고 'Scope Changed'
이 취약점의 심각도는 출처마다 다르게 도는데, 권위 있는 취약점 데이터베이스(NVD·Tenable·CIRCL 등) 기준으로 정리하면 다음과 같습니다.
항목 | 값 |
|---|---|
CVSS 3.1 점수 | 7.7 (HIGH) |
벡터 | AV:N / AC:H / PR:L / UI:N / S:C / C:H / I:L / A:L |
약점 분류 | CWE-77 (명령어 인젝션) |
악용 정황 | 공개 시점 기준 보고 없음 (Exploit 미확인, E:U) |
네트워크 경로로 공격 가능하지만(AV:N), 공격 복잡도가 높고(AC:H) 낮은 권한이 필요합니다(PR:L). 일부 2차 매체가 '9.8 Critical'로 보도했는데, 이는 권위 출처의 실제 점수(7.7)와도, 벡터와도 어긋나는 값이라 인용하지 않는 편이 정확합니다.
눈여겨볼 메트릭은 S:C(Scope Changed)입니다. 취약한 구성요소에서 시작된 영향이 그 경계를 넘어 다른 자원에까지 미칠 수 있다는 뜻입니다. 일부 분석가는 이를 "Copilot 서비스 컨테이너를 벗어나 다른 M365 구성요소에 영향을 줄 수 있다"고 해석하지만, 이는 Microsoft의 공식 서술이 아니라 S:C 메트릭에 대한 해석이라는 점은 구분해 둘 필요가 있습니다.

아직 악용은 없지만, 왜 중요한가
다행히 공개 시점 기준으로 실제 악용 사례는 보고되지 않았습니다. CVSS 시간 메트릭도 Exploit 미확인(E:U)으로 표기되고, 악용 확률을 추정하는 EPSS 값도 매우 낮습니다. 이 건 자체는 Microsoft의 클라우드 서비스(M365 Copilot) 측 취약점으로 공식 수정(Official Fix)이 존재하는 것으로 표기됩니다.
다만 "고객이 아무것도 안 해도 된다"는 식의 단정은 1차 출처에서 확정해 인용하기 어렵습니다. 최신 상태는 MSRC 보안 업데이트 가이드를 직접 확인하는 편이 안전합니다. 더 중요한 시사점은 따로 있습니다. AI 코파일럿·에이전트라는 새 표면에서 전통적 인젝션이 재현됐다는 사실, 그리고 같은 부류의 위험을 자체 AI 시스템에서는 어떻게 막을 것인가입니다.
자체 AI 에이전트를 운영한다면 — 챙겨야 할 기본
사내에서 LLM에 도구를 붙여 에이전트를 만들거나, 커스텀 플러그인·코파일럿을 운영하는 기업이 늘고 있습니다. 이 경우 CVE-2026-45497이 던지는 질문은 남의 일이 아닙니다. 핵심 원칙은 전통적 보안과 다르지 않습니다.
입력을 명령으로 흘려보내지 않기— 사용자 입력·외부 문서·도구 호출 결과가 셸이나 명령으로 직접 들어가지 않도록 분리하고, 명령 인자는 파라미터화합니다.최소 권한— 에이전트와 플러그인에는 작업에 꼭 필요한 권한만 부여합니다. 영향이 번지는 S:C형 결함일수록 권한 경계가 피해 범위를 좌우합니다.실행 환경 격리— 도구 실행·코드 실행은 샌드박스·격리된 환경에서 수행해, 한 곳이 뚫려도 다른 자원으로 번지지 않게 합니다.외부 콘텐츠를 신뢰 입력으로 다루지 않기— 가져온 문서·웹 결과·메일 본문은 잠재적 공격 입력으로 간주하고 검증합니다.
AI를 빠르게 도입하는 단계일수록, 모델 성능보다 이 입력·권한·격리 설계가 사고를 가르는 경우가 많습니다. 클라우드·AI 인프라를 새로 구성하고 있다면 에이전틱 AI 인프라 체크리스트도 함께 참고하면 좋습니다.
이것만 기억하세요
CVE-2026-45497은 M365 Copilot의 명령어 인젝션(CWE-77) 기반 원격 코드 실행 취약점으로, 2026년 6월 4일 공개됐고 CVSS 7.7 HIGH입니다. 공식 설명은 권한을 가진 공격자가 네트워크를 통해 코드를 실행할 수 있다는 것이고, 공개 시점 기준 실제 악용 사례는 보고되지 않았습니다. 일부 매체의 9.8 Critical은 권위 출처와 어긋나는 과장이며, S:C를 근거로 한 컨테이너 탈출 서술은 공식 사실이 아니라 분석가 해석입니다. 진짜 교훈은 AI 코파일럿·에이전트라는 새 표면에서도 입력 검증·최소권한·실행 격리라는 기본이 그대로 통한다는 점입니다.
자주 묻는 질문 (FAQ)
Q. CVE-2026-45497은 어떤 취약점인가요?
M365 Copilot의 원격 코드 실행(RCE) 취약점입니다. 명령에 쓰이는 특수 문자가 제대로 무력화되지 않는 명령어 인젝션(CWE-77)으로, 권한을 가진 공격자가 네트워크를 통해 코드를 실행할 수 있어요. 2026년 6월 4일 공개됐습니다.
Q. CVSS 점수는 얼마인가요?
CVSS 3.1 기준 7.7 HIGH입니다(벡터 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L). 일부 매체의 '9.8 Critical'은 NVD·Tenable·CIRCL 등 권위 출처의 실제 값과 어긋나는 과장이라 쓰지 않는 게 정확해요.
Q. 이미 악용되고 있나요?
공개 시점 기준 실제 악용 사례는 보고되지 않았습니다(Exploit 미확인 E:U, EPSS 매우 낮음). 다만 AI 코파일럿·에이전트를 겨눈 RCE라는 점은 신호로 볼 만해요.
Q. 우리 회사가 따로 조치해야 하나요?
Microsoft 클라우드 서비스 측 취약점으로 공식 수정이 존재하는 것으로 표기됩니다. 다만 '조치가 전혀 필요 없다'는 단정은 1차 출처에서 확정 인용하기 어려우니 MSRC 가이드를 직접 확인하세요. 더 중요한 건 자체 AI 에이전트에서 같은 위험을 막는 일입니다.
Q. 자체 AI 에이전트를 만들 때 무엇을 조심해야 하나요?
입력이 명령·도구 호출로 그대로 흘러들지 않게 검증·파라미터화하고, 에이전트·플러그인에 최소 권한만 부여하며, 실행 환경을 샌드박싱·격리하는 것이 기본이에요. 외부 문서·도구 결과를 신뢰 입력으로 다루지 않는 설계도 중요합니다.



