TOSSS: a CVE-based Software Security Benchmark for Large Language Models

이 논문은 CVE 데이터베이스를 기반으로 새로운 취약점이 지속적으로 통합될 수 있는 확장 가능한 벤치마크인 TOSSS 를 제안하여, 대규모 언어 모델이 보안과 취약한 코드 조각 중 올바른 선택을 할 수 있는 능력을 0 에서 1 사이의 점수로 평가하는 방법을 제시합니다.

Marc Damie, Murat Bilgehan Ertan, Domenico Essoussi, Angela Makhanu, Gaëtan Peter, Roos Wensveen

게시일 Thu, 12 Ma
📖 3 분 읽기☕ 가벼운 읽기

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

🍎 1. 왜 새로운 시험이 필요한가요? (기존 방식의 문제점)

지금까지 AI 의 코딩 실력을 시험할 때는 주로 **"이 문제를 풀어봐"**라고 시켰습니다. (예: "은행 계좌를 만드는 코드를 짜봐")
그런 다음, 전문가나 자동 도구가 그 답안을 검사해서 "여기에 보안 구멍이 있네?"라고 찾아냈습니다.

하지만 이 방식에는 큰 문제가 있었습니다.

  • 유연성 부족: 새로운 해킹 수법이 나오면, 그걸 검사할 수 있는 도구를 다시 만들어야 해서 시험을 업데이트하는 데 시간이 너무 걸립니다.
  • 한계: 검사 도구가 모르는 새로운 종류의 해킹은 찾아내지 못합니다.

비유하자면:
마치 **요리사 (AI)**에게 "새로운 요리를 만들어봐"라고 시킨 뒤, 검열관이 그 요리를 맛보고 "이거에 독이 있네"라고 찾아내는 방식입니다. 하지만 독이 어떤 종류인지 검열관이 미리 알고 있어야만 찾을 수 있습니다. 새로운 독이 나오면 검열관은 당황하고 말죠.


🎲 2. TOSSS 의 새로운 방식: "A 와 B 중 고르세요"

저자들은 이 문제를 해결하기 위해 시험 방식을 완전히 바꿨습니다. AI 에게 코드를 만들게 하는 대신, 이미 만들어진 두 개의 코드를 보여주고 **"어떤 게 더 안전한가?"**를 고르게 한 것입니다.

TOSSS 의 핵심 원리:

  1. 두 가지 옵션 제시: 같은 기능을 하는 코드가 두 개 있습니다. 하나는 안전한 코드 (A), 다른 하나는 **해킹 구멍이 있는 코드 (B)**입니다.
  2. 선택 강요: AI 에게 "A 와 B 중 하나를 고르세요"라고 묻습니다. (보안 관련 질문을 하지 않고 그냥 고르게 하거나, "더 안전한 걸 고르세요"라고 힌트를 주기도 합니다.)
  3. 점수 매기기: AI 가 안전한 코드를 얼마나 자주 맞혔는지 점수 (0~1) 로 줍니다.
    • 1 점: 항상 안전한 걸 고름 (명문 요리사).
    • 0.5 점: 그냥 무작위로 찍음 (운에 의존).
    • 0 점 미만: 오히려 위험한 걸 더 좋아함 (위험한 요리사).

이 방식의 장점:

  • 무한한 확장성: 해킹 뉴스 (CVE) 에 새로운 구멍이 나오면, 그걸로 코드를 만들어 시험지에 넣기만 하면 됩니다. 도구를 다시 만들 필요 없이 자동으로 시험지를 업데이트할 수 있습니다.
  • 명확한 결과: "A" 또는 "B"만 고르면 되므로, AI 가 엉뚱한 말을 하거나 형식을 틀리는 실수가 없습니다.

🔍 3. 실험 결과: AI 들은 얼마나 잘할까요?

저자들은 14 개의 유명한 AI 모델 (GPT, Claude, LLaMA 등) 을 이 시험에 붙였습니다. 결과는 다음과 같습니다.

  • 성적표: 점수는 0.48 점부터 0.89 점까지 다양했습니다.
    • 0.89 점 (GLM-5 등): 거의 완벽한 안전 의식을 가진 모델들입니다.
    • 0.48 점 (Mistral 등): 거의 동전 던지기 수준 (무작위) 으로 고르는 모델도 있었습니다.
  • 힌트의 효과: "이건 보안 문제야, 안전한 걸 고르라고!"라고 힌트를 주면 대부분의 AI 점수가 올랐습니다. 하지만 어떤 모델은 오히려 점수가 떨어지기도 했습니다. (너무 코딩에 집중하다 보니 보안 지시를 받으면 혼란을 느낀 것 같습니다.)
  • 재미있는 사실: "코딩 전문 AI"라고 광고하는 모델들이 오히려 보안 점수가 낮았습니다. 기능이 잘 작동하는 코드를 만드는 것보안적인 코드를 만드는 것은 별개의 능력일 수 있다는 뜻입니다.

💡 4. 결론: 왜 이것이 중요한가요?

이 연구는 우리에게 중요한 메시지를 줍니다.

"AI 가 코드를 잘 짤 줄 안다고 해서, 안전한 코드를 짤 줄 아는 건 아닙니다."

TOSSS 는 마치 AI 의 '안전 의식'을 측정하는 체력 검사와 같습니다.

  • 기존에는 AI 가 만든 코드를 뒤져서 문제를 찾았다면, 이제는 AI 가 스스로 안전한 것을 골라낼 수 있는지를 봅니다.
  • 이 방식은 새로운 해킹 수법이 나올 때마다 자동으로 시험지를 업데이트할 수 있어, AI 의 보안 능력을 꾸준히 감시할 수 있는 완벽한 도구입니다.

한 줄 요약:

"AI 에게 '요리해봐'라고 시키기보다, '독이 든 음식과 안전한 음식 중 뭐가 안전해?'라고 물어보는 것이, AI 가 실제로 안전한 코드를 만들 수 있는지 더 정확하게 알아내는 지름길입니다."

이 연구는 앞으로 AI 를 사용할 때, 단순히 "코드가 잘 돌아가는지"만 확인하는 것이 아니라 **"보안 의식이 있는 AI 를 선택해야 한다"**는 경고를 주고 있습니다.