앤스로픽(Anthropic)이 LLM을 활용해 123개 실제 오픈소스 라이브러리의 보안 속성을 어셈블리(RISC-V) 코드 수준에서 수학적으로 증명하는 데 성공했다고 발표했습니다. 생산 소프트웨어를 어셈블리 수준에서 대규모로 형식 검증한 것은 이번이 처음이라고 회사 측은 설명했습니다.

무엇을 증명했나
연구진은 Claude를 이용해 오픈소스 라이브러리들의 실행 파일이 64MB 미만의 모든 입력과 모든 모델링된 리눅스 OS 응답·메모리 배치 조건에서도 메모리 안전 오류나 어설션 실패 없이 정상 종료된다는 것을 증명했습니다. 이는 완전한 무결점 보장은 아니지만, 과거 20인년이 걸리던 작업의 일부를 자동화로 달성한 것입니다.
증명을 작성하는 과정에서 Claude는 수조 번의 퍼징 테스트(oss-fuzz)에서도 발견되지 않았던 오랜 버그들을 찾아냈습니다. 증명 결과 일부는 깃허브에 공개돼 누구나 검증·재사용할 수 있습니다.
왜 중요한가
최근 리눅스 커널에서 1천개 이상의 취약점이 공개되는 등, 테스트만으로는 보안을 담보하기 어려워졌습니다. 특히 AI가 사소한 버그들을 연쇄적으로 공격에 활용할 수 있게 되면서, 코드에 버그가 없음을 수학적으로 증명하는 형식 검증의 가치가 커지고 있습니다. 지금까지는 seL4 커널 사례처럼 구현 2인년에 검증 20인년이 드는 초전문 분야였습니다.
전망
앤스로픽은 모델 성능이 좋아질수록 증명 작성 비용이 떨어지고, 형식화된 코드가 축적되면 증명 재사용으로 비용이 더 분산될 것으로 전망합니다. 공동 연구 파트너 Theorem은 다른 오픈소스 프로젝트에 동일 파이프라인을 제공하며, 개발자용 Claude 스킬도 공개했습니다. 향후 안전한 소프트웨어 개발에서 형식 검증이 표준 절차로 자리 잡을 수 있다는 관측이 나옵니다.
자주 묻는 질문
형식 검증이란 무엇인가요?
코드를 수학적 모델로 변환해 정해진 보안 규칙을 항상 따른다는 것을 증명하는 기법으로, 버그가 존재하지 않음을 수학적으로 보장할 수 있습니다.
이번 연구의 성과는 무엇인가요?
Claude로 123개 오픈소스 라이브러리의 어셈블리 수준 보안 속성을 증명했고, 수년간 퍼징 테스트에서도 발견되지 않은 버그를 찾아냈습니다.
왜 어셈블리 수준이 중요한가요?
실제 실행되는 기계 코드에서 메모리 안전성 등을 직접 보장하면, 컴파일러나 환경 차이로 인한 취약점까지 포괄적으로 검증할 수 있기 때문입니다.
일반 개발자도 활용할 수 있나요?
증명 결과와 RISC-V·리눅스 의미론이 깃허브에 공개됐고, Theorem이 개발자 자체 코드 검증을 돕는 Claude 스킬과 파이프라인도 제공합니다.
이 기사는 2026년 10월 23일 기준 공개 정보를 바탕으로 작성되었습니다.
