Час читання: 5 протокол
Навчіться захищати свій ринок від сумнозвісних хакерів.
NFT, цей термін викликав ажіотаж протягом останніх кількох років. Різноманітність варіантів його використання неможливо уявити. Запис майна в іграх у такому масштабі, в якому його можна використовувати, захоплює. Як і ринок NFT.
Ринок NFT — це платформа, яка полегшує передачу права власності на NFT і має правила для купівлі та продажу на ринку NFT. Це місце, де продаються різні NFT, а різні механізми купівлі та ставок покращують досвід продавців. Покупці мають хороший досвід завдяки безпеці смарт-контрактів.
Але подумайте на мить, наскільки важливо для ринків залишатися в безпеці та захищати себе та своїх користувачів від шахрайства та злому. Уявіть собі, скільки втрат призвело б до злами смарт-контрактів ринку. Навіть одна вразливість може призвести до втрати мільйонів доларів. Це як би страшно не звучало. Ринок повинен бути напоготові кожного разу, щоб забезпечити безпеку своїх користувачів від постійно розвиваються та прогресуючих загроз безпеки web3. Ми в QuillAudit розуміємо потреби часу та пропонуємо кілька життєво важливих порад, які допоможуть захистити ринок NFT. Давайте розглянемо їх по черзі.
керівні вказівки
У цьому розділі ми розглянемо поради та контрольні списки ринку nft, які допоможуть вашому ринку залишатися в безпеці під час хвилі експлойтів, що постійно розвивається.
1. Лише функції власника
Це ті функції, до яких має доступ лише ринок. Лише ринок може виконувати їх, і жоден інший покупець чи продавець NFT. Ці функції дуже корисні для контролю за безперебійною роботою платформи. Але якщо його не впровадити належним чином, це може коштувати вам вашого ринку.
Наприклад, не повинно бути випадків, коли параметри комісії можуть бути встановлені на 100, щоб продавці нічого не заробляли, а вся сума продажу надходила власнику (ринку). Якщо це так, жоден користувач не буде довіряти ринку, і ринок не буде рости. Повинна бути належна перевірка вхідних параметрів для цих функцій.
2. Автоматизовані боти
Автоматичні боти — це програми, які виконуються самостійно без особливого втручання людини. Ці боти можуть впливати на продажі NFT, завищувати ціни та брати участь в обмежених падіннях або запуску NFT. Усе це має вирішальне значення та може сильно вплинути на ринок.
Ботів можна пом’якшити, стримати, заблокувати та опустити, але спочатку потрібно ідентифікувати бота на платформі, що майже неможливо. Щоб уберегти свою платформу від таких атак, найкращий спосіб — зв’язатися з аудиторами nft і передати це на підряд Безпека Web3 такі компанії, як QuillAudits, які можуть допомогти вам виправити це та порадити, як діяти далі.
3. Оплатні функції
Ми повинні ретельно тестувати та перевіряти оплачувані функції в наших торгових контрактах, наприклад функції buy(). Розумієте, коли у нас багато умов IF, його контракти відкриті для вразливості, тому ми повинні гарантувати, що ніколи не пропускаємо жодних важливих перевірок у таких сценаріях. Наприклад, можуть виникнути умови, за яких функція отримує ефір від покупця та пропускає функцію, але не виконує деякі критичні операції, що призводить до застрягання в контракті, що важливо враховувати та вирішити.
4. Перевірки, пов'язані з торгами
Ставки є важливою функцією ринку для користувачів. Але ця функція може призвести до багатьох помилок, якщо про неї не подбати. Давайте подивимося деякі важливі та необхідні перевірки:-
- Дуже важливо забезпечити, щоб нова ставка завжди була більшою за попередню з очевидних причин.
- Чи передаєте ви «токен розміщення ставки» (наприклад, usdc) до контракту (тобто адресу (це))? Ретельно перевірте розрахунки.
- Коли розпродаж NFT завершиться, як переможець може отримати NFT? Тут NFT має бути з самим контрактом (тобто адресою (це)), щоб він міг передати його користувачеві. І NFT також слід надсилати на суму найвищої ставки. Знову ж таки, перевірте розрахунки.
- Кожного разу, коли робиться нова ставка, попередньому учаснику має бути повернута його сума ставки. Іноді цю важливу, але просту функцію втрачено, або є помилки в розрахунках. Тому переконайтеся, що ви пишете тестові випадки для цього.
5. Деякі загальні перевірки
У цьому розділі ми розглянемо деякі з поширених перевірок, які розробникам потрібно перевіряти для смарт-контрактів на ринку. Це може бути поширеним, але не тривіальним. Деякі вразливості смарт-контракту nft, спричинені цими неперевіреними умовами, можуть призвести до великих втрат; ми цього не хочемо. Давайте подивимося на них.
- Перевірте, чи використовується оракул. Чи можна маніпулювати цим оракулом, щоб давати неправильні відповіді?
- Повторне розміщення NFT за новою ціною без скасування попереднього лістингу не повинно бути можливим на платформах NFT.
- Тільки авторизовані користувачі повинні мати можливість купувати NFT, сплачуючи комісію. Завжди слід повторно перевіряти розрахунок відрахування комісії.
- Переконайтеся, що всі зовнішні виклики здійснюються з контракту Marketplace. Якщо є зовнішні виклики до деяких ненадійних контрактів у ланцюжку, розгляньте можливість використання Reentrancy Guard для захисту.
- Перевірте наявність передніх можливостей. Хтось, хто керує транзакцією, не повинен мати можливість скористатися логікою контракту, щоб отримати NFT за знижки, сплатити меншу комісію тощо.
- Якщо спотова ціна обміну використовується для визначення деяких комісій або ціни покупки, перевірте, чи можна нею маніпулювати. Чи вразливий він до атак Flash-кредиту? Ви ніколи не повинні залежати від спотової ціни обміну та використовувати оракул для визначення цін.
- Переконайтеся, що URI NFT неможливо змінити після встановлення та що метадані зберігаються в децентралізованій системі зберігання файлів, а не в централізованому сховищі, яким можна легко маніпулювати, щоб уникнути Rug Pulls.
- Перевірте, чи NFT залишається в списку для продажу навіть після того, як користувач видалив його з продажу на ринку. Ця помилка була виявлена на одній із найпопулярніших платформ NFT, в результаті чого власники втрачали NFT.
- Жодна логіка ринку NFT не повинна залежати від схвалення NFT на адресу контракту. Він завжди повинен використовувати функцію transferFrom від продавця до себе під час створення нового продажу. Таким чином, коли продаж завершиться, NFT можна буде безпосередньо передати покупцеві, незалежно від схвалення продавця.
Висновок
Існує багато NFT вартістю мільйони доларів. Уявіть собі, до чого зменшиться їх вартість, якби ринки NFT були зламані. Жоден ринок не захоче цього. Розумієте, ринкові платформи працюють із довірою користувачів. Користувачі повинні почуватися захищеними та безпечними, щоб використовувати платформи в повній мірі.
Вищезазначені перевірки є вирішальними та допоможуть вам уберегти свій ринок від атак. Однак, як відомо, безпека завжди вимагає більшого. Атаки на цінні протоколи постійно поширюються, і щоб уберегтися від них, нам потрібен регулярний аудит наших контрактів. Хто краще, ніж QuillAudits, може це зробити? З командою досвідчених експертів ми допоможемо вам захистити ваші протоколи та забезпечити вашу повну безпеку. Перегляньте наш веб-сайт і захистіть свій проект Web3!
11 думки
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://blog.quillhash.com/2023/03/07/nft-marketplace-smart-contract-audit-guidelines/
- :є
- 100
- 7
- 8
- 9
- a
- Здатний
- доступ
- адреса
- Перевага
- після
- ВСІ
- завжди
- кількість
- та
- Відповіді
- твердження
- ЕСТЬ
- AS
- At
- нападки
- аудит
- аудит
- Аудитори
- Автоматизований
- назад
- BE
- буття
- КРАЩЕ
- Краще
- пропозиція
- блокований
- Бот
- боти
- приносити
- Помилка
- помилки
- купити
- покупців
- Купівля
- by
- розрахунки
- Виклики
- CAN
- не може
- який
- випадок
- випадків
- викликаний
- ланцюг
- перевірка
- Перевірки
- стверджувати
- загальний
- Компанії
- повний
- Компрометація
- Умови
- Вважати
- контакт
- контракт
- контрактів
- Коштувати
- може
- обкладинка
- створення
- критичний
- вирішальне значення
- децентралізований
- Залежно
- Визначати
- розробників
- різний
- безпосередньо
- знижки
- доларів
- подвійна перевірка
- краплі
- e
- заробляти
- легше
- легко
- або
- забезпечувати
- помилки
- і т.д.
- Ефір
- Навіть
- Кожен
- приклад
- обмін
- виконувати
- досвід
- досвідчений
- experts
- подвигів
- зовнішній
- полегшує
- зазнає невдачі
- захоплюючий
- плата
- Інформація про оплату
- кілька
- філе
- Перший
- виправляти
- спалах
- для
- знайдений
- шахрайство
- від
- функція
- функціональність
- Функції
- Отримувати
- Games
- отримати
- отримання
- Давати
- йде
- добре
- великий
- Рости
- керівні вказівки
- хакі
- Мати
- сильно
- важкий
- допомога
- тут
- найвищий
- Як
- How To
- HTTPS
- людина
- обман
- i
- ідентифікувати
- Impact
- реалізовані
- важливо
- неможливе
- in
- вхід
- втручання
- IT
- ЙОГО
- сам
- тримати
- Знати
- останній
- запуски
- вести
- як
- обмеженою
- Перераховані
- список
- позику
- подивитися
- програш
- від
- серія
- made
- зробити
- РОБОТИ
- маніпулювати
- багато
- ринку
- ринки
- метадані
- мільйони
- момент
- більше
- найбільш
- Найбільш популярний
- необхідно
- Необхідність
- потреби
- Нові
- НФТ
- nft краплі
- nft ринок
- Ринки NFT
- Платформи NFT
- продаж nft
- продажі nft
- NFT
- горезвісний
- Очевидний
- of
- on
- На місці
- ONE
- відкрити
- операції
- оракул
- Інше
- аутсорсинг
- власний
- власник
- Власники
- власність
- параметри
- брати участь
- проходить
- Платити
- платіж
- місце
- розміщення
- платформа
- Платформи
- plato
- Інформація про дані Платона
- PlatoData
- популярний
- володіння
- можливостей
- це можливо
- потенціал
- Харчування
- попередній
- price
- ціни
- програми
- проект
- правильний
- правильно
- власність
- захищений
- захист
- протоколи
- Тягне
- Квілхаш
- швидше
- Причини
- отримує
- запис
- зменшити
- регулярний
- залишається
- Вилучено
- результат
- в результаті
- килим тягне
- Правила
- прогін
- сейф
- Безпека
- sale
- продажів
- зберегти
- шкала
- сценарії
- розділ
- безпечний
- безпеку
- Загрози безпеці
- Продавці
- Продаж
- комплект
- Повинен
- простий
- один
- розумний
- розумний контракт
- Аудит смарт-контрактів
- Спритні контракти
- So
- деякі
- Хтось
- Spot
- залишатися
- Як і раніше
- зберігання
- зберігати
- такі
- система
- Приймати
- команда
- тест
- Що
- Команда
- їх
- Їх
- самі
- Ці
- ретельно
- загрози
- час
- Поради
- до
- угода
- переклад
- передані
- Довіряйте
- розуміти
- USDC
- використання
- користувач
- користувачі
- Цінний
- різноманітність
- життєво важливий
- Уразливості
- вразливість
- Вразливий
- хвиля
- шлях..
- Web3
- проект web3
- веб-сайт
- Що
- який
- ВООЗ
- широкий
- волі
- з
- без
- робочий
- вартість
- б
- запис
- Неправильно
- років
- Ти
- вашу
- зефірнет