Extracting Recurring Vulnerabilities from Black-Box LLM-Generated Software

이 논문은 LLM 이 생성한 소프트웨어에서 반복적으로 나타나는 취약점을 예측하고 평가하기 위해 프론트엔드 기능만으로 백엔드 취약점을 추론하는 'FSTab'을 제안하고, 최신 코드 생성 모델들에서 높은 공격 성공률과 취약점 포괄성을 입증했습니다.

Tomer Kordonsky, Maayan Yamin, Noam Benzimra, Amit LeVi, Avi Mendelson

게시일 2026-03-10
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🍳 비유: "요리사 AI 와 똑같은 실수"

생각해 보세요. 어떤 유명 요리사 (AI 모델) 가 매일 새로운 요리를 만들어낸다고 칩시다.

  • 문제: 이 요리사는 "스테이크"를 만들 때, 항상 소금 대신 설탕을 넣는 나쁜 습관이 있습니다.
  • 발견: 여러분이 그 요리사가 만든 요리를 맛보면 (프론트엔드), "아, 이 요리사네?"라고 알 수 있습니다. 그리고 그 요리사가 만든 모든 스테이크를 보면, 어디서나 소금 자리에 설탕이 들어갈 것이라고 99% 확신할 수 있습니다.
  • 공격: 만약 해커가 이 요리사의 실수를 알고 있다면, 요리사가 만든 요리를 직접 뜯어보지 않아도 (백엔드 코드 없이), "아, 이 요리는 스테이크를 만들었으니 설탕이 들어갔겠군"이라고 미리 알 수 있습니다. 그리고 그 설탕을 이용해 요리를 망치거나 (공격), 식중독을 유발할 수 있습니다.

이 논문은 바로 이 "AI 요리사의 나쁜 습관 (실수 패턴)"을 찾아내고, 그것을 이용해 미리 공격하는 방법을 연구했습니다.


🔍 핵심 내용 3 가지

1. FSTab: "AI 의 실수 사전" (Feature-Security Table)

연구진은 FSTab이라는 특별한 도구를 만들었습니다.

  • 일반적인 해킹: 해커는 보통 코드를 다 뜯어보고 ("소스 코드 분석") 어디가 약한지 찾습니다.
  • 이 연구의 해킹 (블랙박스): 해커는 코드를 볼 수 없습니다. 대신 "이 프로그램에 로그인 버튼이 있네?", "파일 업로드 기능이 있네?" 같은 눈에 보이는 기능만 봅니다.
  • FSTab 의 역할: "아, 이 프로그램에 '로그인 버튼'이 있고, 이걸 만든 AI 가 'GPT-5.2'라면? 이 AI 는 로그인 기능에서 항상 '비밀번호 암호화 실수'를 저지르더라"라고 **사전 (Lookup Table)**을 뒤져서 알려줍니다.
  • 결과: 코드를 한 줄도 보지 않고, AI 가 만든 프로그램의 약점을 90% 이상 정확히 예측할 수 있었습니다.

2. "습관"은 변하지 않는다 (재발현성)

AI 는 사람처럼 창의적이지 않습니다. 같은 질문을 해도, 같은 기능을 만들어도 항상 같은 나쁜 코드를 작성합니다.

  • 비유: 어떤 사람이 "집에 가는 길"을 설명할 때, 항상 "빨간 신호등에서 멈추지 않고 지나가는" 실수를 한다면, 그 사람이 만든 지도는 어디를 가든 그 실수가 반복될 것입니다.
  • 연구 결과: AI 가 만든 프로그램이 어떤 분야 (쇼핑몰, 블로그, 사내 도구) 가 되든, AI 가 가진 '나쁜 습관'은 그대로 유지되었습니다. 심지어 AI 가 훈련받지 않은 새로운 분야에서도 그 실수가 똑같이 나타났습니다.

3. "모든 AI 가 똑같은 실수를 할까?" (모델 지문)

논문은 각 AI 모델마다 **고유한 '실수 지문'**이 있다고 말합니다.

  • 비유:
    • A 요리사: 항상 '소금'을 '설탕'으로 바꿈.
    • B 요리사: 항상 '양파'를 '마늘'로 바꿈.
    • C 요리사: 항상 '불'을 너무 세게 켜서 타버림.
  • 연구진은 6 가지 최신 AI 모델 (GPT-5.2, Claude-4.5 등) 을 분석했고, 각 모델마다 어떤 기능에서 어떤 실수를 반복하는지를 완벽하게 매핑했습니다. 예를 들어, '파일 업로드' 기능을 만들면 'A 모델'은 항상 특정 취약점을 만들고, 'B 모델'은 또 다른 취약점을 만든다는 식입니다.

⚠️ 왜 이것이 위험할까요?

과거에는 해커가 "이 코드를 하나하나 뜯어봐야 해"라고 생각했지만, 이제는 **"이 프로그램이 어떤 AI 로 만들었는지, 그리고 어떤 기능이 있는지만 알면, 해커는 미리 공격할 준비를 할 수 있다"**는 뜻입니다.

  • 예측 가능한 해킹: "아, 이 쇼핑몰 사이트는 'Claude-4.5'로 만들었구나. 그럼 '결제 기능'에서 보안이 약할 거야. 거기를 노리면 돼!"라고 쉽게 공격할 수 있게 됩니다.
  • 대규모 피해: AI 가 만든 코드가 전 세계에 퍼지면, 그 '나쁜 습관'도 함께 퍼져서 전 세계적으로 같은 취약점이 반복될 수 있습니다.

🛡️ 결론: 무엇을 해야 할까요?

이 연구는 AI 가 코드를 작성할 때 보안을 무시하고 패턴만 반복한다는 것을 경고합니다.

  1. AI 개발자: AI 가 코드를 작성할 때, 단순히 "기능만 잘 나오게" 하는 게 아니라, "보안 실수를 반복하지 않도록" 훈련시켜야 합니다.
  2. 사용자 (개발자): AI 가 만든 코드를 쓸 때, "이 AI 는 어떤 실수를 자주 하나?"를 미리 파악하고, 그 부분을 특히 잘 검사해야 합니다.
  3. 보안 전문가: 이제부터는 "코드를 다 봐야 한다"는 생각을 버리고, "어떤 AI 가 만들었는지, 어떤 기능이 있는지"만 봐도 위험을 예측하는 새로운 방어 전략이 필요합니다.

한 줄 요약:

"AI 는 코드를 만들 때 마치 나쁜 습관을 가진 사람처럼, 같은 실수를 반복합니다. 이 연구는 그 '나쁜 습관'을 찾아내면, 코드를 뜯어보지 않아도 해커가 어디를 공격할지 미리 알 수 있다는 것을 증명했습니다."

이런 논문을 받은편지함으로 받아보세요

관심사에 맞는 일간 또는 주간 다이제스트. Gist 또는 기술 요약을 당신의 언어로.

Digest 사용해 보기 →