AI는 수십 년 된 코드에서도 숨겨진 소프트웨어 버그를 찾는 데 점점 능숙해지고 있습니다.

추상 기술 이진 코드 진한 빨간색 배경입니다. 사이버 공격, 랜섬웨어, 악성 코드, Scareware 개념

iStock/Getty Images Plus를 통한 WhataWin

ZDNET을 팔로우하세요: 우리를 선호 소스로 추가하세요 Google에서.


ZDNET의 주요 시사점

  • AI는 오래되고 모호한 버그를 찾는 데 예상보다 더 나은 것으로 입증되었습니다.
  • 불행하게도 AI는 해커가 악용할 버그를 찾는 데에도 능숙합니다.
  • 간단히 말해서, AI는 아직 프로그래머나 보안 전문가를 대체할 준비가 되어 있지 않습니다.

최근 LinkedIn 게시물에서 Microsoft Azure CTO Mark Russinovich는 Anthropic의 새로운 AI 모델 Claude Opus 4.6을 사용하여 1986년 Apple II 6502 프로세서용으로 작성한 어셈블리 코드를 읽고 분석했다고 밝혔습니다.

또한: 개발자에 따르면 AI가 오픈 소스 소프트웨어에 저주이자 축복인 이유

Claude는 코드만 설명하는 것이 아닙니다. 이는 그가 “보안 감사”라고 부르는 작업을 수행하여 산술 연산 후 루틴이 캐리 플래그를 확인하지 못한 사례를 포함하여 미묘한 논리 오류를 드러냈습니다.

이는 수십 년 동안 숨어서 잠복해 있던 전형적인 버그입니다.

좋은 소식과 나쁜 소식

Russinovich의 실험은 코드가 오늘날의 언어, 프레임워크 및 보안 체크리스트보다 앞서 있다는 점에서 놀랍습니다. 그러나 AI는 실제 결함을 지적하기 위해 낮은 수준의 제어 흐름과 CPU 플래그를 추론할 수 있었습니다. 베테랑 개발자의 경우 수명이 긴 코드베이스에는 기존 도구와 개발자가 함께 살아가는 방법을 배운 버그가 여전히 있을 수 있다는 점을 상기시켜 줍니다.

또한: 실제적이고 신뢰할 수 있는 제품을 빠르게 출시하는 데 사용하는 7가지 AI 코딩 기술

그러나 이러한 진전에도 불구하고 일부 전문가들은 이 실험이 우려를 불러일으킨다고 믿고 있습니다.

베테랑 시장 진출 엔지니어인 Matthew Trifiro는 다음과 같이 말했습니다. “오, 이런, 제가 보고 있는 게 맞나요? 공격 표면이 지금까지 출시된 모든 컴파일된 바이너리를 포함하도록 확장되었습니다. AI가 40년 된 모호한 아키텍처를 이렇게 잘 리버스 엔지니어링할 수 있다면 현재의 난독화 및 모호함을 통한 보안 접근 방식은 본질적으로 쓸모가 없습니다.”

트리피로가 요점을 지적합니다. 한편으로 AI는 버그를 찾아서 수정할 수 있도록 도와줍니다. 그것은 좋은 소식입니다. 반면에 나쁜 소식은 AI가 아직 사용 중이지만 더 이상 패치나 지원이 되지 않는 프로그램에 침입할 수도 있다는 것입니다.

Lendsqr의 설립자인 Adedeji Olowe는 “이것은 우리가 허용하는 것보다 더 무섭습니다. 전 세계적으로 수십억 개의 레거시 마이크로 컨트롤러가 존재하며, 이들 중 다수가 이와 같이 취약하거나 제대로 감사되지 않은 펌웨어를 실행하고 있을 가능성이 높습니다.”라고 지적했습니다.

또한: Perplexity의 새 컴퓨터는 OpenClaw의 더 안전한 버전입니까? 작동 원리

그는 이어 “실제 의미는 악의적인 행위자가 Opus와 같은 모델을 보내 시스템적으로 취약점을 찾아 악용할 수 있다는 것입니다. 반면 이러한 시스템 중 다수는 사실상 패치가 불가능합니다.”라고 덧붙였습니다.

검출기 도구를 보완하는 LLM

SpotBugs, CodeQL, Snyk Code와 같은 기존 정적 분석 도구는 소스 코드에서 버그 및 취약점과 관련된 패턴을 검색합니다. 이러한 도구는 널 포인터 역참조, 일반적인 삽입 패턴, API 오용 등 잘 알려진 문제를 포착하는 데 탁월하며 대규모 Java 및 기타 언어 코드베이스 전반에 걸쳐 이를 수행합니다.

이제 LLM(대형 언어 모델)이 이러한 대형 탐지 도구를 보완할 수 있다는 것이 분명해졌습니다. 2025년 직접 연구에서 GPT-4.1, Mistral Large 및 DeepSeek V3와 같은 LLM은 여러 오픈 소스 프로젝트에서 버그를 찾는 데 업계 표준 정적 분석기만큼 뛰어났습니다.

