TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 26 READS

AI로 급조한 퍼저가 FFmpeg에서 0으로 나누기 버그를 찾다

AI로 급조한 퍼저가 FFmpeg에서 0으로 나누기 버그를 찾다
SOURCE IMAGE · HACKER NEWS

오픈소스 멀티미디어 처리의 사실상 표준인 FFmpeg의 이슈 트래커에, 이른바 '바이브코딩(vibecoding)'으로 만든 퍼저(fuzzer)를 이용해 0으로 나누기(division by zero) 버그를 발견했다는 보고가 올라왔다. 보고 제목 자체가 '우리는 바이브코딩한 퍼저로 FFmpeg의 0 나누기 버그를 찾았다'로, 취약점 발굴 도구를 사람이 처음부터 정교하게 짜지 않고 대규모 언어모델(LLM)에 의존해 빠르게 만들어냈다는 점을 전면에 내세우고 있다. 버그 자체는 흔한 유형이지만, 그것을 찾아낸 '방법'이 이 보고가 주목받는 이유다.

FFmpeg라는 거대한 공격 표면

FFmpeg는 동영상·오디오의 인코딩과 디코딩, 변환, 스트리밍을 담당하는 라이브러리이자 도구 모음으로, 브라우저·미디어 서버·클라우드 트랜스코딩 파이프라인·데스크톱 플레이어 등 수많은 소프트웨어의 밑바닥에서 돌아간다. 대부분 C로 작성되어 있고, 세상에 존재하는 온갖 손상되거나 악의적으로 조작된 미디어 파일을 입력으로 받아들여야 하기 때문에 전통적으로 보안 결함이 끊이지 않는 코드베이스다. 이런 특성 탓에 FFmpeg는 오래전부터 퍼징의 단골 대상이었고, 구글의 OSS-Fuzz 같은 대규모 자동화 퍼징 인프라가 상시로 결함을 찾아내 왔다. 다시 말해 퍼징으로 버그를 찾는 일 자체는 새롭지 않다.

'바이브코딩한 퍼저'가 뜻하는 것

새로운 대목은 퍼저를 만든 방식이다. 바이브코딩은 개발자가 세부 구현을 직접 통제하기보다 자연어 지시로 LLM에게 코드를 받아 대략적인 '감(vibe)'에 따라 완성해 나가는 작업 방식을 가리키는 신조어다. 제대로 된 퍼징 하네스를 작성하려면 대상 함수의 입력 형식과 진입점을 이해하고, 커버리지 기반 도구와 연동하고, 크래시를 재현·분류하는 절차를 갖춰야 한다. 이 과정에는 상당한 전문성이 필요했는데, LLM이 그 진입 장벽을 크게 낮춰 놓았다는 것이 이번 사례의 함의다. 보안 도구를 만드는 능력이 특정 전문가 집단에서 일반 개발자 쪽으로 확산되고 있다는 신호로 읽을 수 있다.

0으로 나누기 버그는 파서가 신뢰할 수 없는 입력에서 뽑아낸 값을 검증 없이 나눗셈의 분모로 사용할 때 발생한다. 예컨대 헤더에 기록된 프레임 크기나 샘플 레이트 같은 값이 0인데 이를 그대로 쓰면, C에서는 정수 나눗셈의 경우 SIGFPE로 프로세스가 즉시 죽는다. 임의 코드 실행 같은 고위험 결함은 아니지만, 공격자가 조작한 파일 하나로 미디어 처리 서비스를 반복해서 다운시킬 수 있다는 점에서 서비스 거부(DoS) 관점의 실질적 위협이 된다. 대량의 사용자 업로드를 자동으로 트랜스코딩하는 백엔드라면 특히 신경 써야 할 유형이다.

실무자가 새겨둘 지점

한국의 개발·보안 실무자에게 이 보고가 주는 메시지는 두 갈래다. 하나는 기회다. 사내에서 자체 개발한 파서나 코덱 래퍼, 파일 업로드 처리기처럼 신뢰할 수 없는 입력을 다루는 코드에 대해, 이제는 전담 퍼징 엔지니어가 없어도 LLM의 도움을 받아 기초적인 퍼징 하네스를 빠르게 세워보는 시도가 현실적으로 가능해졌다. 다른 하나는 방어의 기본기다. 외부에서 들어온 수치를 분모나 배열 크기, 반복 횟수로 쓰기 전에 0과 경계값을 검사하는 습관은 여전히 가장 값싸고 확실한 예방책이다.

다만 이 방식에는 분명한 한계도 있다. LLM이 만든 퍼저는 겉보기에 그럴듯해도 실제로는 좁은 입력 공간만 훑거나 잘못된 진입점을 두드리고 있을 수 있어, 산출물의 품질을 사람이 검증하는 과정이 반드시 필요하다. 또한 도구의 진입 장벽이 낮아진 만큼 오탐이나 저심각도 크래시 보고가 늘어나 오픈소스 유지관리자의 분류 부담을 키울 위험도 있다. 발견된 결함이 실제로 악용 가능한지, 단순 크래시에 그치는지를 가려내는 판단은 여전히 사람의 몫이다.

덧붙이면, 이번 보고의 원문 페이지는 AI 스크래퍼 차단 장치(Anubis)의 보호를 받고 있어 구체적인 결함 위치나 재현 조건 같은 세부 기술 정보까지는 확인하기 어려웠다. 그럼에도 'AI로 만든 도구가 AI 차단벽 너머의 오픈소스 프로젝트에서 버그를 찾아 보고한다'는 이 구도 자체가, 소프트웨어 취약점 발굴의 문턱이 어디까지 낮아지고 있는지를 상징적으로 보여준다. 도구는 흔해졌고, 남은 과제는 그 결과를 책임 있게 검증하고 반영하는 사람 쪽의 역량이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/24290
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...