월요일에 공개된 한 CVE는 Continue CLI의 파괴적 명령어 차단 기능을 설명합니다. 헤드리스 모드와 자동 모드에서는 기본 정책이 Bash 도구에 allow를 부여합니다. 유일한 강제 차단은 /, /*, ~, ~/*, /usr, /etc, /bin, /sbin 및 그 접두어와 일치하는 위험 경로 검사입니다.
목록에 없는 것
/home, /root, /var, /opt 또는 /srv에 대한 재귀적 강제 삭제는 비활성화되지 않습니다. 더 심각한 점은 명령줄이 shell-quote로 파싱되며, 이 과정에서 $HOME이 빈 토큰으로 축소된다는 것입니다. 따라서 rm -rf $HOME 역시 위험 경로 검사를 통과하지 못하지만, 실제로 명령이 실행될 때 셸이 변수를 다시 확장합니다. 파서와 셸은 문자열의 의미에 대해 서로 다르게 해석하며, 검사는 파서의 결과를 기준으로 수행됩니다. 별도로 find의 -delete는 비활성화가 아니라 높은 위험으로만 평가되고, shred, wipefs, truncate, pkexec는 아예 처리되지 않습니다.
통상적 프레이밍이 놓치는 것
세 가지입니다. 첫째, 흔한 AI-CVE 패턴은 “여러분이 알기도 전에 이미 수정됐다”는 것이지만, 이번 건은 정반대입니다. 영향 범위는 "1.5.47까지"로 명시돼 있으며, 1.5.47은 현재 공개된 릴리스입니다. 수정된 버전은 없습니다. 둘째, 8.3 및 7.4의 HIGH 점수는 보고 CNA가 자체 산정해 Secondary로 태그한 것이며, NVD는 기본 점수를 공개하지 않았습니다. 이를 두고 "NVD가 High로 평가했다"고 쓰면 틀립니다. 셋째, 이 벡터는 조건부이며 단발성 원격 익스플로잇이 아닙니다. CVSS 문자열에는 AC:H와 AT:P가 포함돼 있어, 에이전트가 무인 상태로 실행되고 동시에 공격자가 통제하는 텍스트를 받아들여야 합니다. 레코드의 원문은 "해당 콘텐츠에 대한 간접 프롬프트 인젝션이 무인 실행 과정에서 호출 사용자의 데이터를 파괴할 수 있다"는 것입니다. 현장에서의 악용 증거는 없습니다. 이는 사고 보고가 아니라 차단 목록에 대한 분석입니다.
타임라인이 핵심인 이유
GitHub 이슈는 7월 19일에 열렸으며, CVE와 거의 정확히 같은 제목이 붙었습니다. 현재도 열려 있고, 보이는 유지관리자 응답 없이 36일째입니다. 자동 모드와 헤드리스 모드는 코딩 에이전트가 CI에 투입되는 방식이며, 이번 사례는 차단 목록 방식이 변수 확장에 취약하다는 점을 분명히 보여줍니다.
일반적 교훈
셸이 그 문자열을 나중에 다시 처리한다면, 위험 문자열에 대한 허용 목록/차단 목록은 보안 경계가 아닙니다. 이런 방식으로 Bash를 게이트하는 모든 에이전트 하네스는 동일한 구조적 문제를 안고 있습니다.
