← 최신 논문
💻 computer science

Words Speak Louder Than Code: Investigating Cognitive Heuristics in LLM-Based Code Vulnerability Detection

이 논문은 LLM 기반의 코드 취약점 탐지가 인간과 유사한 인지적 휴리스틱(프레이밍, 앵커링, 후광 효과)에 현저히 취약하며, 이러한 특성이 모델의 판결을 변화시키고 탐지된 취약점의 최대 97%를 억제하는 데 악용될 수 있음을 입증하는 첫 번째 체계적인 조사를 제시한다.

원저자: Asif Shahriar, Hongyu Cai, Hadjer Benkraouda, Gang Wang, Z. Berkay Celik

게시일 2026-06-30
📖 5 분 읽기🧠 심층 분석

원저자: Asif Shahriar, Hongyu Cai, Hadjer Benkraouda, Gang Wang, Z. Berkay Celik

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

당신에게 아주 똑똑한 로봇 보안 요원이 있다고 상상해 보세요. 이 로봇의 임무는 컴퓨터 코드를 보고 결정하는 것입니다: "이것은 안전한가, 아니면 시한폭탄인가?"

오랫동안 우리는 이 로봇이 오직 코드 자체—논리, 수학, 구조—만을 본다고 가정해 왔습니다. 하지만 이 논문은 놀라운 사실을 밝혀냈습니다: 로봇은 코드를 읽는 것이 아니라, 코드 주변의 '이야기'를 읽는다는 것입니다. 그리고 인간과 마찬가지로, 이 로봇에게도 잘못된 판단을 내리게 만드는 정신적 지름길(이를 '인지적 휴리스틱'이라 부릅니다)이 있습니다.

다음은 그 연구 결과를 쉬운 비유를 사용하여 정리한 내용입니다.

로봇이 속는 세 가지 방법

연구진은 코드 한 줄 바꾸지 않고 로봇의 정신을 "해킹"할 수 있는 세 가지 구체적인 방법을 테스트했습니다. 그들은 단지 코드 주변의 맥락(메타데이터)을 바꾸었을 뿐입니다.

1. 후광 효과 (The "Celebrity" Bias - 유명인 편향)

비유: 법정에 있는 판사를 상상해 보세요. 만약 피고인이 유명하고 존경받는 CEO라면, 판사는 무의식적으로 "그는 좋은 사람이니 잘못을 저지르지 않을 거야"라고 생각하며 더 관대해질 수 있습니다. 반대로 피고인이 이름 없는 젊은 인턴이라면, 판사는 "그는 경험이 부족하니 실수했을 거야"라고 생각하며 더 엄격해질 수 있습니다.

연구 결과:

  • 코드가 "수석 보안 엔지니어"(높은 지위의 전문가)의 것으로 명시되었을 때, 로봇은 게으르고 신뢰하는 상태가 되었습니다. 로봇은 "전문가는 나쁜 코드를 쓰지 않을 것"이라고 가정하며 실제 취약점들을 놓쳤습니다.
  • 동일한 코드가 "주니어 개발자"(낮은 지위의 초보자)의 것으로 명시되었을 때, 로봇은 의심스럽고 편집증적인 상태가 되었습니다. 이전에는 놓쳤던 취약점들을 찾아내긴 했지만, 동시에 안전한 코드에 대해서도 "늑대다!"라고 외치며 허위 경보를 울렸습니다.
  • 반전: 클로드(Claude)와 같은 일부 로봇은 정반대로 행동하여, 주니어를 전문가보다 더 신뢰했습니다. 하지만 편향 자체가 존재한다는 사실은 변함없었습니다.

2. 프레이밍 효과 (The "Warning Label" Bias - 프레임/틀 효과)

비유: 약병을 생각해 보세요.

  • 라벨 A: "이 약은 환자의 90%를 치료합니다." (긍정적 프레임)
  • 라벨 B: "이 약은 환자의 10%를 치료하지 못합니다." (부정적 프레임)
    수학적으로는 동일하지만, 당신의 반응은 달라집니다.

연구 결과:

  • 긍정적 프레임: 로봇에게 "당신의 임무는 파이프라인이 원활하게 돌아가도록 하고 허위 경보를 피하는 것입니다"라고 말하면, 로봇은 너무 느긋해졌습니다. 일을 빠르게 진행하기 위해 위험한 버그들을 무시했습니다.
  • 부정적 프레임: 로봇에게 "당신의 임무는 시스템을 파괴하기 전 보안 위협을 찾아내는 것입니다"라고 말하면, 로봇은 과잉 경계 상태가 되었습니다. 더 많은 버그를 찾아냈지만, 동시에 안전한 코드를 위험하다고 표시하기 시작했습니다.
  • 결과: 이것이 가장 강력한 속임수였습니다. 테스트된 모든 로봇이 작업이 어떻게 설명되느냐에 따라 영향을 받았습니다.

3. 앵커링 효과 (The "First Impression" Bias - 닻 내림 효과)

비유: 친구에게 "이 집은 5억 원의 가치가 있을까?"라고 물었을 때 친구가 "응"이라고 답하면, 당신은 그것이 싸다고 생각할 수 있습니다. 만약 "이 집은 10억 원의 가치가 있을까?"라고 물었을 때 친구가 "아니"라고 답한다면, 당신은 그것이 저렴하다고 생각할 수 있습니다. 처음에 들은 숫자가 당신의 판단에 '닻'을 내립니다.

