NFT безопасност
Дрейнъри, фалшиви минт сайтове, setApprovalForAll - как хората губят NFT-тата си.
Думите с точица са обяснени - посочи ги или ги цъкни. Някои ключови думи са и линкове към урока си - можеш да го отвориш директно, ако искаш.
NFT пространството е любима мишена за дрейнър скриптове - злонамерен код на фалшив сайт, който източва целия wallet с един-два подписа. Не е нужно да си дал seed фразата си. Стига да натиснеш „Confirm“ на грешното място.
Затова NFT безопасността има отделна страница: тук транзакциите са по-сложни, подписите са повече, а измамниците виждат on-chain какво държиш и знаят точно кое да поискат. Общите правила са в крипто безопасността - тук важат с двойна сила.
Как работи един дрейнър
Дрейнърите се продават като готова услуга: измамникът получава копие на сайт и скрипт, който, щом свържеш wallet-а, вижда какво държиш и ти подава за подпис първо най-ценното. Методът почти винаги е един от трите:
- Апрув за цяла колекция - setApprovalForAll
- Подпис извън блокчейна - Seaport, permit и подобни
- Директна транзакция, която прехвърля активите ти, маскирана като „mint“ или „claim“
setApprovalForAll - ключът за цялата колекция
Това е функция в NFT стандартите ERC-721 и ERC-1155, с която даваш на някой адрес право да прехвърля всички твои NFT-та от дадена колекция - сегашните и бъдещите - докато не отнемеш правото.
Маркетплейсите го искат с право: така прехвърлят NFT-то ти на купувача, когато някой купи обявата ти. Затова при първия листинг от дадена колекция ще видиш такава заявка. На официалния маркетплейс това е нормално. На сайт, на който си влязъл за „минт“ или „клейм“, това е кражба, която чака само твоя клик.
Wallet-ът обикновено го показва с текст от типа „дай достъп до всички твои [колекция]“. Минтът никога не иска достъп до NFT-та, които вече имаш.
Подписът може да е толкова опасен, колкото транзакцията
Тук губят дори опитни хора, защото „само подписах съобщение, не платих газ“.
Някои подписи извън блокчейна са просто вход в сайт - текст, който доказва, че wallet-ът е твой. Други са пълномощно: подписан документ, който някой друг може да изпрати в блокчейна по-късно, без да те пита повече.
- Seaport подпис - така се правят обявите в OpenSea: подписваш „продавам тези NFT-та на тази цена“. Фалшив сайт ти дава да подпишеш поръчка, с която продаваш ценните си NFT-та за почти нищо. Ако вече имаш апрув към маркетплейса за тази колекция (а го имаш, щом някога си листвал от нея), поръчката може да се изпълни веднага.
- Permit подписи - същата идея за токени: с един подпис разрешаваш на някого да харчи токените ти, без отделна транзакция от твоя страна.
- PSBT при Bitcoin Ordinals - обявите там също са подписи. Фалшив сайт може да ти даде PSBT, който на практика продава инскрипциите ти за нищо.
- Solana - дрейнърите обикновено ти подават транзакция, която прехвърля всичко наведнъж, маскирана като минт или клейм.
Правилото ми: ако подписът съдържа твои активи, цени, адреси или думи като „order“, „permit“, „approve“ - четеш го като транзакция с парите ти. Ако wallet-ът показва само неразбираем низ от символи (blind signing), не подписваш. Съвременните wallet-и (Rabby, Phantom, MetaMask и др.) показват симулация какво ще излезе от wallet-а ти - гледай я всеки път.
Фалшиви минт сайтове и хакнати акаунти
- Копия на сайтове - класически фишинг: домейн с една буква разлика и същият дизайн. Често излизат като реклама над истинския резултат в Google.
- Хакнати Discord сървъри - хакнат модератор или бот публикува „surprise mint само за холдъри, 30 минути“. Изглежда официално, защото е в официалния канал.
- Хакнати X акаунти - на проекта, на основателя, дори на известни личности. Пост с линк за „airdrop“ или „mint“, често с ограничени отговори, за да не може никой да предупреди.
- Линкове в коментарите - под официалните постове на проекта веднага се появяват акаунти с почти същото име и „mint линк“. Официалният линк никога не е в коментар от друг акаунт.
- Фалшив „support“ - пише ти пръв в DM, „помага“ с проблем и те праща да „верифицираш“ wallet-а си. Истинският support никога не ти пише пръв.
- Фалшиви „verify“ ботове в Discord, които искат да свържеш wallet, за да влезеш в сървъра.
Защитата е скучна, но работи: bookmark на сайтовете, които ползваш, линкове само от поне два официални източника, които си съвпадат, и съмнение към всичко с таймер. Спешността е инструментът на измамника - повече за моделите в как да разпознаеш измама.
Спам NFT-та и „free mint“ примамки
В wallet-а ти се появява NFT, което не си купувал: „Честито, спечели 5 000 USDC, claim на сайт.xyz“. Или „free mint“ на колекция, за която никой не е чувал. Това е въдица.
- Не отваряй линка от NFT-то и не се опитвай да го продадеш или изгориш през непознат сайт.
- Скрий го - повечето wallet-и и маркетплейси имат раздел за скрити или спам NFT-та.
- Самото NFT в wallet-а ти не може да ти вземе нищо. Опасно е само това, което подпишеш заради него.
Истинският free mint е транзакция, в която плащаш само газ и получаваш NFT. Ако „безплатният“ минт иска апрув или подпис за активите ти - не е безплатен. Как изглежда един нормален минт - в минт стратегиите.
Vault wallet за ценните NFT-та
Дръж ценните NFT-та в отделен vault wallet - най-добре на hardware wallet - който никога не свързваш към минт сайтове, клейм страници или нови проекти. Минтваш и експериментираш от отделен hot wallet с малко средства; когато нещо стане ценно, го местиш в сейфа. Подробно за разделянето - в hot и cold wallet.
Важно: hardware wallet-ът пази ключовете ти, не преценката ти. Ако с него подпишеш злонамерен апрув, губиш също толкова. Някои проекти поддържат делегиране (например delegate.xyz) - от hot wallet-а доказваш, че притежаваш NFT в сейфа, без сейфът да се свързва никъде.
Revoke на старите апруви
Всеки апрув, който някога си дал, остава активен, докато не го отнемеш. Маркетплейс, който вече не ползваш, или проект, който бъде хакнат година по-късно, е отворена врата.
- На EVM мрежите - Revoke.cash или token approval checker-ът в експлоръра (Etherscan има такъв). Прегледай всички апруви и отнеми ненужните. Revoke-ът е транзакция и струва газ - струва си.
- Ако подозираш, че си подписал злонамерен Seaport подпис - отнеми апрува към маркетплейса за съответните колекции (без него поръчката не може да се изпълни) и премести NFT-тата в нов, чист wallet.
- Ако seed фразата ти е компрометирана, revoke не помага - създай нов wallet и премести всичко веднага.
Преди всеки подпис си задай един въпрос: какво точно ще излезе от wallet-а ми, ако това се изпълни? Ако не знаеш отговора - не подписваш.
Свързани уроци
Без сигнали и без обещания за печалба. Какво никога няма да направя