연결 중…
연결 중…
전체 보기
캘빈의 감금원
Telegram · @c4lvinlocked

이번 조치는 아비트럼 EOA에 들어있던 ETH를 특정 주소 (0x000...DA0)로 옮긴 조치로, 일반적으로 원주소에 묶이는 동결 조치와는 결이 약간 다릅니다. 어떻게 그냥 EOA에 들어있는 ETH를 임의로 소각…

게시
2026.04.21 13:35
조회
680
포워드
7
이미지
1장

이번 조치는 아비트럼 EOA에 들어있던 ETH를 특정 주소 (0x000...DA0)로 옮긴 조치로, 일반적으로 원주소에 묶이는 동결 조치와는 결이 약간 다릅니다. 어떻게 그냥 EOA에 들어있는 ETH를 임의로 소각시켰나 트랜잭션 뜯어봤는데 신기해서 공유해봅니다.

1. L1 security council (emergency) 컨트랙트에 정족수인 9명의 서명 모아 제출, MultiSendCallOnly에 delegatecall
실행. 페이로드로는 multiSend(bytes) 호출.

2. multiSend 서브콜로 create2 팩토리 호출해 임시 Delayed Inbox 와 일회성 업그레이드 오케스트레이터 컨트랙트 배포, 오케스트레이터 실행. 이 중 Delayed Inbox는 원래 존재하는 L1 -> L2 메시지 컨트랙트

3. 임시 Delayed Inbox 구현체에는 임의로 ETH를 이동시키는 ~~UpgradeExecutor 전용 ~~함수가 추가되어있음.

4. 업그레이드 오케스트레이터로 기존 Inbox 컨트랙트 업그레이드, 임의 ETH 이동 함수 딱 한번 호출한 뒤 Inbox를 원래대로 되돌림

5. Delayed Inbox 트랜잭션이 queue에 들어가고나서 공격자 자금은 0x0...DA0로 소각, Delayed Inbox는 트잭 내에서 교체되었지만 정상으로 돌려놓고 빠져나옴

깔끔해서 놀랍네요 ㄷㄷ

조회680포워드7텔레그램에서 보기