Нещодавно виявлено небезпечний патерн. За допомогою порівняння аномальних даних виникає підозра, що це різновид "атаки першого створення".
Спершу розглянемо явища у даних: вкладення 0.001 BNB для купівлі дає 1000 токенів (еквівалент $0.3), але при виведенні отримуєш аж 15 000 000 токенів (вартістю $450). Відсоток прибутку у 1500 разів — це вже значно перевищує будь-який нормальний прослиз або математичну похибку, за цим явно щось стоїть.
Найімовірніша атака — прямий виклик функції mint. Деякі контракти з поганою якістю реалізації не мають належної перевірки дозволів, і будь-хто може безпосередньо викликати функцію створення токенів:
function mint(address to, uint amount) public { _mint(to, amount); }
У такому випадку зловмисник просто купує трохи токенів (залишаючи запис про адресу), потім безпосередньо викликає mint для себе, а потім використовує ці згенеровані з нічого токени для додавання або вилучення ліквідності. Весь процес виглядає так само, як і звичайні операції.
Ще одна можлива уразливість — це вразливість через податкові збори при переказах. Деякі токени мають дуже високий податковий збір (наприклад, 20%), і на перший погляд, A переказує B 100 токенів, B отримує 80, а 20 знищується. Але якщо зловмисник став провайдером ліквідності, то при переказі з пулу йому можливо нараховуються додаткові токени через помилки у розрахунках податку.
Крім того, потрібно бути обережним із атаками на синхронізацію балансу. Зловмисник, додавши ліквідність, може таємно збільшити свій баланс токенів у інших місцях, а потім при вилученні ліквідності отримати ще більшу цінність.
Все це — спроби маніпулювати логікою контракту, тому ключовим є якість аудиту контрактів і контроль дозволів.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
7 лайків
Нагородити
7
6
Репост
Поділіться
Прокоментувати
0/400
GhostChainLoyalist
· 5год тому
Знову ця сама гра, функція mint без перевірки дозволів — це справді безглуздо... її давно потрібно було пройти аудит
Переглянути оригіналвідповісти на0
BlockImposter
· 01-04 21:48
1500 разів? Блін, ці дані неймовірні, або це вразливість mint, або це баг у податковій системі, що створює хаос
----
Знову поганий контракт через неправильну перевірку дозволів, давно вже потрібно було навчити цих розробників програмуванню на блокчейні
----
Цей прийом дуже хитрий, одразу створює монети, а потім повертає ліквідність, звичайна людина цього не помітить
----
Чому так багато дірок у податку на перекази? Виглядає так, ніби більшість проектних команд навіть не думали про це
----
Говорячи просто, все ще важливо мати аудит, але шкода, що більшість нових монет просто йдуть на апе
----
Я не думав про атаку синхронізації балансу, тому й не дивуюся, що хтось раптово заробляє великі гроші
----
Чи так放ить контрактний код у публічний доступ? Хтось справді так пише? Чи я просто не в курсі
----
Запам’ятайте ці прийоми, наступного разу перед тим, як заходити в проект, перевірте контроль доступу
----
Блін, значить ті, що зростають у 10 разів одразу після запуску, можливо, вже зламані? Або я занадто поганий, щоб це помітити
Переглянути оригіналвідповісти на0
FalseProfitProphet
· 01-04 21:47
Ой, знову вразливість функції mint, я бачив цю схему занадто багато разів, це стандартний сценарій для закінчення проекту
1500-кратна різниця у ціні? Просто виконайте mint для створення монет, можна й обійти аудит контракту
Переглянути оригіналвідповісти на0
WagmiWarrior
· 01-04 21:45
Ой, 1500-кратне зростання? Який же такий поганий контракт може таке зробити, перевірка прав доступу — все просто формальність
---
Функція mint відкрито викликається, це просто неймовірно, це вже за межами розуму
---
Отже, аудит контрактів малих криптовалют — це суцільна формальність, їх давно вже потрібно відкликати
---
Про баг з податком на перекази я чую вперше, які ж безумні деталі повинні бути у розробника, щоб таке придумати
---
Таких багів у контрактах так багато, майнинг ліквідності — це справжня гра в азартні ігри, і я сміюся, коли хтось говорить про стабільний дохід
---
Не дивно, що останнім часом так багато скандалів із shitcoin, виявляється, всі вони грають у цю гру
---
Якщо контроль доступу не налаштовано належним чином, то запускати — це просто безвідповідально
---
1500 мільйонів монет з’явилися ні з чого, хіба це не друкарський станок? Це так іронічно
---
Тому нові монети все одно потрібно дивитися на звіти аудиту, інакше це справжня гра з вогнем
---
Комбінація багів у податку на перекази та контролю доступу — скільки ж малих інвесторів вона зіпсувала?
Переглянути оригіналвідповісти на0
MEVHunterNoLoss
· 01-04 21:37
Вау, 1500 разів? Наскільки ж поганим має бути цей контракт, щоб навіть перевірку прав не робити?
Переглянути оригіналвідповісти на0
RunWhenCut
· 01-04 21:22
Чен, знову цей сет? Mint не має повноважень перевіряти, це справді вражає, на перший погляд це сміттєвий контракт, випадково створений індійцем
---
1500 разів? Брате, це не лазівка, це відкрите грабування грошей
---
Податок на перекази ще більш обурливий, і як тільки з'являється баг з пулом, він одразу перетворюється на друкарську машину грошей, і здається, що щотижня з'являються нові хитрощі
---
Аудит? Огляд P, більшість проєктних вечірок неохоче витрачають гроші, гаразд?
---
Ось чому я купував лише токени, які перевіряли більше двох разів, і не торкаюся інших, незалежно від високого APY
Нещодавно виявлено небезпечний патерн. За допомогою порівняння аномальних даних виникає підозра, що це різновид "атаки першого створення".
Спершу розглянемо явища у даних: вкладення 0.001 BNB для купівлі дає 1000 токенів (еквівалент $0.3), але при виведенні отримуєш аж 15 000 000 токенів (вартістю $450). Відсоток прибутку у 1500 разів — це вже значно перевищує будь-який нормальний прослиз або математичну похибку, за цим явно щось стоїть.
Найімовірніша атака — прямий виклик функції mint. Деякі контракти з поганою якістю реалізації не мають належної перевірки дозволів, і будь-хто може безпосередньо викликати функцію створення токенів:
function mint(address to, uint amount) public {
_mint(to, amount);
}
У такому випадку зловмисник просто купує трохи токенів (залишаючи запис про адресу), потім безпосередньо викликає mint для себе, а потім використовує ці згенеровані з нічого токени для додавання або вилучення ліквідності. Весь процес виглядає так само, як і звичайні операції.
Ще одна можлива уразливість — це вразливість через податкові збори при переказах. Деякі токени мають дуже високий податковий збір (наприклад, 20%), і на перший погляд, A переказує B 100 токенів, B отримує 80, а 20 знищується. Але якщо зловмисник став провайдером ліквідності, то при переказі з пулу йому можливо нараховуються додаткові токени через помилки у розрахунках податку.
Крім того, потрібно бути обережним із атаками на синхронізацію балансу. Зловмисник, додавши ліквідність, може таємно збільшити свій баланс токенів у інших місцях, а потім при вилученні ліквідності отримати ще більшу цінність.
Все це — спроби маніпулювати логікою контракту, тому ключовим є якість аудиту контрактів і контроль дозволів.