비수탁형 · 읽기 전용

Permit & Permit2 피싱

Permit 서명은 가스비가 들지 않고 트랜잭션으로도 나타나지 않습니다, 바로 그 점이 피싱 세계에서 드레인을 준비하는 가장 선호되는 방법으로 만듭니다. 그것이 어떻게 작동하는지, 그리고 어떻게 방어하는지 알아봅니다.

무료로 지갑 스캔하기 텔레그램에서 24/7 감시

공개 주소만 입력하세요. 지갑 연결도, 서명할 것도 없습니다.

Permit 서명이란

EIP-2612의 Permit은 온체인 approve 트랜잭션을 보내는 대신 오프체인 서명으로 spender의 토큰 allowance를 승인할 수 있게 합니다, spender가 나중에 당신의 서명을 제출해 이를 활성화합니다. Permit2는 여러 dapp에서 공용으로 쓰이는 allowance 컨트랙트로, 같은 일을 더 넓은 범위에서 수행하며 Permit을 자체 지원하지 않는 토큰까지 아우릅니다.

피싱의 최적 표적인 이유

서명은 가스비가 들지 않고 서명하는 순간 온체인 트랜잭션을 만들지 않으므로, approve() 호출과 달리 당신의 지갑 활동 기록에 절대 남지 않습니다. 이는 signTypedData 요청인데, 많은 지갑이 여전히 이를 밋밋하고 낯선 프롬프트로 표시합니다, 무엇이 부여되는지 인지하지 못한 채 그냥 눌러 넘기기 쉽습니다.

피셔들이 이를 수확하는 방법

가짜 수령, 민팅, 또는 에어드롭 페이지가 실제로는 Permit 또는 Permit2 승인인 것에 서명하게 하며 '인증'하거나 '수령'하라고 요구합니다. 공격자가 이를 사용(redeem)하기로 결정하기 전까지는 온체인에서 눈에 보이는 일이 아무것도 일어나지 않기 때문에, 피해자는 오늘 서명하고 며칠 또는 몇 주 뒤에야 드레인당할 수 있습니다, 서명 직후 '방금 뭔가 일어났나?' 하고 확인하려는 자연스러운 본능을 무너뜨리죠.

실제로 효과 있는 방어법

트랜잭션을 읽듯이, 서명하기 전에 모든 signTypedData 프롬프트에서 Permit 또는 Permit2 도메인과 spender를 확인하세요. Veriql의 Guardian은 이런 페이로드를 디코딩해, 검증되지 않은 spender에 대한 무제한 금액 Permit2 서명을 승인하기 전에 경고를 띄웁니다. 서명된 permit은 잠복해 있을 수 있으므로, 이후에 주소도 스캔하세요, 활성화된 Permit2 allowance는 일반 승인과 똑같이 표시되며 같은 방식으로 revoke할 수 있습니다.

자주 묻는 질문

Permit 서명에 가스비가 드나요?

아니요: 서명 자체는 무료입니다. 나중에 spender가 그 서명을 사용(redeem)하는 온체인 호출에만 가스비가 들며, 그것은 보통 제출하는 쪽이 내지 반드시 당신이 내는 것은 아닙니다.

이미 하나 서명했는지 어떻게 아나요?

주소를 스캔하세요: Permit 또는 Permit2 서명이 온체인에서 사용(redeem)되고 나면, 토큰의 저장 공간에 일반 allowance로 남아, 무제한이든 아니든 다른 승인과 똑같이 스캔에 나타납니다.

관련 글