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
Взлом Bitget на $387,5 млн вне блокчейна: не только ключи и контракты
Security Insights

Взлом Bitget на $387,5 млн вне блокчейна: не только ключи и контракты

24.09.2026 хакеры взломали сторонний продукт, похитили учётные данные и подделали выводы. Похищено ~$387,5 млн со счетов Bitget (Ethereum, EVM, XRP Ledger, Zcash, TRON); ключи целы. Обзор инцидента, конвертации активов, мер защиты и blockchain-пентеста.

Потеряно ~11,3 млн $: Multicall Router, Nostra | BlockSec Weekly
Security Insights

Потеряно ~11,3 млн $: Multicall Router, Nostra | BlockSec Weekly

Отчёт (14–20.09.2026): 2 инцидента, ~$11.3M потерь на Ethereum и Starknet. Мультиколл-роутер обманул Safe, выведя ~2900 aEthrsETH в пул Uniswap v4. Оракул Nostra оценил NSTR в ~$49.52, дав ~$3.5M займов под завышенный залог.

Потеряно ~320 млн $: взломы Liquid Network и Symbiosis | BlockSec
Security Insights

Потеряно ~320 млн $: взломы Liquid Network и Symbiosis | BlockSec

Отчёт за 2026/09/07–2026/09/13: два инцидента, ~$320М убытков. Эксплойт Liquid Network (кэш rangeproof без разделителей полей) дал 4000 незалогового L-BTC. На Bitcoin-маршруте Symbiosis отрицательная комиссия позволила выпустить триллионы syBTC — убыток ~9.97 BTC (~$770K).

Best Security Auditor for Web3

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

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