Back to Blog

Как неправильно проверять подпись — на примере AssociationNFT

Code Auditing
April 21, 2022
2 min read
Image: Raymond Clarke/Flickr
Image: Raymond Clarke/Flickr

The Association NFT — это NFT-проект, запущенный NBA. Однако мы обнаружили, что смарт-контракт продажи этих NFT содержит серьезную уязвимость, которая позволяет злоумышленнику выпустить (минтить) большое количество NFT, не оплачивая их токенами.

Первопричиной уязвимости является некорректное использование проверки подписи. По сути, контракт не гарантирует, что подпись может быть использована только пользователем (и исключительно им самим) и только один раз. В данном случае злоумышленник может повторно использовать подпись привилегированного пользователя и выпустить токены на свой собственный адрес.

Мы видим, что в функции verify в подписи отсутствует адрес отправителя. Кроме того, нет механизма включения одноразового номера (nonce), чтобы гарантировать, что подпись может быть использована только один раз. Эти требования безопасности являются базовыми знаниями курса по программной безопасности.

Мы удивлены тем, как подобная уязвимость могла существовать в популярном NFT-проекте. Всему сообществу необходимо уделять больше внимания безопасности смарт-контрактов.

О компании BlockSec

BlockSec — это передовая компания в области блокчейн-безопасности, основанная в 2021 году группой всемирно известных экспертов по безопасности. Компания стремится повысить уровень безопасности и удобства использования для развивающегося мира Web3, чтобы способствовать его массовому внедрению. Для этого BlockSec предоставляет услуги по аудиту безопасности смарт-контрактов и EVM-сетей, платформу Phalcon для разработки в области безопасности и проактивного предотвращения угроз, платформу MetaSleuth для отслеживания и расследования движения средств, а также расширение MetaSuites для эффективной работы разработчиков Web3 в криптомире.

На сегодняшний день компания обслужила более 300 уважаемых клиентов, таких как MetaMask, Uniswap Foundation, Compound, Forta и PancakeSwap, и привлекла десятки миллионов долларов США в ходе двух раундов финансирования от выдающихся инвесторов, включая Matrix Partners, Vitalbridge Capital и Fenbushi Capital.

Официальный сайт: https://blocksec.com/

Официальный аккаунт в Twitter: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Мост Harmony Cross-Shard ONE Mint + потеря ключей на ~$47М | BlockSec
Security Insights

Мост Harmony Cross-Shard ONE Mint + потеря ключей на ~$47М | BlockSec

10-16 авг 2026: 5 инцидентов, ~$47М убытков. Анализ — уязвимость Harmony: replay чеков между шардами создал 3.01Т ONE (не учтено в убытках). $47М — кражи ключей (Whale ~$25М, Kite ~$14М, Coinsbuy ~$7.9М) и ошибка Fox (~$117K).

~$1.6M потеряно: эксплойты токена Moke и LpdFi | BlockSec Weekly
Security Insights

~$1.6M потеряно: эксплойты токена Moke и LpdFi | BlockSec Weekly

За неделю 3-9 августа 2026 года в BNB Chain произошло 2 инцидента с общими потерями ~$1,6 млн из-за манипуляций с ценами. LpdFi (~$697K): атакующий использовал резервы PancakeSwap для завышения позиции. Moke Token (~$906K): манипуляция ценой и дублирование дивидендов LP.

Инцидент с COLDCARD: когда «случайная» сид-фраза кошелька оказалась не случайной
Security Insights

Инцидент с COLDCARD: когда «случайная» сид-фраза кошелька оказалась не случайной

Ошибка в прошивке COLDCARD направляла генерацию seed на слабый программный ГСЧ, делая кошельки восстановимыми офлайн. Обновление не устраняет проблему. К 7 августа 2026 г. подтверждённые потери — 1 405 BTC (~$91 млн), оценки до 2 055 BTC.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit
Как неправильно проверять подпись — на примере AssociationNFT