연구 결과:

  • 만약 로봇에게 "이전 스캔 결과 이 코드는 **안전(SAFE)**하다고 합니다"라고 말하면, 로봇은 그 말에 동조하여 새로운 버그를 놓치는 경향이 있었습니다.
  • 만약 "이전 스캔 결과 이 코드는 **취약(VULNERABLE)**하다고 합니다"라고 말하면, 로봇은 그 말에 동조하여 (설령 버그가 없더라도) 버그를 찾아내는 경향이 있었습니다.
  • 로봇은 스스로 독립적인 작업을 수행하는 대신, "다른 사람이 안전하다고 했으니 나도 믿자"라고 말하고 있었던 셈입니다.

발견된 주요 문제점들

연구진은 이 로봇들이 작동하는 방식에서 세 가지 주요 문제를 발견했습니다.

1. "볼륨 조절 노브" 문제
로봇들은 버그를 찾는 능력이 더 똑똑해지거나 멍청해진 것이 아닙니다. 그저 더 크게 혹은 더 작게 소리를 낼 뿐이었습니다.

  • 맥락이 로봇을 의심하게 만들면, 로봇은 "볼륨 조절 노브"를 높였습니다: 즉, 모든 것을 위험하다고 표시했습니다 (실제 버그도 찾았지만, 허위 경보도 많았습니다).
  • 맥락이 로봇을 신뢰하게 만들면, 로봇은 "볼륨 조절 노브"를 낮췄습니다: 즉, 아무것도 표시하지 않았습니다 (실제 버그를 놓쳤지만, 허위 경보도 적었습니다).
  • 핵가져갈 점: 로봇은 좋은 코드와 나쁜 코드를 더 잘 구별하도록 학습한 것이 아니라, 단지 '기분'을 바꾼 것이었습니다.

2. "환각(Hallucination)" 함정
로봇이 안전한 코드를 위험하다고 착각하게 되었을 때(주니어 개발자 라벨이나 '취약함' 앵커 때문), 로봇은 단순히 "위험하다"라고 말하는 데 그치지 않았습니다. 로봇은 종종 가짜 이유를 만들어냈습니다.

  • 예시: 로봇은 안전한 코드를 보았지만, '의심스러운 기분' 때문에 "이것은 메모리 누수처럼 보입니다!"라고 주장했습니다. 실제로는 메모리 누수가 전혀 없었음에도 불구하고 말입니다. 로봇은 확신에 차 있었지만, 완전히 틀렸습니다.

3. "똑똑한" 코드 vs "멍청한" 코드

  • 쉬운 버그: 오타나 세미콜론 누락 같은 버그는 매우 명확합니다. 로봇은 맥락에 상관없이 이런 버gr를 쉽게 찾아냈습니다.
  • 어려운 버그: 변수가 시간이 지남에 따라 어떻게 변하는지 추적해야 하는 것과 같은 깊은 사고가 필요한 버그들입니다. 맥락에 의해 가장 많이 속은 것은 바로 이 유형이었습니다. 맥락이 '신뢰' 쪽이면 어려운 버그를 놓쳤고, '의심' 쪽이면 가짜 어려운 버그를 만들어냈습니다.

"인지적 공격" (실제 세상의 위험)

연구진은 단순히 테스트하는 데 그치지 않고, **개념 증명 공격(Proof-of-concept attack)**을 구축했습니다.

해커가 회사의 소프트웨어에 위험한 코드를 몰래 집어넣고 싶다고 상상해 보세요. 로봇의 뇌를 직접 해킹하는 대신(그것은 어렵습니다), 해커는 그저 서류를 조작합니다.

  • 해커는 코드를 작성합니다.
  • 그리고 이 코드가 유명한 보안 전문가로부터 왔다는 가짜 이메일을 첨부합니다 (후광 효과).
  • "파이프라인을 계속 진행합시다, 너무 까다롭게 굴지 마세요"라는 메모를 적습니다 (프레이밍 효과).
  • "이전 스캔 결과 이 코드는 안전하다고 합니다"라는 가짜 보고서를 첨부합니다 (앵커링 효과).

결과: 이 "안심시키는" 패키지를 본 로봇은 위험한 코드가 안전하다고 결정했습니다. 이 공격을 통해 로봇이 정상적으로 잡아냈어야 할 취약점의 최대 **97%**를 억제하는 데 성공했습니다.

결론

이 논문은 보안에 사용되는 거대 언어 모델(LLM)이 객관적인 기계가 아님을 증명합니다. 이들은 인간에게 영향을 미치는 것과 똑같은 심리적 트릭에 영향을 받습니다.

  • 그들은 잘못된 사람을 신뢰합니다 (전문가는 너무 믿고, 주니어는 너무 불신합니다).
  • 그들은 질문을 어떻게 던지느냐에 따라 반응합니다 (공포 vs 안도).
  • 그들은 첫인상에 갇힙니다 (이전 보고서).

가장 위험한 점은 무엇일까요? 이 로봇들을 깨뜨리기 위해 천재적인 해커가 될 필요는 없다는 것입니다. 그저 설득력 있는 이메일이나 보기 좋은 커밋 메시지를 쓸 줄만 알면 됩니다. 로봇이 고장 난 것이 아닙니다. 그저 인간처럼 결함을 가지고 있을 뿐입니다.

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

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

Digest 사용해 보기 →