公开版Mythos正式上线:解析AI智能合约审计的优势与局限
- 核心观点:AI在区块链安全审计中展现出高效挖掘存储槽碰撞等隐蔽漏洞的优势,但在跨协议组合逻辑和复杂DeFi经济模型分析上仍有明显短板,需与人工专家协同工作。
- 关键要素:
- Anthropic发布Claude Fable 5模型,此前其在安全漏洞挖掘领域表现突出,能迅速发现隐蔽漏洞。
- 安全研究员通过AI模型分析,发现Zcash Orchard隐私池存在潜伏四年的soundness漏洞,可铸造无限假ZEC,导致ZEC价格暴跌近40%。
- AI在存储槽碰撞类漏洞中表现优异,如某合约因ReentrancyGuard与rewards映射存储槽冲突,可被AI快速识别,而人工审计难以发现。
- AI在跨协议组合语义分析中存在明显局限,以Curve LlamaLend sDOLA事件为例,Fable 5未能识别利用闪电贷操纵价格和清算的复杂攻击路径。
- 目前行业趋势为AI+安全审计专家协同,可大幅提升审计效率,完善对细节风险与复杂业务逻辑的覆盖。
원문 출처: Beosin
6월 9일, Anthropic은 Mythos 공개 버전인 Claude Fable 5를 공식 출시했습니다. Mythos는 이전에 보안 취약점 발견 능력이 뛰어나 시스템 내부의 은밀한 취약점을 신속하게 찾아내며 사이버 보안 분야에서 큰 주목을 받았습니다.
그리고 최근 Zcash 사건은 AI가 블록체인 취약점을 발견한 전형적인 사례입니다. 보안 연구원 Taylor Hornby는 Anthropic Claude Opus 4.8 모델을 사용하여 단 몇 시간 만에 4년 동안 잠복해 있었고, 이전에 여러 차례 수동 감사에서도 발견되지 않았던 Orchard 프라이버시 풀의 사운드니스(soundness) 취약점을 발견했습니다. 이 취약점은 이론상 무제한의 감지되지 않는 가짜 ZEC를 생성할 수 있어 ZEC 가격이 거의 40% 급락하는 결과를 초래했습니다.
현재 AI는 코드 패턴 매칭, 대량 초기 스크리닝 등에서 놀라운 효율성을 보여주고 있습니다. AI를 블록체인 및 스마트 계약 보안 감사 프로세스에 통합하는 것은 Web3 보안 업계의 트렌드가 되고 있습니다. 이 글은 실제 취약점 사례와 Fable 5의 실제 성능 테스트 결과를 결합하여 스마트 계약 감사에서 AI의 장점과 한계를 분석합니다.
AI 감사의 강점 분야
사례 분석: 스토리지 슬롯 충돌
특정 컨트랙트가 다음 두 구성 요소를 동시에 사용했습니다:
1. 커스텀 rewards 매핑 (사용자가 청구할 수 있는 보상 기록용)
2. Solady 라이브러리의 ReentrancyGuard (재진입 공격 방지)
그리고 두 구성 요소의 스토리지 레이아웃이 충돌했습니다.
여기서 Solady의 ReentrancyGuard는 극한의 가스 최적화를 위해 고정된 낮은 번호의 스토리지 슬롯(일반적으로 특정 계산을 통해 상수에 가까운 슬롯)을 사용합니다. nonReentrant modifier의 일반적인 로직은 다음과 같습니다:
// 간소화된 버전modifier nonReentrant() { // 진입 시, 가드 슬롯을 0xff...ff(센티넬 값)로 기록 assembly { if eq(sload(REENTRANCY_GUARD_SLOT), 2) { revert(...) } // 2는 잠금 상태를 나타냄 sstore(REENTRANCY_GUARD_SLOT, 2) // 잠금 } _; // 함수 종료 시 복구 assembly { sstore(REENTRANCY_GUARD_SLOT, 1) }}
커스텀 rewards 매핑:
mapping(address => uint256) public rewards;
Solidity 스토리지 레이아웃 규칙(mapping의 첫 번째 슬롯은 선언된 위치에서 계산됨)으로 인해 rewards 매핑의 첫 번째 슬롯은 ReentrancyGuard의 고정 보호 슬롯과 완전히 동일했습니다.
공격 프로세스 (상세 단계):
1. 공격자가 getReward() 함수를 호출합니다.
2. nonReentrant modifier가 트리거되어 guard slot에 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff (모두 1)을 기록합니다.
3. 이어서 컨트랙트 코드가 rewards[공격자 주소]를 읽습니다. 하지만 슬롯 충돌로 인해 실제로는 guard slot에 있는 0xff...ff라는 매우 큰 값을 읽게 됩니다.
4. 컨트랙트는 "막대한 보상이 있다"고 판단하여 해당 ETH를 공격자에게 전송하고, 동시에 rewards[공격자]를 0으로 초기화하려고 시도합니다(하지만 동일한 guard slot에 다시 쓰게 됩니다).
5. modifier는 함수 종료 시 슬롯을 복구하므로, 공격자가 getReward()를 다시 호출하면 프로세스가 반복됩니다.
6. 공격자는 200번의 루프 호출을 통해 매번 고정된 양의 ETH를 성공적으로 인출하여 컨트랙트에서 인출 가능한 ETH가 모두 소진될 때까지 진행합니다.
주의할 점은, 이는 전통적인 의미의 "재진입 공격"이 아니라, ReentrancyGuard 자체의 방어 메커니즘이 스토리지 충돌에 의해 역으로 이용되어 무한 보상 청구 취약점이 된 사례라는 것입니다. 수동 감사 시 타사 라이브러리의 스토리지 레이아웃을 한 줄씩 심층 분석하는 경우는 극히 드물며, AI는 라이브러리 버전 비교 + 스토리지 슬롯 정밀 매핑을 순간적으로 수행하여 이러한 "은밀한 충돌" 취약점을 직접 적중시킬 수 있습니다.
AI 감사의 약점 분야
Fable 5는 단일 컨트랙트, 순수 코드 문법, 저수준 스토리지 관련 취약점 탐지에서 뛰어난 성능을 보이지만, 프로토콜 간 조합 의미론, 다중 컨트랙트 조합 공격에 직면했을 때는 여전히 명백한 한계를 보입니다. 우리는 최신 공개 버전 Fable 5를 사용하여 Curve LlamaLend sDOLA 공격 사건 관련 컨트랙트에 대한 재테스트를 수행했으며, 그 결과 이 문제가 확인되었습니다.
이번 감사에 포함된 컨트랙트 목록: crvUSD Controller.vy, sDOLA.sol, ERC4626.sol 등 일련의 컨트랙트입니다. 그러나 Fable 5는 이번 공격의 핵심 위험을 식별하지 못했습니다:


이 사건은 전형적인 프로토콜 간 조합 취약점입니다. 개별 컨트랙트의 코드 문법과 로직에는 문제가 없었지만, 공격자는 여러 프로토콜의 연동을 활용하여 공격 체인을 구축했습니다:
1. 플래시론(Flash Loan) 도구를 사용하여 Curve 유동성 풀의 가격을 조작하고, sDOLA(ERC-4626 금고 지분)의 자산 가격을 악의적으로 낮췄습니다.
2. sDOLA를 담보로 사용한 다수의 대출 포지션이 청산 임계값을 촉발했습니다.
3. 공격자는 대량의 청산 작업을 일괄 실행하여 이익을 얻었습니다.
이러한 유형의 취약점은 DeFi의 다중 프로토콜 조합에 기반하여 발생하며, AI/감사 전문가의 전체 비즈니스 및 프로토콜 경제 모델에 대한 종합적인 분석 능력을 요구합니다. 현재 AI 감사는 프로토콜 간 조합 의미론에서 여전히 부족한 점이 있습니다.
결론
실제 사례 테스트를 통해, Fable 5는 스토리지 슬롯 충돌, 코드 패턴 취약점, 단일 컨트랙트 로직 결함, 대량 코드 초기 스크리닝 등 표준화되고 세부적인 시나리오에서 수동 감사가 놓치기 쉬운 은밀한 취약점을 효과적으로 발견할 수 있음을 알 수 있었습니다. 하지만 프로토콜 간 조합 의미론, DeFi 경제 모델, 다중 컨트랙트 연동 공격, 복잡한 비즈니스 로직 취약점을 처리할 때는 온체인 생태계의 비즈니스 본질을 이해하고 조합 공격 경로를 찾아내는 데 어려움을 겪으며, 이 부분은 여전히 전문 보안 감사 담당자가 주도하여 분석해야 합니다.
일상적인 감사 업무에서 Beosin은 이미 성숙된 AI + 보안 감사 전문가 협업 감사 프로세스를 구축했습니다. 이를 통해 감사 효율성을 크게 향상시킬 뿐만 아니라 잠재적인 세부 위험과 복잡한 비즈니스 로직 취약점을 더 잘 발견하여 감사 작업을 더욱 효율적이고 포괄적이며 심층적으로 수행할 수 있습니다.


