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
За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3
Security Insights

За пределами смарт-контракта: операционная безопасность доменов и DNS в Web3

Аудит контрактов не проверяет сам контракт. Мы провели 800 SEAL-проверок DNS и регистраторов для 100 доменов из TVL Top 100 DefiLlama — лишь один домен прошёл все. Каких четырёх мер защиты не хватает большинству и почему это критично для пользователя.

Поверхности атаки Web3: обзор тестирования на проникновение

Поверхности атаки Web3: обзор тестирования на проникновение

Крипто-организации сохраняют все традиционные уязвимости и добавляют цепочку работы с деньгами. Статья описывает систему через четыре компонента: приложение, авторизацию и подпись, взаимодействие с блокчейном, инфраструктуру — с их зонами атак, а также пять специфичных для web3 областей: от эксплуатации и подписания до вывода средств и контрактов.

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly
Security Insights

Потеряно ~23 млн $: эксплойты Cosmos EVM и Moonwell | BlockSec Weekly

За период (22.08.2026–30.08.2026): 5 инцидентов, ~$22,7 млн убытков; Tectonic — $74–119,5 млн, откачены на Cronos. Взлом Cosmos EVM (~$5,7 млн) на TAC Chain, Moonwell, Ajna, Rain Card Exploit (Ed25519) на Solana.

Best Security Auditor for Web3

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

BlockSec Audit