또한: 이 새로운 Claude Code Review 도구는 AI 에이전트를 사용하여 버그에 대한 풀 요청을 확인합니다. 방법은 다음과 같습니다.

이 모델들은 어떻게 작업을 수행하나요? LLM은 “이 라인이 규칙 X를 위반합니까?”라고 묻는 대신 “이 시스템이 수행해야 하는 작업을 고려할 때 오류 모드와 공격 경로는 어디에 있습니까?”라고 묻는 것과 같습니다. 이 접근 방식을 결합하면 강력한 조합이 됩니다.

예를 들어 Anthropic의 Claude Opus 4.6 AI는 Firefox의 오픈 소스 코드를 정리하는 데 도움을 줍니다. Mozilla에 따르면 Anthropic의 Frontier Red Team은 사람들이 일반적으로 2개월 동안 보고하는 것보다 단 2주 만에 Firefox에서 심각도가 높은 버그를 더 많이 발견했습니다. Mozilla는 “이는 대규모 AI 지원 분석이 보안 엔지니어의 도구 상자에 새로 추가된 강력하다는 분명한 증거입니다.”라고 선언했습니다.

Anthropic은 코드에서 버그를 찾기 위해 AI 엔진을 사용하는 유일한 조직이 아닙니다. 예를 들어 Black Duck의 Signal 제품은 여러 LLM, MCP(Model Context Protocol) 서버 및 AI 에이전트를 결합하여 실시간으로 코드를 자율적으로 분석하고 취약점을 감지하며 수정 사항을 제안합니다.

또한: Claude Code를 사용하여 8시간 만에 Mac 앱의 분위기 코드를 작성했지만 마술보다 작업이 더 많았습니다.

한편, NCC 그룹과 같은 보안 컨설팅 회사에서는 사람들이 발견하기 어려울 수 있는 잠재적인 버퍼 오버플로 및 기타 메모리 안전 문제를 포함한 보안 문제를 발견하는 데 도움을 주기 위해 Ghidra와 같은 소프트웨어 리버스 엔지니어링 도구용 LLM 기반 플러그인을 실험하고 있습니다.

보안 검사를 AI에 전달

이러한 성공이 보안 검사를 AI에 전달할 준비가 되었다는 의미는 아닙니다. 그것과는 거리가 멀다.

또한: 무료로 바이브 코딩으로 1,200달러를 절약하려고 했으나 금방 후회했습니다.

연구원들은 LLM 기반 버그 찾기가 성숙한 정적 분석 파이프라인을 즉시 대체할 수 없다는 사실을 발견했습니다. AI 코딩 에이전트와 인간 개발자를 비교한 연구에 따르면 AI는 다작일 수 있지만 안전하지 않은 비밀번호 처리 및 안전하지 않은 개체 참조를 포함하여 더 높은 비율로 보안 결함을 발생시키는 것으로 나타났습니다.

CodeRabbit은 “인간이 더 자주 생성하는 버그가 있고 AI가 더 자주 생성하는 버그가 있다는 것을 발견했습니다. 예를 들어 인간은 AI보다 오타와 테스트하기 어려운 코드를 더 많이 생성합니다. 그러나 전체적으로 AI는 인간보다 1.7배 더 많은 버그를 생성했습니다.

코드 생성 도구는 속도를 약속하지만 이로 인해 발생하는 오류로 인해 실패합니다. 단지 작은 버그가 아닙니다. AI는 1.3~1.7배 더 중요하고 중대한 문제를 만들어냈습니다.”

또한: AI를 출시하시나요? 비즈니스에서 실수할 수 없는 5가지 보안 전술과 그 이유

인기 있는 오픈 소스 데이터 전송 프로그램인 cURL의 창시자인 Daniel Stenberg에게 문의하실 수도 있습니다. 그는 자신의 프로젝트가 유지관리자를 무의미한 바쁜 업무에 빠뜨리는 AI가 작성한 가짜 보안 보고서로 가득 차 있다고 큰 소리로 합법적으로 불평했습니다.

이야기의 교훈

올바른 손에 있는 AI는 훌륭한 보조자가 되지만 최고의 프로그래머나 보안 검사자가 될 준비는 되어 있지 않습니다. 언젠가는 그럴 수도 있지만 오늘은 아닙니다. 따라서 기존 도구와 함께 AI를 신중하게 사용하면 프로그램이 현재보다 훨씬 더 안전해집니다.

오래된 코드의 경우에는 정말 걱정스럽습니다. 나는 사람들이 곧 손상될 것이라는 현실적인 두려움 때문에 펌웨어 구동 장치를 교체할 것으로 예상합니다.

관련 기사

댓글 남기기