← 최신 논문
💻 computer science

LibScan: Smart Contract Library Misuse Detection with Iterative Feedback and Static Verification

이 논문은 대규모 언어 모델의 의미 추론과 규칙 기반 정적 분석을 결합하고 반복적 피드백 메커니즘을 통해 스마트 컨트랙트 라이브러리 오용을 효과적으로 탐지하는 'LibScan' 프레임워크를 제안하고, 실증 실험을 통해 기존 도구 대비 16% 이상 높은 85.15%의 탐지 정확도를 입증했습니다.

원저자: Yishun Wang, Wenkai Li, Xiaoqi Li, Zongwei Li, Lei Xie, Yuqing Zhang

게시일 2026-04-02
📖 4 분 읽기☕ 가벼운 읽기

원저자: Yishun Wang, Wenkai Li, Xiaoqi Li, Zongwei Li, Lei Xie, Yuqing Zhang

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

🍳 비유: 스마트 계약은 '자동 요리 기계'입니다

블록체인에서 스마트 계약은 사람이 직접 개입하지 않고 자동으로 돈을 주고받거나 물건을 거래하는 '자동 요리 기계'라고 생각해보세요. 이 기계가 작동하려면 Solidity라는 언어로 된 '레시피 (코드)'가 필요합니다.

요리사 (개발자) 들은 처음부터 모든 요리를 새로 만들지 않고, 이미 검증된 **공식 레시피집 (라이브러리)**을 가져다 쓰곤 합니다. 예를 들어, '소금 넣기', '불 조절하기' 같은 기본 기능은 이미 완벽하게 만들어진 레시피를 복사해서 쓰는 것이죠.

⚠️ 문제: "잘 쓰지 않는" 레시피의 함정

하지만 여기서 문제가 생깁니다. 요리사들이 이 공식 레시피를 잘못 이해하거나, 잘못 쓰거나, 너무 많이/적게 쓰는 경우가 생기는 것입니다.

  • 예시 1 (과신): "이 레시피는 불을 너무 세게 켜도 안전할 거야!"라고 믿고 불을 세게 켰는데, 실제로는 레시피가 그걸 견디지 못해 요리가 탔습니다. (라이브러리 능력 과대평가)
  • 예시 2 (과소평가): "이 레시피는 소금 조절을 못 해!"라고 생각해서 직접 소금 조절 장치를 만들었는데, 사실 레시피에 그 기능이 이미 있었습니다. (라이브러리 능력 과소평가)
  • 예시 3 (불필요한 사용): 이미 최신 기계에 '자동 온도 조절' 기능이 있는데, 굳이 낡은 '수동 온도 조절기'를 따로 사서 연결해 버려서 기계가 고장 납니다. (불필요한 라이브러리 사용)

이런 실수들은 수천억 원의 암호화폐를 잃게 만드는 치명적인 버그로 이어질 수 있습니다.

🕵️‍♂️ 기존 도구들의 한계: "규칙만 보는 감시관"

지금까지 이런 실수를 찾으려고 했던 도구들 (Slither 같은 것들) 은 엄격한 규칙만 따지는 감시관이었습니다.

  • "소금 양이 5g 이면 안 돼!" 같은 명확한 규칙은 잘 찾아냈습니다.
  • 하지만 **"요리사가 레시피를 왜 이렇게 썼는지 (의도)"**를 이해하지 못했습니다. "아, 이 요리사는 레시피를 잘못 이해해서 실수했구나"라는 뉘앙스를 파악하지 못해 많은 실수를 놓치거나, 반대로 잘못 경보하는 경우가 많았습니다.

🚀 LibScan: "AI 요리 비서 + 정밀 검사관"의 팀워크

이 논문에서 제안한 LibScan은 두 가지 강력한 능력을 가진 팀으로 작동합니다.

1. AI 요리 비서 (LLM - 대규모 언어 모델)

  • 역할: 레시피 전체를 읽고, 요리사의 의도와 맥락을 이해합니다. "아, 이 부분은 레시피를 잘못 쓴 것 같아"라고 추론할 수 있습니다.
  • 장점: 복잡한 상황과 뉘앙스를 잘 파악합니다.
  • 단점: 가끔은 **환각 (Hallucination)**을 일으켜, 실제로는 문제가 없는데 "문제 있다!"라고 거짓말을 하거나, 반대로 중요한 문제를 놓칠 수 있습니다.

2. 정밀 검사관 (정적 분석 - Static Analysis)

  • 역할: 코드를 한 줄 한 줄 꼼꼼히 검사하는 기계적인 도구입니다. "이 함수는 A 타입만 받는데 B 타입을 넣었네?"처럼 구체적인 오류를 찾아냅니다.
  • 장점: 거짓말을 하지 않고 정확한 사실을 알려줍니다.
  • 단점: "왜 이렇게 썼을까?"라는 의도까지는 이해하지 못해, 복잡한 실수는 놓칠 수 있습니다.

🔄 LibScan의 핵심 기술: "반복 피드백"과 "합의"

LibScan 은 이 두 팀이 서로 싸우지 않고 협력하게 만듭니다.

  1. 반복적인 수정 (Iterative Feedback):

    • AI 비서가 "여기 문제 있어!"라고 말하면, 정밀 검사관이 "그런데 코드상으로는 정상인데?"라고 반박합니다.
    • AI 비서는 이 피드백을 듣고 다시 생각해보고, "아, 내가 착각했네. 아니면 다른 이유가 있나?"라고 다시 한 번, 두 번, 세 번 생각하며 답을 고칩니다.
    • 마치 요리사가 실수를 지적받고 다시 요리를 수정해 나가는 과정과 같습니다.
  2. 지식 기반 (Knowledge Base):

    • 과거에 실제로 일어났던 8 가지 종류의 레시피 사용 실수 (예: 잘못된 감싸기, 예외 처리 누락 등) 를 데이터베이스로 만들어 두었습니다. AI 가 이 데이터를 참고해서 더 똑똑하게 판단합니다.
  3. 최종 결정 (랜덤 포레스트):

    • AI 의 추론 결과와 정밀 검사관의 검사 결과를 모두 모아, **최종 심판관 (랜덤 포레스트 알고리즘)**이 "문제 있다"와 "문제 없다" 중 어떤 쪽이 더 유력한지 최종 판결을 내립니다.

📊 결과: 얼마나 잘할까요?

  • 기존 도구들: 약 60~68% 정도의 정확도만 냈습니다. (많은 실수를 놓치거나 거짓 경보를 보냈음)
  • LibScan: **85.15%**의 높은 정확도를 달성했습니다.
  • 이는 기존 도구들보다 16% 이상 더 잘하는 것입니다. 마치 실력 있는 요리 비서와 꼼꼼한 검사관이 팀을 이뤄, 요리 실패를 거의 완벽하게 막아낸 것과 같습니다.

💡 결론

이 논문은 **"인공지능 (AI) 의 직관"**과 **"전통적인 검사 도구의 정확함"**을 결합하여, 블록체인 계약서의 숨겨진 위험을 찾아내는 새로운 방법을 제시했습니다.

앞으로 이 도구를 사용하면, 개발자들은 실수한 레시피를 미리 찾아내어 수정할 수 있고, 사용자는 더 안전한 블록체인 서비스를 이용할 수 있게 될 것입니다. 마치 요리실수를 미리 예방하여 맛있는 요리를 보장하는 시스템이 생긴 것과 같습니다.

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

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

Digest 사용해 보기 →