← 블로그로 돌아가기

Rain의 Solana 컨트랙트 문제가 카드 잔액 위험을 드러낸다

Rain은 8월 29일, 자사 모니터링 시스템이 구버전 Solana 컨트랙트를 쓰던 소수 프로그램에 영향을 주는 취약점을 발견했다고 밝혔다. 다른 프로그램은 영향을 받지 않았고, 오래된 프로그램은 업그레이드했으며, 외부 포렌식 전문가를 투입했고, 피해를 본 사용자에게는 보전하겠다고 했다.

이 표현이 중요하다. Rain이 떠받치는 모든 카드가 영향을 받았다는 말과는 다르다. 지갑이 털렸다는 말과도 다르다. 더 안전한 해석은 좁다. 오래된 Solana 컨트랙트에 여전히 기대던 일부 카드 프로그램에 실제 보안 문제가 있었고, Rain은 해당 프로그램을 업그레이드 버전으로 옮겼다.

카드 잔액은 별개의 노출이다

암호화폐 카드 사용자는 지갑 위험과 거래소 위험을 따로 두는 경우가 많지만, 카드 잔액 위험에도 자기 칸이 필요하다. 자금이 카드 잔액이나 지출용 계좌로 옮겨간 순간, 사용자가 기대는 건 개인키만이 아니다. 발행사, 카드 프로그램, 자금 공급 컨트랙트, 정산 과정, 그리고 그 모두를 둘러싼 통제에도 기대게 된다.

그래서 "필요한 만큼만 충전하라"는 말은 흔한 안전 조언이 아니다. 카드 특유의 사고에 노출되는 잔액의 크기 자체를 바꾼다. 주로 주간 구독료나 여행, 매장 결제 몇 건에 쓰는 카드라면, 카드 시스템 안에 훨씬 큰 잔액을 두는 것은 결제 경험을 낫게 하지도 못하면서 노출만 늘린다.

정확한 경계는 여전히 카드마다 다르다. 결제 시점에 지갑에서 끌어오는 상품이 있고, 선불 잔액을 쓰는 상품이 있으며, 지갑 자금과 지출 잔액과 카드 잔액을 층으로 나누는 상품도 있다. Rain 사안은 암호화폐 카드를 평범한 은행 카드처럼 다루기 전에, 쓸 수 있는 자금이 실제로 어느 층에 있는지 확인하라는 신호다.

영향 범위의 선을 늘려 잡아서는 안 된다

커뮤니티 게시물들은 Rain 인프라를 쓰는 카드 프로그램을 재빨리 나열했다. 그 목록은 소비자용 카드 브랜드 뒤에 Rain이 얼마나 넓게 자리하는지 이해하는 데는 쓸모가 있지만, 영향을 받은 상품 목록으로 다뤄서는 안 된다.

Rain 자신의 표현은 더 한정적이었다. 오래된 Solana 컨트랙트를 쓰는 소수 프로그램이 영향을 받았고 다른 프로그램은 그렇지 않다는 것이다. KAST도 영향을 받지 않았다고 공개적으로 답했다. 카드 프로그램이나 Rain이 특정 상품을 지목하기 전까지 조심스러운 문장은 "Rain이 일부 구버전 Solana 컨트랙트 프로그램에서 문제를 보고했다"이지, "Rain이 발행한 카드가 해킹당했다"가 아니다.

이 차이는 겉치레가 아니다. 암호화폐 카드 구성에는 사용자를 마주하는 브랜드, 카드 발행사, 입금이나 정산에 쓰는 체인, 지출을 위해 보유하는 자산, 그리고 카드 네트워크가 있다. 하나의 Solana 컨트랙트 경로에서 생긴 문제가 EVM 잔액이나 지갑 잔액, 다른 카드 프로그램, 또는 같은 인프라 제공사를 쓰는 모든 카드에 대해 자동으로 무언가를 말해 주지는 않는다.

실용적인 확인은 카드 계정 안에서 시작한다

실용적인 확인은 카드 계정 안에서 시작한다. 자기 카드가 선불 잔액을 쓰는지, 자금이 Solana에 있는지 다른 네트워크에 있는지, 그 카드 프로그램이 자체 공지를 냈는지, 출금이나 카드 결제가 지금도 정상인지 살펴보면 된다.

어떤 카드 프로그램이 영향을 받지 않았다고 확인해 주면 유용한 정보지만, 그것이 일반적인 습관까지 없애 주지는 않는다. 암호화폐 카드는 실제 지출 필요에 맞춰 충전해야 한다. 더 큰 잔액은 사용자가 의도적으로 보관이나 수익 노출을 원하는 자리에 두어야지, 가맹점 결제를 편하게 하려고만 존재하는 카드 잔액에 둘 것이 아니다.

Rain의 대응은 사고 뒤에 발행사에서 무엇을 봐야 하는지도 보여준다. 영향 범위를 지목했는지, 오래된 컨트랙트를 업그레이드했는지, 외부 포렌식이 들어왔는지, 수사기관이나 규제기관을 언급했는지, 그리고 구제가 어떻게 진행되는지 사용자에게 알렸는지다. 전액 보상은 중요하지만, 카드 사용자에게 남는 운영상의 교훈은 더 단순하다. 카드 잔액은 놀고 있는 돈이 아니다. 결제 체계 안에 놓인 돈이다.