DeFi 세계는 잠들지 않고, 그림자 속 공격자들도 마찬가지입니다. 바로 이번 주 Solana의 USPD 스테이블코인 프로젝트가 CPIMP라는 기법을 이용한 정교한 익스플oit의 중심에 섰습니다—이 기법은 악성 프록시를 겉보기에는 안전해 보이는 스마트 컨트랙트 구성 안으로 교묘히 끼워 넣는 방법입니다. 이 사건이 특히 소름 끼치는 이유는? Etherscan의 검증 도구를 그대로 통과했다는 점입니다. 사용자와 개발자는 자금이 사라질 때까지 전혀 눈치채지 못했습니다.
당신이 DeFi를 구축하거나 투자하고 있다면, 이건 단순한 해킹 뉴스가 아닙니다. 프록시 구현, 배포 위생, 그리고 체인이 당신을 노린다고 항상 가정해야 하는 이유에 대한 경종입니다. 보안 연구자 @Deivitto의 심층 분석과 @storming0x의 예리한 논평을 바탕으로 단계별로 분석해봅시다.
설정: USPD의 프록시가 잘못된 이유
USPD는 Solana에서 페그 안정을 목표로 하는 스테이블코인으로, 상태를 잃지 않고 컨트랙트를 업그레이드하기 위해 흔히 쓰이는 proxy 패턴에 의존했습니다. 자동차의 번호판은 그대로 두고 엔진만 갈아끼우는 것과 같다고 생각하면 됩니다: 효율적이지만 보닛 아래를 누군가 조작했다면 위험합니다.
Deivitto의 분석에 따르면, 공격자들은 무작위 대입(brute-force)으로 침투하지 않았습니다. 그들은 CPIMP (Cross-Proxy Implementation Manipulation Protocol) 를 사용해 프록시의 implementation 포인터를 라이프사이클 중간에 가로챘습니다. 단순화한 플레이 바이 플레이는 다음과 같습니다:
- 초기 배포: USPD는 신뢰할 수 있는 implementation 컨트랙트를 가리키는 정당한 프록시를 배포합니다.
- 기습 공격: 공격자들은 초기화 로직의 취약점이나 잊혀진 접근 제어 같은 취약점을 악용해 프록시의 저장 슬롯을 리다이렉트합니다. 갑자기 프록시는 원래 코드를 호출하는 대신 악성 쌍둥이로 통화하기 시작합니다.
- Etherscan의 맹점: Etherscan 같은 도구는 소스코드를 바이트코드와 대조해 검증하지만, 이런 런타임 상태 변경은 놓칩니다. 컨트랙트는 검증된 것처럼 보이지만 내부는 재배선되어 있습니다. 펑—무단 민트나 전송으로 자금이 소실됩니다.
Deivitto가 @0xGianfranco와 나눈 스레드는 더 깊은 부분을 파고듭니다: seeds가 단단히 잠겨있지 않으면 Solana의 program-derived addresses(PDAs)가 어떻게 조작될 수 있는지 등. 이는 "한 번 설정하고 방치"하는 배포가 재앙의 레시피인 이유를 잘 보여주는 마스터클래스입니다.
왜 Etherscan은 모두를 속였나
Etherscan(및 유사한 블록체인 익스플로러)은 투명성에 큰 역할을 하지만, 전지전능하지는 않습니다. 이번 경우의 핵심 요점은:
- 정적 vs 동적 검증: Etherscan은 당신이 제출한 코드를 확인합니다. 체인에서 실제로 수행되는 동작까지 확인하지는 않습니다. 배포 후 프록시 교체는 레이더 아래로 숨어들 수 있습니다.
- UX의 함정: 초록색 체크마크는 사용자에게 "안전!"이라고 외치지만, 초기화 경쟁(initialization races)이나 저장소 충돌(storage collisions) 같은 프록시 환경에서 흔한 문제는 감사하지 않습니다.
- Solana 관련 특성: Etherscan은 이더리움 계열을 주로 다루지만, Solana의 Anchor 프레임워크는 복잡성을 더합니다. 설정이 잘못된 계정은 이런 보이지 않는 하이재킹으로 이어질 수 있습니다.
storm0x의 응답을 인용하면: "체인은 무자비하다. 항상 적대적인 태도로 가정하고, 누군가 항상 지켜보고 있다고 생각해야 한다."라는 말이 정확히 들어맞습니다. 신뢰받던 프록시가 백도어가 된 Ronin 브리지 해킹과 같은 과거 사건들에서도 비슷한 울림이 있었습니다.
핵심 교훈: 지금 당장 배포를 강화하라
아무도 완전히 안전하지 않지만, 승산을 높일 수는 있습니다. storm0x는 실용적인 수정책을 스레드에서 잘 집어냈습니다—배포를 전장에 내보내는 코드처럼 취급하세요:
- 모든 것을 스크립트화하라: 프록시 배포와 초기화를 하나의 원자적 트랜잭션으로 자동화하세요. 공격자가 파고들 틈을 주지 마세요.
- 자금 연동 전 감사(audit) 실행: 실제 자금을 연결하기 전에 온체인 상태 감사를 실행하세요. Foundry 같은 도구나 커스텀 스크립트로 시뮬레이션하고 검증하면—전체 감사로 복구하는 것보다 비용을 절약할 수 있습니다.
- 적대적 마인드셋: 악의를 가정하고 코드를 리뷰하세요. 프록시 로직에 대해 퍼저(fuzzer)를 사용하고 배포 후 비정상적인 상태 변화를 모니터링하세요.
Solana 개발자들은 PDA 보안에 특히 신경 써야 합니다: seeds를 올바르게 해시하고 업그레이드 경로를 제한하세요. 감사 중이라면 Deivitto의 전체 작성물을 여기에서 코드 스니펫과 다이어그램과 함께 확인해보세요.
밈 토큰과 DeFi에 미치는 광범위한 영향
USPD는 밈 코인은 아니지만, 파급 효과는 어디에나 미칩니다. 밈 토큰은 종종 검증된 프로토콜을 포크하는데, 그러면 프록시 리스크를 그대로 물려받지만 철저한 검증은 받지 못하는 경우가 많습니다. 바이럴한 개 테마의 스테이블코인이 CPIMP를 당한다고 상상해보세요—커뮤니티 자금이 순식간에 사라지고 신뢰는 하룻밤 사이에 무너집니다.
Meme Insider에서는 더 똑똑하게 빌드(또는 ape)할 수 있도록 정보를 제공하는 데 집중합니다. 이번 사건은 밈 프로젝트가 단순한 하이프 이상을 필요로 하는 이유를 다시 한 번 강조합니다: 견고한 보안이 진짜 문샷입니다. 경계하고, 철저히 감사하며, 기억하세요—크립토에서는 시스템을 당신 편으로 조작하지 않으면 집(체인)이 이깁니다.
어떻게 생각하시나요—프록시를 전투 테스트해보셨나요? 아래에 의견을 남겨주세요. 더 많은 DeFi 심층 분석을 원하시면 팔로우하세요.
출처: 분석은 Deivitto의 HackMD 게시물 및 storm0x의 X 스레드를 참고했습니다.