Back to Blog

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

Code Auditing
January 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
Мост 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
Как Coin98 молча исправила уязвимость