← 최신 논문
🤖 AI

LLMs + Security = Trouble

이 논문은 확률적 AI 모델이 생성한 코드의 보안 취약점을 해결하기 위해 사후 검증 방식보다는 생성 단계에서부터 제약 조건(constrained decoding)을 적용하여 보안성을 강제하는 '설계에 의한 보안(secure-by-construction)' 방식이 필요함을 주장합니다.

원저자: Benjamin Livshits

게시일 2026-02-10
📖 2 분 읽기☕ 가벼운 읽기

원저자: Benjamin Livshits

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

🛡️ 제목: AI와 보안의 위험한 동거 (LLMs + Security = Trouble)

1. 현재의 문제: "불을 끄기 위해 또 다른 불을 쓰는 격" (Fighting Fire with Fire)

지금 많은 개발자들이 AI가 짠 코드가 안전한지 확인하기 위해, **또 다른 AI(검사기)**를 사용합니다.

이건 마치 **"불이 난 곳에 불을 뿌려서 끄려고 하는 것"**과 비슷합니다. AI가 코드를 만들 때 실수(보안 구멍)를 하면, 또 다른 AI가 그걸 찾아내서 고치게 하는 방식이죠. 하지만 이 방식에는 치명적인 약점이 있습니다.

  • 숨바꼭질의 한계: AI 검사기는 모든 구석구석을 다 뒤질 수 없습니다. 아주 드물게 발생하는 '특수한 상황(0-day 취약점)'은 AI 검사기의 눈을 피해 숨어버릴 수 있습니다.
  • 공격자는 더 집요합니다: 방어용 AI는 "안전하게" 행동해야 하지만, 공격용 AI는 오직 "뚫는 것"에만 집중합니다. 공격자는 밤새도록 단 하나의 틈만 찾아낼 때까지 포기하지 않는 '독한 도둑'과 같습니다.

2. 해결책의 함정: "똑똑하지만 귀찮은 비서" (The Neurosymbolic Problem)

그래서 과학자들은 AI에게 **"수학적/논리적 규칙"**을 가르쳐서 아주 엄격하게 코드를 짜게 만들려고 합니다(뉴로심볼릭 방식).

하지만 이건 마치 **"말 한마디 할 때마다 법전과 수학 공식을 대조하며 보고해야 하는 아주 깐깐한 비서"**를 고용하는 것과 같습니다.

  • 개발자들은 빨리빨리 코드를 짜고 싶은데(이걸 논문에서는 '바이브 코딩'이라고 부릅니다), 비서가 "이 문장은 논리적으로 0.001% 틀렸으니 다시 검토하세요!"라고 계속 말을 걸면 결국 개발자는 귀찮아서 "에이, 그냥 대충 넘어가자!" 하고 승인 버튼을 눌러버리게 됩니다. 여기서 보안 사고가 터지는 거죠.

3. 논문이 제안하는 진짜 해결책: "설계도 단계부터 철벽 방어" (Security by Construction)

이 논문의 핵심 아이디어는 **"다 만든 다음에 검사하지 말고, 처음부터 안전하게 만들 수밖에 없도록 틀을 짜자"**는 것입니다.

  • 비유: "레고 블록 만들기"
    지금까지는 레고 성을 다 만든 다음에 "어? 여기 블록이 헐거운데?" 하고 고치려 했다면, 이제는 애초에 블록 자체가 서로 딱 맞물리지 않으면 조립 자체가 안 되도록 만드는 방식입니다.
  • 확산 모델(Diffusion Models) 활용: 최근 유행하는 이미지 생성 AI(Stable Diffusion 같은 것)의 원리를 코드에 적용하는 겁니다. 코드를 한 글자씩 써 내려가는 게 아니라, 전체적인 구조를 먼저 잡고 세부 사항을 다듬어가는 방식이죠. 이 과정에서 "보안 규칙"이라는 가이드라인을 미리 심어두면, AI가 코드를 생성하는 과정 자체에서 보안 구멍이 생길 틈을 주지 않게 됩니다.

💡 요약하자면!

  1. 지금 상황: AI가 짠 코드를 다른 AI로 검사하는 건, 구멍 난 그물을 구멍 난 그물로 때우려는 것과 같아서 완벽할 수 없다.
  2. 기존 시도: 너무 엄격한 논리 규칙을 적용하면 사람이 귀찮아서 보안을 포기하게 만든다.
  3. 미래의 방향: 코드를 다 짜고 나서 검사하는 '사후 처방' 대신, 코드가 만들어지는 과정(생성 단계) 자체에 보안 규칙을 강제로 주입하여, 처음부터 '태생적으로 안전한 코드'가 나오도록 만들어야 한다!

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →