이더리움(Ethereum) 레이어 2 네트워크 중 하나인 앱스트랙트(Abstract)에서 블록체인 기반 게임 카드엑스(Cardex)를 통해 약 40만 달러(약 5억 7,600만 원) 상당의 암호화폐가 탈취당하는 사건이 발생했다.
앱스트랙트는 사후 보고서를 통해 이번 해킹이 자체 인프라나 세션 키 검증 계약의 문제 때문이 아니라, 카드엑스 프론트엔드 코드의 취약점에서 비롯됐다고 설명했다.
**보안 취약점과 해킹 과정**
이번 사건의 핵심은 ‘세션 키’ 관리 부실이었다. 앱스트랙트는 글로벌 지갑(Abstract Global Wallet, AGW)의 기능 중 하나인 세션 키를 사용해 유저 경험을 개선하고 있는데, 카드엑스는 모든 사용자를 대상으로 단일 서명 지갑을 공유하는 방식을 채택했다. 전문가들은 이를 '추천되지 않는 방식'이라며 경고해왔다.
더욱이 서명자의 개인 키가 카드엑스 프론트엔드 코드에 노출되면서 공격자가 이를 악용할 수 있는 가능성이 열렸다. 앱스트랙트의 분석에 따르면, 해커는 피해자의 ‘오픈 세션’을 탐지한 뒤 일정량의 `buyShares` 거래를 실행했다. 이후 탈취한 세션 키를 활용해 해당 자산을 자기 계정으로 이동시킨 뒤, 카드엑스의 본딩 커브에서 판매해 이더리움(ETH)을 확보하는 수법을 사용했다.
이번 공격으로 인해 카드엑스 내에서 사용된 이더리움만 영향을 받았으며, ERC-20 토큰과 대체불가능토큰(NFT) 자산은 피해를 보지 않았다고 앱스트랙트는 강조했다.
**대응 조치와 향후 계획**
해킹이 감지된 것은 미국 동부시간 기준 2월 18일 오전 6시 7분경이다. 한 개발자가 특정 지갑에서 자금이 유출되고 있다는 거래 내역을 공유하며 주의를 환기시켰고, 이후 30분 이내에 카드엑스가 문제의 출처임이 확인됐다. 앱스트랙트 및 보안팀은 즉각 대응에 나서 카드엑스 접근 차단, 세션 승인 해제 사이트 배포, 코드 업그레이드를 통해 추가 피해를 방지했다.
앱스트랙트는 향후 모든 앱스트랙트 포털 내 등록된 애플리케이션을 대상으로 보안 검토를 강화할 계획이다. 특히 프론트엔드 코드에 대한 정밀 감사를 필수적으로 진행하여 민감한 키가 유출되지 않도록 할 방침이다. 또한, 세션 키 사용 방식에 대한 관리 강화를 계획하고 있으며, 사용자가 부여하는 권한을 보다 명확하게 확인할 수 있도록 블록에이드(Blockaid)의 트랜잭션 시뮬레이션 툴을 AGW에 통합할 예정이다.
더 나아가 ‘세션 키 대시보드’를 앱스트랙트 포털 내에 구축해, 사용자들이 자신의 세션을 한곳에서 검토하고 필요 시 쉽게 철회할 수 있도록 지원할 예정이다.