FFmpeg 제로데이 21개, AI가 단돈 1,000달러에 찾아냈습니다

영상 스트림 주소 하나를 여는 평범한 명령어가 있습니다. ffmpeg -i rtsp://..., 전 세계 미디어 서버와 CCTV가 매일 수억 번 실행하는 가장 일상적인 한 줄이죠. 그런데 이 명령어로 받아온 단 183바이트짜리 패킷 하나가, 당신 컴퓨터의 제어권을 통째로 공격자에게 넘겨줄 수 있다면 어떨까요. 보안 스타트업 depthfirst의 AI 에이전트는 바로 이런 종류의 치명적 결함을, 그것도 수십 년간 전 […]

본문 상단 광고 구역 (승인 후 자동 노출됩니다)

영상 스트림 주소 하나를 여는 평범한 명령어가 있습니다. ffmpeg -i rtsp://..., 전 세계 미디어 서버와 CCTV가 매일 수억 번 실행하는 가장 일상적인 한 줄이죠. 그런데 이 명령어로 받아온 단 183바이트짜리 패킷 하나가, 당신 컴퓨터의 제어권을 통째로 공격자에게 넘겨줄 수 있다면 어떨까요. 보안 스타트업 depthfirst의 AI 에이전트는 바로 이런 종류의 치명적 결함을, 그것도 수십 년간 전 세계 보안 전문가들이 샅샅이 훑어온 FFmpeg 코드에서 21개나 끄집어냈습니다. 더 충격적인 건, 그 모든 작업에 들어간 돈이 고작 1,000달러(약 130만 원)였다는 사실입니다.

AI가 코드를 뚫는 시대, 그 표적은 왜 하필 ‘자원봉사자’였나

먼저 무대를 깔아두죠. FFmpeg는 우리가 매일 쓰는 브라우저부터 거대 스트리밍 플랫폼의 인프라까지, 사실상 모든 곳에서 조용히 영상과 소리를 처리하는 오픈소스 멀티미디어 라이브러리입니다. 약 150만 줄에 달하는, 극도로 최적화된 C 언어 코드로 수백 가지 미디어 포맷을 해석하죠. 쉽게 말하면, 전 세계 디지털 미디어가 흘러가는 거대한 상수도 본관이 바로 FFmpeg인 셈입니다. 그리고 이 본관은 거의 전적으로 무급 자원봉사자들의 손으로 유지됩니다.

2026년 들어 이 상수도관을 향한 AI의 탐침이 부쩍 거세졌습니다. 구글의 Big Sleep(구글 프로젝트 제로와 딥마인드가 만든 AI 취약점 탐지 도구) 팀이 FFmpeg에서 13개의 취약점을 공개했고, 곧이어 Anthropic(앤트로픽)은 자사의 Mythos 모델로 16년 묵은 H.264 관련 결함을 비롯한 여러 보안 문제를 찾아냈습니다. 그중 세 개는 FFmpeg 8.1 버전에서 이미 수정되었죠. 이 흐름의 막내가 바로 depthfirst의 21개 제로데이입니다. 제로데이란 개발자조차 아직 모르고 있어 방어책이 전무한 보안 구멍을 말합니다. 비유하자면, 집주인은 멀쩡하다고 믿고 있는데 도둑만 알고 있는 뒷문인 셈이죠.

여기서 진짜 논쟁이 터졌습니다. AI가 버그를 찾아주는 건 고마운 일 아니냐고요? FFmpeg 측의 반응은 정반대였습니다. 이들은 패치(수정 코드) 없이 던져지는 AI 자동 생성 리포트를 향해 ‘CVE 슬롭(slop)’, 즉 ‘AI가 양산한 쓰레기 신고’라는 날 선 표현까지 동원했습니다. 커뮤니티의 분노는 한 문장으로 압축됩니다.

“패치 없이 AI가 자동 생성한 버그 리포트는, FFmpeg처럼 거의 전부 자원봉사자로 굴러가는 프로젝트에는 완전히 새로운 종류의 부담입니다.”

출처: FFmpeg 공식 입장 (TechSpot 보도)

핵심을 짚어보죠. 조 단위 시가총액을 자랑하는 빅테크가 무료 코드에 의존해 막대한 수익을 올리면서, 정작 그 코드의 취약점은 AI로 대량 색출해 자원봉사자들의 책상 위에 쌓아둡니다. 고치는 건 또다시 봉사자들 몫이고요. FFmpeg 팀이 “구글, 신고는 고맙다. 그런데 자금 지원은 어디 있나”라고 되물은 이유가 여기 있습니다. 문제의 본질은 ‘AI가 버그를 몇 개나 찾느냐’가 아니라, ‘그걸 실제로 고칠 사람에게 누가 권한과 비용을 주느냐’일 수밖에 없습니다.

183바이트 패킷 한 조각이 PC를 통째로 삼키는 방식

