TGViewer
lang.eth lang.eth @lang_crypto · 4.64K subscribers
Post #29 3.88K
Софты? Аудит? Безопасность?

Q3-Q4 2023 года однозначно запомнился как: «время софтов и автоматизации в web3”
Как правило, первый вопрос любого
юзера, при попытке запуска скрипта с гитхаба, звучит примерно так: «а точно ли это не скам? А мои кошельки не украдут?»

Долгое время, у меня не было такой проблемы, но совсем недавно, меня попросили провести аудит чужого софта для фарминга зксинка и я серьезно задумался: «а возможно ли идеально и безопасно провести аудит чужого кода?»

На что обычно первым делом все обращают внимание?
- есть ли логгер, отправляющий приватники на сервер/телегу
- настоящие ли все библиотеки, используемые в софте

И как правило, на этих двух критериях, проверка заканчивается-что очень печально, тк взгляд аудитора может не заметить других уязвимостей в приложении

Однозначно, первым делом нужно проверять на самое очевидное: логгер и библиотеки, но есть еще ряд нюансов, которые стоит учесть

Например, первое что мне пришло в голову:
- А не используются ли левые контракты, для проведения свопов/работы лендингов/предоставления ликвидность и др?

Например, я могу самостоятельно написать контракт и вывести стандартную функцию на обмен токенов: swapExactETHForTokensSupportingFeeOnTransferTokens

//
Она используется в дексе Mute на обмен эфира на любой токен

Она будет принимать все те же параметры, что и
официальный контракт, будет точно так же обменить эфир на токены, будут отличия лишь в адресе контракта и одного параметра в input дате транзакции

// Невеликая проблема написать контракт с уязвимостью для юзеров. Мы легко можем подменить названия функций, и + добавить возможность принимать нужные нам параметры в input дату транзакции

Сам обмен токенов тоже легко осуществить - из нашего контракта мы можем так же легко вызывать функцию свопа на любом другом дексе. Тем более, большинство дексов является форками юнисвапа и тем самым, мы имеем полную документацию для разработки вредоносного кода

С первого взгляда даже самый опытный кодер и не заметит подмену адреса, тем более, если в софте используется 30-50 разных протоколов

И этим можно воспользоваться: как я и писал выше, мы создаем собственный
контракт, в софте мы вписываем его как константу MUTE_ADDRESS, а при свопе незаметно от глаз аудитора передаем приватник от кошелька в input дату, тем более, приватник, если его разбить на части - может выглядеть как просто несколько адресов (можно придумать 100500 способов замаскировать передачу приватника в коде софта и в функции контракта, тут уже дело изобретательности)

- Так же, код всегда может быть подвержен обфускации.
Если видите что-то странное и нелогичное - стоит бдительней проверить каждую переменную и в какие моменты вызывается та или иная функция

// обфускация - когда злоумышленник намеренно пишет сложный, запутанный код, для того, чтобы другим разработчикам тяжелей было понять что конкретно делают функции программы

Какой вывод мы делаем: стоит тщательней и изобретательней подходить к проверке кода, который вы используете, проверять абсолютно каждую функцию, каждую переменную

// Это как раз та история когда: «чтобы поймать преступника-нужно думать как преступник»

А лучше всего, использовать только код людей, имеющих огромную
репутацию, желательно, чтобы вы их еще и знали в IRL, чтобы в случае чего, хоть было кого искать)
  • 🦄 24
  • ❤ 11
  • ❤‍🔥 3
  • 🔥 2
More from @lang_crypto
  1. Mar 17, 2026Отжал кальянку Прошу прощения за то, что данный пост не связан с криптой. Каюсь, но не мог…
  2. Mar 16, 2026Мировой кризис как часть неизбежного 2026 во многом успел удивить и показать насколько все…
  3. Jan 15, 2025Brain Wallet и кража миллионов $ В эпоху зарождения крипто-мира, были и свои кошельки, реш…
  4. Jan 15, 2025Как генерация приватных ключей стала болью Абсолютно каждый, кто хотя бы раз пользовался c…
  5. Dec 17, 2024Рассказываю сегодняшний рект на пингвинах :D Сегодня вышел аирдроп PENGU, раздавали фри то…
  6. Aug 6, 2024Объясняю как хакнули Ronin Bridge на 10M$ Это самое простое что можно было сделать, эту те…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →