지갑 키는 갖지 않아요: Burokku가 보관하는 것, 거부하는 것, 그 대가
Burokku가 키 없이 지갑을 읽는 방법, 출금할 수 있는 거래소 키를 거부하는 이유, 그리고 이 설계로 나와 저희가 감수하는 대가를 설명해요.
글: Burokku 팀2026년 11월 12일 게시읽는 데 4분
Burokku는 내가 보유한 모든 것을 보기 때문에 공격 대상이 되기 쉬워요. 그래서 저희가 만든 것의 대부분은 질문 하나에서 출발했어요. 누군가 정말로 침입한다면, 내 돈으로 무엇을 할 수 있을까?
할 수 있는 한 적게요. Burokku는 내 어떤 지갑의 개인 키도 보관하지 않고, 출금할 수 있는 거래소 키는 저장하지 않으며, 로그인한 세션만으로는 절대 나를 대신해 움직이지 않아요. 어떻게 그렇게 하는지, 그리고 그 대가는 무엇인지 이야기할게요.
지켜보는 데는 키가 필요 없어요
지갑은 주소나 ENS 이름을 붙여 넣어 추가해요. Solana와 Bitcoin을 포함한 60개 이상의 체인을 지원하고, Hyperliquid, Lighter, Aster 계정도 같은 방식으로 읽어요. 잔액, 포지션, 기록을 읽는 데는 이것으로 충분해요. 지켜보는 주소에서는 아무것도 서명하지 않으니, 가져갈 것도 없어요.
그 지갑으로 무언가를 하려면 지갑을 연결하고 거래마다 직접 서명해요. 하드웨어 지갑은 기기에서 서명해요.
보관하는 키는 한 종류뿐이에요
거래소에는 지켜볼 주소가 없어서, 읽으려면 API 키가 필요해요. Burokku가 저장하는 유일한 비밀 정보이고, 다음 규칙을 따라요.
- 연결할 때는 읽기 전용이어야 해요. Burokku는 무엇이든 저장하기 전에 거래소에 키의 권한을 물어보고, 거래나 출금이 가능한 키는 거부해요. Binance에서 알맞은 키를 만드는 방법은 이 가이드에서 볼 수 있어요.
- 내 계정 안에 봉인돼요. 키는 저희 서버에서 내 계정만의 공간에 암호화되어 보관돼요. 브라우저는 저희 것이든 내 것이든 키의 마지막 네 글자만 볼 수 있어요.
- 매일 다시 확인해요. 읽기 전용 키가 나중에 거래나 출금 권한을 얻으면 삭제하고 이메일로 알려 줘요.
Burokku에서 10개 이상의 거래소 중 한 곳으로 거래하려면 대신 거래 키를 연결해요. 이 키는 거래는 할 수 있지만 출금이나 이체는 할 수 없어야 하고, Burokku의 호출이 나가는 고정 IP 주소 하나에 잠겨 있어야 해요. 그래서 복사본은 다른 곳에서 쓸모가 없어요. 출금 권한을 얻거나 잠금이 풀린 키도 삭제해요. 주문마다 가격을 어떻게 정하고 확인하는지는 거래에서 설명해요.
세션만으로는 충분하지 않아요
로그인은 그때 나였다는 것을 증명할 뿐, 지금도 나라는 것을 증명하지는 않아요. 그래서 Burokku가 나를 대신해 움직이게 하는 일은 모두 패스키(또는 인증 앱)로 새로 확인해야 해요. 자동화 켜기, 거래용 키 연결, 한도 올리기, 적립식 매수 설정, 자리를 비운 동안 실행될 거래 활성화 같은 일이요. 확인은 그 작업 하나에만 유효하고, 활성화된 규칙을 수정하면 다시 확인할 때까지 기다려요.
위험을 줄이는 일은 확인을 묻지 않아요. 자동화 일시 중지, 한도 낮추기, 포지션 종료 같은 일이요. 누군가 내 세션을 가로챘다고 생각되면 계정을 잠그세요. 자동화가 일시 중지되고 모든 세션에서 로그아웃돼요. 보안 변경과 돈을 움직이는 일은 모두 감사 로그에 남아요. 각 내용은 보안 작동 방식에서 설명해요.
트레이딩 지갑: 내 지갑이고, Burokku는 제한된 서명자예요
적립식 매수나 대출이 청산되기 전에 상환해 주는 보호 기능처럼, 자리를 비운 동안 거래하는 자동화에는 나 없이 서명할 수 있는 무언가가 필요해요. 저희는 그게 저희가 보관하는 키이기를 원하지 않았어요. 그래서 Burokku는 내 패스키 중 하나가 소유하는 트레이딩 지갑을 EVM 체인용과 Solana용으로 하나씩 만들어요.
- 소유자는 내 패스키예요. 규칙 변경, Burokku 제거, 키 내보내기, 출금은 패스키만 할 수 있어요. 이런 요청은 내 브라우저가 서명하고, 저희 서버는 전달만 해요.
- Burokku는 규칙이 허용하는 것만 서명해요: 같은 체인 안에서 지갑으로 되돌아오는 스왑, 그리고 대출 보호를 위해 내가 목록에 올린 지갑의 상환이나 담보 추가예요. 이 지갑들은 먼저 내 것임을 증명하는 메시지에 서명해요. 다른 주소로 자금을 보내는 것을 포함해 그 밖의 모든 것은 거부돼요. 지갑을 보관하는 서비스가 서명할 때마다 규칙을 확인하고, 규칙은 내 패스키가 소유하므로 저희 쪽에서 느슨하게 바꿀 수 없어요.
규칙으로도 도난당한 Burokku 서명자가 지갑 안의 토큰끼리 나쁜 가격에 스왑하는 것까지는 막을 수 없어요. 그래서 지갑에는 내가 옮겨 넣은 것만 들어 있고, Burokku의 자체 확인이 먼저 적용돼요. 거래당 한도와 일일 한도, 그리고 시장 가격보다 크게 불리할 수 없는 견적이에요. 실행을 어떻게 제한하는지는 자동화에서 볼 수 있어요.
무기한 선물 DEX 키는 내 브라우저에 남아요
Hyperliquid, Aster, Lighter에서는 반대로 했어요. 거래를 켜면 Burokku가 내 브라우저에서 새 키를 만들고, 내 지갑이 해당 거래소에서 한 번 승인해요. 키는 저희 서버에 절대 전달되지 않고, 이 키들 중 어느 것도 다른 주소로 자금을 보낼 수 없어요. 키는 암호화해서 보관하지만 페이지의 스크립트가 쓸 수는 있어요. 그래서 Hyperliquid와 Aster 키는 30일 후 만료되고, 거래는 탭 한 번으로 끌 수 있으며, 모든 주문은 거래소에서와 같은 가격 규칙으로 확인해요.
이 설계의 대가
일부는 내가 감수해야 해요.
- 지켜보는 지갑으로는 아무것도 할 수 없어요. Burokku는 대출이 청산에 가까워졌다고 경고할 수 있지만, 그 지갑에서 해결하려면 직접 서명해야 해요. 자리를 비운 동안 Burokku는 내가 자금을 넣은 트레이딩 지갑이나 거래소 거래 키로만 움직여요.
- 거래 키도 결국 저희가 보관하는 키예요. 주문을 넣을 때 저희 서버가 키를 열어요. IP 잠금, 출금 금지 규칙, 저희의 확인이 키로 할 수 있는 일을 제한하지만, 위험을 0으로 만들지는 않아요.
- 무기한 선물 DEX 주문은 내 브라우저에서 나가요. 그곳에는 아직 자동화가 없어요. 저희 서버가 쓸 수 있는 키는 전혀 다른 종류의 신뢰가 필요하기 때문이에요. 손절이 실행되면 Burokku는 포지션이 종료된 것은 보지만, 익절인지 손절인지 청산인지는 알 수 없어요. 브라우저마다 자기 키를 따로 승인하고, 스마트 지갑으로는 키를 승인할 수 없어요.
- 트레이딩 지갑은 내 지갑보다 할 수 있는 일이 적어요: 몇몇 체인에서 같은 체인 안의 스왑만 되고, 브리지는 안 되며, 일부 도구에서는 쓸 수 없어요. 새로운 일을 하려면 내 패스키로 새 규칙을 승인해야 해요.
- 확인 요청이 늘어나요. 그리고 2단계 인증 수단을 바꾸면 24시간 동안 자동화를 켤 수 없어요.
저희는 이게 맞는 선택이라고 생각해요. 내 돈을 모두 읽는 도구가 그 돈을 쉽게 가져가는 통로가 되어서는 안 되니까요.