4대 AI 코딩 에이전트가 제로클릭 원격코드실행 취약점에 동시 노출됐어요. 클로드 코드와 코덱스는 패치했지만 코파일럿은 9월 20일 현재도 무방비예요. AI 개발 도구의 공급망 자체가 새로운 공격 표면이 됐다는 신호예요.
솔직히 이 소식 보고 좀 소름 돋았어요. 9월 17일, 보안업체 AIR 소속 연구팀이 'Plugin4Shell'이라는 이름의 취약점을 공개했는데요, 클로드 코드, 오픈AI 코덱스, 깃허브 코파일럿, 구글 제미나이 CLI — 지금 개발자들이 제일 많이 쓰는 AI 코딩 에이전트 네 개가 한꺼번에 걸렸어요. 이름부터 심상치 않죠. 2021년 개발자들을 떨게 했던 그 로그4셸(Log4Shell)을 떠올리게 하는 작명이에요.
핵심은 이거예요. 이 취약점은 AI 모델 자체를 노리지 않아요. 대신 AI 에이전트가 플러그인을 설치할 때 쓰는 SHA 고정(SHA-pinning) 절차를 우회해요. 원래 개발자가 특정 커밋 해시를 지정해두면, 에이전트는 그 해시와 정확히 일치하는 코드만 설치해야 해요. 검수를 통과한 버전에서 몰래 바뀌는 걸 막기 위한 장치죠.
근데 연구팀이 찾은 우회 방법이 허무할 정도로 단순해요. 아래 그림처럼, 공격자가 40자리 커밋 해시와 똑같은 이름의 깃 브랜치를 만들어두면, 일부 에이전트는 체크아웃할 때 실제 커밋 객체보다 이름이 일치하는 브랜치 참조를 먼저 집어요. 그 브랜치 안에 악성 코드를 넣어두면, 에이전트는 "예상한 SHA와 일치한다"고 착각한 채 그 코드를 그대로 설치해버려요. 클릭도, 승인도, 재설치도 필요 없어요.
제미나이 CLI는 방식이 좀 달라요. 의도한 커밋을 받아온 다음 FETCH_HEAD를 체크아웃하는 구조인데, 저장소에 FETCH_HEAD라는 이름의 브랜치를 만들어두면 체크아웃 대상 자체가 통째로 바뀌어버려요. 방식은 달라도 결과는 같아요. 사용자 몰래 코드가 실행되는 거죠.
패치 상황도 회사마다 갈려요. 앤스로픽은 클로드 코드 2.1.179에서, 오픈AI는 코덱스 0.146.0에서 이미 막았어요. 근데 마이크로소프트는 9월 20일 현재까지 코파일럿에 수정 사항을 내놓지 않았고, 구글은 아예 패치 대신 제미나이 CLI 서비스 자체를 단종시키는 쪽을 택했어요. 고친 게 아니라 치워버린 거예요.
사실 이번 건이 무서운 이유는 따로 있어요. 지금까지 AI 보안 얘기는 대부분 "모델이 이상한 대답을 한다"거나 "탈옥당한다" 수준이었는데, 이번엔 완전히 다른 층위예요. 개발자가 매일 쓰는 도구의 공급망 자체가 뚫린 거니까요. 수백만 개의 에이전트 인스턴스가 이 구조를 그대로 쓰고 있었다는 점도 그렇고요.
개인적으로는, AI 코딩 에이전트들이 편의성 경쟁에 너무 몰두하다 보니 기본적인 공급망 보안 검증이 뒷전으로 밀린 게 아닌가 싶어요. 코파일럿을 쓰는 조직이라면 지금 당장 플러그인 정책부터 점검해보는 게 나을 것 같고요.
이 사태, 패치 안 된 도구를 계속 쓰던 회사들한테는 남 일이 아니게 될 수도 있어요.
출처