재진입 공격
상태 업데이트가 완료되기 전에 계약이 스스로를 재호출하여 자금을 유출시키는 취약점.
상태 업데이트가 완료되기 전에 계약이 스스로를 재호출하여 자금을 유출시키는 취약점.
entity.trust_high
2026년 9월 · 신선도 점수: 50%
재진입 공격란 무엇인가요?
상태 업데이트가 완료되기 전에 계약이 스스로를 재호출하여 자금을 유출시키는 취약점.
- Category
- concept
- Type
- Authority Node
- 출처
- 1
지식 그래프
26 개의 관계개요
재진입 공격(reentrancy attack)은 상태 업데이트가 완료되기 전에 계약이 스스로를 재진입하여 자금을 탈취하는 공격 방식입니다. 이는 유명한 DAO 해킹 사건의 공격 경로였습니다. 이 공격은 계약 실행 시 상태 변경의 순서를 악용합니다.
작동 원리
악의적인 계약은 피해 계약이 상태를 업데이트하기 전에 해당 계약을 재호출하는 외부 함수를 호출합니다. 처리가 끝날 때까지 잔액이 업데이트되지 않기 때문에 반복적인 호출로 자금이 유출됩니다. '체크-효과-상호작용(Check-Effect-Interaction)' 및 재진입 방지 메커니즘을 통해 이를 방지할 수 있습니다.
중요성
재진입(Reentrancy)은 막대한 손실을 초래하는 가장 위험한 스마트 계약 취약점 중 하나입니다. 개발자와 감사자에게는 이를 이해하는 것이 필수적입니다. 최신 프레임워크에는 내장된 보호 기능이 포함되어 있습니다.
관련 개념
재진입 공격은 스마트 계약 취약점 및 감사와 관련이 있습니다. 코딩 패턴과 가드(guard)를 통해 이를 방어할 수 있습니다.
자주 묻는 질문
What is 재진입 공격?
상태 업데이트가 완료되기 전에 계약이 스스로를 재호출하여 자금을 유출시키는 취약점.
How does 재진입 공격 work?
재진입 공격(reentrancy attack)은 상태 업데이트가 완료되기 전에 계약이 스스로를 재진입하여 자금을 탈취하는 공격 방식입니다. 이는 유명한 DAO 해킹 사건의 공격 경로였습니다. 이 공격은 계약 실행 시 상태 변경의 순서를 악용합니다. 악의적인 계약은 피해 계약이 상태를 업데이트하기 전에 해당 계약을 재호출하는 외부 함수를 호출합니다. 처리가 끝날 때까지 잔액이 업데이트되지 않기 때문에 반복적인 호출로 자금이 유출됩니다. '체크-효과-상호작용(Check-Effect-Interaction)' 및 재진입 방지 메커니즘을
Why does 재진입 공격 matter in Web3?
악의적인 계약은 피해 계약이 상태를 업데이트하기 전에 해당 계약을 재호출하는 외부 함수를 호출합니다. 처리가 끝날 때까지 잔액이 업데이트되지 않기 때문에 반복적인 호출로 자금이 유출됩니다. '체크-효과-상호작용(Check-Effect-Interaction)' 및 재진입 방지 메커니즘을 통해 이를 방지할 수 있습니다. 재진입(Reentrancy)은 막대한 손실을 초래하는 가장 위험한 스마트 계약 취약점 중 하나입니다. 개발자와 감사자에게는 이를 이해하는 것이 필수적입니다. 최신 프레임워크에는 내장된 보호 기능이 포함되어 있습니다.