그렇다면 depthfirst가 찾은 결함은 정말 그렇게 위험할까요. 마케팅용 과장은 아닐까요. 공개된 기술 분석을 따라가 보면, 오히려 표현이 점잖았다는 인상마저 받게 됩니다. 21개 중 9개는 이미 CVE 식별번호(CVE-2026-39210부터 39218까지)를 부여받은 공식 취약점입니다. 그리고 이 버그들의 나이가 섬뜩합니다. 2003년 SDT 구현 당시 심어진 스택 오버플로 결함은 무려 23년을 잠복했고, 2005년 추가된 MPEG4-AAC 관련 코드의 구멍은 20년 넘게 그 자리에 있었습니다. 비유하자면, 20년간 수백 명이 드나든 건물에서 아무도 못 보던 균열을 AI가 하루아침에 찾아낸 격이죠.

그중에서도 보고서가 가장 공들여 해부한 건 AV1 영상의 RTP 처리 코드(rtpdec_av1.c)에 있던 힙 버퍼 오버플로입니다. 용어가 험하니 한 겹 풀어보죠. RTP는 영상을 잘게 쪼개 네트워크로 실어 나르는 운반 규약이고, 그 영상 조각들 사이에는 ‘시간 구분자(Temporal Delimiter)’라는 작은 표식이 끼어 있습니다. 표준은 이 표식을 만나면 “무시하고 버려라”라고 지시하죠. 그런데 FFmpeg 코드는 이 표식을 버리면서, 글씨를 쓸 종이는 마련하지 않은 채 펜 끝 위치만 앞으로 훌쩍 옮겨버렸습니다. 즉 이것은 할당하지도 않은 메모리 영역에 공격자가 원하는 데이터를 정확히 써넣을 수 있게 된 셈입니다.

결과는 교과서적인 원격 코드 실행이었습니다. depthfirst 연구진은 단 183바이트짜리 RTP 패킷 하나로, FFmpeg 내부의 함수 포인터를 조작해 프로그램 실행 흐름을 통째로 탈취하는 개념 증명(PoC)을 완성했습니다. 디버거 화면에 찍힌 0xdeadbeef는, 그 자리에 어떤 악성 주소든 들어갈 수 있다는 무언의 경고였죠. 무서운 대목은 공격 조건이 전혀 까다롭지 않다는 점입니다. 별도의 인증도, 사용자의 추가 클릭도, 수상한 설정 옵션도 필요 없습니다. 그저 피해자가 공격자가 심어둔 RTSP 주소를 한 번 여는 것만으로 충분합니다. 사용자가 만든 스트림 주소를 받아 처리하는 미디어 수집 파이프라인, RTSP 피드를 끌어오는 CCTV·감시 시스템, 원격 영상을 변환하는 트랜스코딩 서비스가 전부 사정권 안에 들어옵니다.

주목할 비용 구조도 있습니다. depthfirst는 이 21개를 약 1,000달러에 찾아냈는데, 이는 앞서 Anthropic이 Mythos로 유사 작업에 쓴 비용의 10분의 1 수준이라고 밝혔습니다. 사람이 직접 했다면 건당 1만 달러를 호가했을 작업이죠. 방어자 입장에서 이 숫자는 양날의 검입니다. 같은 도구가 공격자 손에 들어가는 순간, 취약점 색출 비용이 수백만 원대로 내려앉는다는 뜻이니까요.

결론 및 마무리

이번 사건의 진짜 주인공은 21개의 버그가 아니라, 그 버그를 둘러싼 사람들입니다. 한쪽엔 AI라는 무한한 탐색 도구를 쥔 거대 기업이 있고, 반대편엔 퇴근 후 시간을 쪼개 세계의 미디어 본관을 떠받치는 소수의 자원봉사자가 있습니다. AI는 양쪽의 비대칭을 그 어느 때보다 또렷하게 드러냈습니다.

이제 보안 경쟁의 무게중심은 ‘결함을 찾는 능력’에서 ‘결함을 책임지고 메우는 체력’으로 옮겨갈 수밖에 없습니다. 발견은 1,000달러로 자동화됐지만, 검증과 수정과 배포는 여전히 지치고 인간적인 노동이기 때문이죠. AI가 신고서를 무한히 찍어낼수록, 그 신고서를 받아 코드를 고칠 손은 오히려 더 귀해집니다.

그래서 다음 국면의 관전 포인트는 분명합니다. 오픈소스에 무임승차해온 빅테크가 발견의 자동화에 더해 ‘수정의 재원’까지 떠안을 것인가. FFmpeg가 던진 “자금은 어디 있나”라는 질문에 산업이 어떤 답을 내놓느냐가, 앞으로 우리가 매일 여는 영상 한 편의 안전을 가를 분기점이 됩니다. AI는 뒷문을 찾아주는 데까지는 탁월합니다. 다만 그 문을 잠그는 일은, 끝내 사람의 몫으로 남아 있습니다.

본문 하단 광고 구역