$1.78M ‘Vibe’ 체크: Moonwell 사건이 AI 보안에 대해 가르쳐 주는 것
Source: Dev.to
완벽해 보이고 유닛 테스트를 통과하며 선임 리뷰어에게 “thumbs up”을 받는 단 한 줄의 코드를 작성한다고 상상해 보세요—그런데 그 코드가 몇 분 만에 $1.78 million을 날려버리는 모습을 지켜보게 된다면.
바로 2026년 2월, 탈중앙화 대출 프로토콜인 Moonwell에서 일어난 일입니다. 반전은? 버그가 인간이 만든 것이 아니라 Anthropic’s Claude Opus 4.6와 공동으로 작성되었습니다.
코드는 맞는 느낌이지만 논리는 시한폭탄인 “vibe coding” 시대에 오신 것을 환영합니다.
$1.78 Million “Vibe” — 무엇이 잘못됐나?
이 사건은 MIP‑X43이라는 거버넌스 제안을 중심으로 일어났습니다. 목표는 간단했습니다: Chainlink의 Oracle Extractable Value (OEV) 래퍼 계약을 통합하여 cbETH(Coinbase Wrapped Staked ETH)의 가격 피드를 처리하는 것이었습니다.
AI가 생성한 코드는 구문적으로 완벽했고, 컴파일도 되었으며, 전문적으로 보였습니다. 하지만 한 가지 근본적인 수학적 단계를 놓쳤습니다: 곱셈.
cbETH/ETH 환율에 ETH/USD 가격 피드를 곱하는 대신, 코드는 원시 환율을 이미 달러 단위인 것처럼 사용했습니다.
결과는?
- 실제 cbETH 가격: 약 $2,200
- 오라클이 보고한 가격: $1.12
- 사태 전개: 99.9 % 저평가가 즉시 청산 연쇄를 촉발했습니다. 차익거래 봇이 급습해, 몇 센트에 해당하는 대량의 담보를 빼앗아 갔습니다.
“바이브 코딩” 함정
우리는 모두 그런 경험을 해봤습니다: LLM에게 “이 오라클에 대한 Solidity 래퍼를 작성해줘”라고 요청하면, 문서와 똑같이 보이는 코드를 내놓습니다. 이것이 바이브 코딩—AI 출력의 “그럴듯함”에 의존하고, 엄밀한 논리 검증을 하지 않는 행위입니다.
Moonwell 사건은 왜 이것이 위험한지 보여주는 최고의 사례입니다:
- 구문적 완벽함: 코드는 깔끔했고 모든 모범 사례를 따랐습니다.
- 논리적 환각: AI가 원시 비율을 최종 가격이라고 환각했습니다.
- ‘스위스 치즈’ 실패: 인간 리뷰어, GitHub Copilot, 그리고 OpenZeppelin의 Code Inspector와 같은 자동 스캐너조차도 이를 놓쳤습니다.
왜 그럴까요? 자동화 편향 때문입니다. 우리는 고급 모델과 스캐너를 우리 자신의 직관보다 더 신뢰하는 경향이 있습니다. AI가 좋다고 말하면, 우리는 수학이 맞다고 가정합니다.
챗봇에서 에이전트 AI로
우리는 “Chatbot AI”(모델이 질문에 답하는)에서 Agentic AI (Claude Opus 4.6 같은 모델이 실제로 코드를 작성하고, 테스트하고, 배포하는)로 빠르게 이동하고 있습니다.
전통적인 워크플로우에서는 버그가 인간의 실수입니다. 에이전시 시스템에서는 취약점이 실행 권한을 가진 환각입니다. 보안은 더 이상 스프린트 끝의 “최종 검토”가 될 수 없으며, 배포 전제 조건이 되어야 합니다.
Source: …
AI‑지원 워크플로우를 안전하게 만드는 방법
AI를 사용해 프로덕션 코드를 작성하고 있다면(솔직히 말해 대부분이 그렇죠), 새로운 플레이북이 필요합니다. “Moonwell‑style” 재앙을 피하기 위한 실용적인 세 단계는 다음과 같습니다:
1. “Human‑in‑the‑Loop”(HITL) 재정의
AI PR을 그냥 승인하지 마세요. 적대적 테스트를 수행합니다: AI가 무엇을 했는지 확인하는 대신, AI가 무엇을 하지 않았는지 찾아보세요. Moonwell 사례에서는 리뷰어가 “USD 변환은 어디에 있나요?”라고 물었더라면 1.78 백만 달러를 절감할 수 있었을 것입니다.
2. 특화된 AI 보안 스캐너 사용
표준 정적 분석 도구는 문법 검사에 뛰어나지만, 미묘한 논리적 환상을 놓치기 쉽습니다. 엣지 케이스를 시뮬레이션하고 AI가 생성한 로직의 수학적 일관성을 검증하도록 설계된 도구를 배포하세요.
3. AI 출력에 대한 “제로 트러스트” 정책 채택
AI가 만든 코드 한 줄 한 줄을 잠재적으로 결함이 있는 것으로 간주하고, 입증될 때까지 신뢰하지 마세요. AI 에이전트가 접근할 수 있는 시스템에 엄격한 경계를 설정하고, 금융 자산이나 핵심 인프라와 관련된 코드는 다중 서명 승인을 요구하도록 구현하세요.
AI 확실성의 미래
Moonwell 사건은 Web3에 대한 경고 이야기에 그치지 않습니다; 모든 개발자에게 주는 경종입니다. 워크플로에 더 많은 자율 에이전트를 통합함에 따라 AI 보안 과 엄격한 거버넌스의 필요성은 선택이 아니라 필수가 됩니다.
NeuralTrust 에서는 팀이 신뢰 격차를 메울 수 있도록 확실성 인프라를 구축하고 있습니다. 목표는 AI 사용을 중단하는 것이 아니라, 단 하나의 “느낌”이 시스템 전체의 실패로 이어지지 않도록 확신을 가지고 활용하는 것입니다.