DJI 로봇청소기 사건으로 본 AI 코딩 도구의 보안 위협 거버넌스 과제
바르셀로나에 사는 Sammy Azdoufal은 바캉스 렌탈 플랫폼 Emerald Stay의 AI 전략 담당자다. 보안 연구자가 아니다. 스스로를 "hobby coder"라고 부르는 사람이다.
2026년 2월, 그는 새로 산 DJI Romo 로봇 청소기를 PS5 컨트롤러로 조종하고 싶었다. 앱으로는 충분하지 않았다. 그래서 AI 코딩 도구 Claude Code를 열고, DJI 앱의 통신 구조를 분석한 뒤 같은 프로토콜로 동작하는 자체 클라이언트를 만들었다.
자체 클라이언트가 DJI 서버에 접속한 순간, 예상하지 못한 일이 벌어졌다. 그의 청소기 한 대가 아니라, 24개국에 흩어진 약 7,000대의 DJI Romo가 일제히 응답한 것이다. 9분 만에 10만 건이 넘는 메시지가 쏟아졌다. 실시간 카메라 영상, 마이크 오디오, 집의 2D 평면도, 배터리 잔량, 청소 경로까지 — 다른 사람의 집 안이 통째로 열렸다.
The Verge 기자 Thomas Ricker에게는 직접 시연해 보였다. Ricker가 자신의 DJI Romo 시리얼 넘버(14자리)를 전달하자, Azdoufal은 다른 나라에서 노트북 하나로 Ricker의 집 구조를 정확히 그려냈다. 청소기가 거실을 청소 중이고 배터리가 80% 남아 있다는 것까지 확인했다. DJI의 가정용 배터리 시스템인 DJI Power도 같은 통신 인프라에 연결되어 있었다. 최대 22.5kWh 용량의 전력 기기까지 포함하면, 노출된 기기는 10,000대를 넘었다.
"I found my device was just one in an ocean of devices." Azdoufal의 표현이다.
이 지점에서 누가 멈출 수 있었나?
먼저 짚어야 할 것이 있다. Claude Code는 오픈소스 도구가 아니다. Anthropic이 만든 유료 상용 제품이다. 월 100~200달러의 구독료를 내면 누구나 접근할 수 있는 합법적인 코딩 도구다. 이 사건은 오픈소스 AI의 거버넌스 문제가 아니다. 상용 AI 코딩 도구가 보안 탐색의 진입장벽을 낮추면서 생기는 책임 공백의 문제다.
Azdoufal의 사례가 보여주는 것은 직접적이다. 'hobby coder'를 자처하는 비전문가가 AI 코딩 도구의 도움으로 수시간 만에 리버스 엔지니어링을 완수했다. 과거라면 숙련된 보안 연구자가 수주간 수행할 작업이다.
이것은 Azdoufal만의 일이 아니다. 2022년 IEEE S&P에서 발표된 연구에 따르면, GitHub Copilot이 생성한 코드의 약 40%가 보안 취약점을 포함하고 있었다. 2023년의 후속 연구에서는 29.6%로 나타났다. 2024년에는 전체 데이터 유출 사고의 20%가 AI 생성 코드에서 기인한 것으로 보고됐다. AI 코딩 도구에서 발견된 보안 결함만 30건이 넘는다.
WormGPT 같은 명시적 악성 AI 도구가 있다. 이것들은 처음부터 악의적 목적으로 설계됐다. Claude Code, GitHub Copilot, Cursor 같은 도구는 다르다. 합법적 코딩 도구로 설계됐지만, 그 능력이 보안 경계를 허문다. 의도가 아니라 능력의 문제다. 여기에는 최소 세 주체가 관여한다 — 도구를 만든 쪽, 기기를 만든 쪽, 도구를 사용한 쪽.
이처럼 강력해진 도구가 향한 곳은, 오랫동안 잠기지 않았던 IoT 기기의 문이었다.
이 지점에서 누가 멈출 수 있었나?
AI 도구가 새로운 위협을 만들었을까. 아니다. 이미 열려 있던 문을 더 빨리 찾아낸 것뿐이다.
DJI Romo의 보안 결함은 교과서적이다. 인증은 구현했지만, 인증된 사용자가 다른 모든 기기의 데이터에도 접근할 수 있는 구조였다. 접근 범위를 자기 기기로 제한하는 기초적 격리가 빠져 있었다. 이것은 고급 실수가 아니라, 기초적 방치다.
DJI의 대응을 보자. 1월 말 내부 검토에서 취약점을 식별했다고 한다. 2월 8일 1차 패치, 2월 10일 2차 패치를 배포했다. 그리고 The Verge 취재 당일, DJI 대변인은 "지난주에 이미 해결됐다"는 성명을 보냈다. 문제는, 그 성명 발표 약 30분 후에도 Azdoufal이 여전히 수천 대의 청소기에 접근 가능했다는 것이다. 카메라 피드의 보안 PIN 우회, 평문 데이터 저장, 그리고 Azdoufal이 공개를 보류한 추가 취약점 1건까지 — 잔존 결함은 하나가 아니었다.
DJI가 처음은 아니다. 2016년 미라이 봇넷은 60만 대 이상의 IoT 기기를 감염시켜 대규모 DDoS 공격에 동원했다. 2024년에는 Ecovacs 로봇 청소기가 해킹되어 인종차별 발언이 스피커로 재생되고, 반려동물이 추적당하는 사건이 벌어졌다. 10년이 지나도 같은 패턴이 반복된다. 2024년 기준으로 IoT 기기는 24시간마다 평균 10건의 공격을 받고 있으며, 기업의 75%가 OT/IoT 공격 증가를 인지하고 있다고 응답했다.
가정 내부의 공간 데이터 — 방의 형태, 동선, 생활 리듬 — 가 외부에 노출되는 문제다. 카메라와 마이크가 달린, 집 안을 자율 매핑하는 기기를 만들면서 기초적 접근 제어를 구현하지 않은 것은 단순한 버그가 아니다. 빠른 출시와 가격 경쟁이 보안 투자보다 우선하는 인센티브 구조의 산물이다.
이 지점에서 누가 멈출 수 있었나?
도구 제공자, 기기 제조사, 사용자. 세 주체의 입장을 들어보자.
Anthropic은 이렇게 말할 수 있다. Claude Code는 범용 코딩 도구다. 사용자의 의도까지 통제할 수 없다. 이용약관에 악의적 사용 금지 조항이 있다. 그러나 Azdoufal의 행위는 악의적이 아니었다. 사건 후 Anthropic의 공식 성명은 없었다.
DJI는 이렇게 말했다. 취약점은 인지했고, 패치를 배포했다. 악의적 접근은 없었으며, 실제 피해는 확인되지 않았다. "A backend permission validation issue" — 백엔드 권한 검증 이슈라고 명명했다. 그러나 그 '해결 완료' 성명 30분 후에도 접근이 가능했다.
Azdoufal은 이렇게 말했다. "I didn't infringe any rules. I didn't bypass, I didn't crack, brute force, whatever." 자기 기기를 자기 방식으로 사용한 것이다. 악의는 없었다. 발견 즉시 공개적으로 알리고, 돈이 아니라 수정을 요구했다.
세 주체 모두, 개별적으로 보면 합리적이다. Anthropic은 범용 도구를 만들었다. DJI은 (뒤늦게나마) 패치했다. Azdoufal은 악의 없이 발견 후 공개했다. 그런데 이 세 개의 합리적 입장을 합산하면, 아무도 책임지지 않는 구조가 완성된다.
여기서 고전적 비유가 소환된다. 칼을 만든 자가 칼로 벌어진 일에 책임지는가. 이 비유는 AI 코딩 도구에 맞지 않는다. 칼은 사용자의 기존 능력을 증폭하지 않는다. AI 코딩 도구는 비전문가를 전문가 수준으로 끌어올린다. 증폭의 규모가 칼의 비유 범위를 넘는다. 그래서 책임의 배분도 전통적 도구와 같을 수 없다.
여기서 두 가지 강한 반론을 정면으로 다뤄야 한다. 첫째, "문제의 본질은 AI가 아니라 원래 취약했던 IoT 보안이다." 맞다. AI 없이도 유사한 사건은 반복돼 왔다. 그러나 AI 도구가 바꾼 것은 발견과 재현의 속도다. 수주가 수시간이 됐다. 둘째, "AI 도구가 오히려 취약점의 조기 발견에 기여한다." 이것도 맞다. 이번 건에서도 Azdoufal은 The Verge 시연을 통해 DJI의 패치를 촉진했다. 바로 그래서, 도구를 금지하는 것이 아니라 책임의 배분을 표준화하는 것이 필요하다.
이 공백은 우연이 아니다. 기술 발전 속도와 법·규범 설계 속도의 비대칭이 만든 필연이다.
이 지점에서 누가 멈출 수 있었나?
미국의 컴퓨터 사기 및 남용법(CFAA)은 '권한 없는 접근'을 범죄로 규정한다. 초범 최대 5년, 재범 10년이다. 그러나 '권한 없는 접근'의 정의가 모호하다. Azdoufal은 자기 기기에 대한 정당한 접근에서 출발했고, 시스템이 스스로 추가 접근을 허용했다. 2022년 미 법무부는 선의적 보안 연구에 대한 기소 자제 지침을 발표했지만, Azdoufal의 사례는 그 경계선에 놓인다.
EU의 사이버 복원력법(CRA)은 IoT 제조사에 보안 의무를 부과하는 최초의 포괄적 법안이다. 위반 시 최대 1,500만 유로 또는 전 세계 매출의 2.5%의 벌금이다. 그러나 전면 시행은 2027년 12월이다. 보고 의무조차 2026년 9월에야 시작된다. 법이 발표되면 대중은 '해결됐다'고 생각한다. 그러나 발표와 적용 사이에는 수년의 시간차가 있다.
EU AI Act는 2024년 3월 채택됐다. 그러나 코딩 어시스턴트는 고위험 AI 범주에 해당하지 않는다. AI 도구의 이중 용도 문제를 다루는 프레임워크는 아직 없다. 영국의 PSTI Act는 2024년 4월부터 IoT 기기의 기본 비밀번호를 금지하고 취약점 공개 정책을 의무화한다. 방향은 맞지만, AI 도구와 IoT 보안의 상호작용은 규정하지 않는다.
도구 자체를 규제하면 어떻게 될까. 같은 능력이 정당한 소프트웨어 개발과 보안 침해 모두에 사용된다. 능력을 제한하면 정당한 사용까지 위축된다. 보안 연구자를 보호하는 안전항(safe harbor) 논의도 있지만, Azdoufal이 보안 연구자인지 무단 접근자인지조차 기존 프레임으로는 판단이 어렵다.
이 지점에서 누가 멈출 수 있었나?
AI 코딩 도구는 새로운 위협을 만들지 않았다. 이미 존재하던 위협을 누구나 볼 수 있게 만들었을 뿐이다. 거울은 새로운 것을 만들지 않는다. 이미 있는 것을 비출 뿐이다.
DJI Romo 사건으로 돌아가 보자. Azdoufal이 발견하지 않았다면 어땠을까. 그 7,000대의 '잠기지 않은 문'은 여전히 열려 있었을 것이다. AI 도구는 택시와 같다. 목적지를 정한 것은 승객이고, 문을 잠그지 않은 것은 제조사다. 다만 다음에 올 사람이 PS5 컨트롤러가 아니라 악의를 들고 왔을 수도 있다.
'누가 멈출 수 있었나'라는 질문에 답해야 한다면, 가장 먼저, 가장 쉽게 멈출 수 있었던 것은 DJI였다. 접근 범위를 자기 기기로 격리하는 것은 보안의 기초 중 기초다. 이것을 놓친 것은 부주의가 아니다. 보안 문화의 부재다. 카메라와 마이크가 달린, 집 안을 자율 매핑하는 기기를 만들면서 기초적 접근 제어를 구현하지 않은 것은 설계 실패다.
그러나 DJI 하나를 지목하는 것으로 끝나지 않는다. 능력의 민주화가 일어나고 있다. AI 코딩 도구가 리버스 엔지니어링의 문턱을 낮추고, 과거에는 전문가만 접근할 수 있던 영역이 호기심 있는 엔지니어의 주말 프로젝트가 된다. 이 흐름을 막을 수는 없고, 막아서도 안 된다.
막아야 할 것은 따로 있다. 낮아진 문턱에 맞춰 책임을 재설계하는 것이다. EU CRA가 2027년 전면 시행되면 제조사의 보안 의무가 법적으로 못 박힌다. 그 사이의 공백을 메우는 것이 급하다. 기본값이 안전한 설계. 발견에서 패치까지의 시간차를 줄이는 의무.
능력의 민주화가 책임의 민주화를 자동으로 만들지는 않았을까.
아직은, 아니다.