Back to Blog

Как Coin98 молча исправила уязвимость

Code Auditing
16 января 2022 г.
3 min read

В прошлую пятницу наша система мониторинга обнаружила атаку на смарт-контракт coin98 (0x8aaf408e06feed6a6a6182ea3c464035748b9b31 — контракт-жертва) в сети BSC. Мы незамедлительно написали владельцу проекта в Twitter, однако не получили ответа. Поскольку на тот момент уязвимость всё ещё существовала, мы не стали предавать её огласке. Спустя несколько часов мы обнаружили, что владелец проекта развернул новый контракт, в котором уязвимость была устранена. В связи с этим мы можем безопасно описать уязвимость и способ её исправления.

Транзакция атаки и первопричина

Транзакция, выявленная нашей внутренней системой мониторинга, привлекла наше внимание. После тщательного расследования мы подтвердили, что причиной является отсутствие контроля доступа к параметру route (то есть фактически к маршрутизатору) в функции swapExactTokensForTokens, как показано ниже:

Данный контракт безоговорочно доверял параметру route и вызывал функцию swapExactTokensForTokens соответствующего маршрутизатора. Перед этим он предоставлял разрешение на использование всех токенов контракта-жертвы в пользу route. Однако значение route могло быть передано злоумышленником. В таком случае атакующий мог перевести все токены жертвы на свой адрес, а затем обменять их на WBNB с целью извлечения прибыли.

Ниже представлена одна из транзакций атаки.

Скрытое устранение уязвимости

В прошлую пятницу мы написали владельцу проекта в Twitter, однако не получили ответа. Сегодня мы повторно проверили контракт и обнаружили, что был развёрнут новый смарт-контракт (0x83f25d16bdf91f51120032f264dad0e1ab1c8227). В этом новом контракте для параметра route реализован белый список:

Заключение

Нам известно множество случаев, когда смарт-контракт безоговорочно доверял передаваемым параметрам. Это ДЕЙСТВИТЕЛЬНО создаёт серьёзную уязвимость в системе безопасности.

НЕ ДОВЕРЯЙТЕ НИКАКИМ ПАРАМЕТРАМ, КОТОРЫЕ НАХОДЯТСЯ ВНЕ ВАШЕГО КОНТРОЛЯ!

О компании 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
Потери около 5,57 млн USD: атаки на X100 Freezer и NEM | Еженедельный обзор BlockSec
Security Insights

Потери около 5,57 млн USD: атаки на X100 Freezer и NEM | Еженедельный обзор BlockSec

Этот еженедельный отчёт охватывает два инцидента безопасности в сетях Ethereum и BNB Chain за период 19.10.2026–25.10.2026. В нём рассматриваются захват управления X100 Freezer, профинансированный с помощью флеш-кредита, и ошибка при расчёте налога, затронувшая пул ликвидности токена NEM в сети BNB Chain. Оценочные потери в рамках отчёта составляют в общей сложности около 5,57 млн USD: ~4,75 млн USD по рассматриваемой транзакции X100 и ~820 тыс. USD в результате инцидента с пулом NEM. В эту сумму не входят отдельно опубликованные данные о последующих выводах средств из X100.

Потери на сумму около 3,87 млн USD: взломы Autheo Network и UNCX | Еженедельный обзор BlockSec
Security Insights

Потери на сумму около 3,87 млн USD: взломы Autheo Network и UNCX | Еженедельный обзор BlockSec

В этом еженедельном отчёте рассматриваются 3 инцидента безопасности за период 12.10.2026–18.10.2026. Общий оценочный ущерб составил около 3,87 млн USD. Ущерб Autheo Network от компрометации закрытого ключа составил примерно 1,76 млн USD, Qubic Wallet потерял примерно 1,30 млн USD из-за ненадёжной генерации seed, а ошибка учёта в контрактах Smart Token Vesting V2 сети UNCX Network на Ethereum, BNB Chain, Base и Robinhood Chain привела к ущербу примерно в 807 тыс. USD. В подробном анализе инцидента UNCX объясняется, как некорректный расчёт совокупного количества долей смешивал транши вестинга, созданные при разных соотношениях токенов и долей, и позволял выводить из общих пулов больше положенного.

Потеряно около $542 тыс.: эксплуатация уязвимости MakerDaoBot | Еженедельный обзор BlockSec
Security Insights

Потеряно около $542 тыс.: эксплуатация уязвимости MakerDaoBot | Еженедельный обзор BlockSec

В Ethereum за 05–11.10.2026 произошёл 1 инцидент; ущерб — около $542 тыс. Атакующий передал вредоносный адаптер функции MakerDaoBot без контроля доступа. Получив права на балансы MakerDAO, адаптер закрыл 4 аукциона ETH-A, конвертировал 200 ETH-A в WETH; атакующий вывел 200 ETH.

Best Security Auditor for Web3

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

BlockSec Audit