К сожалению, люди не хотят и не могут нормальные программы писать.
Вы если думаете, что для того, чтобы искать уязвимости надо быть семи пядей во лбу, то нет, проблема в плохой архитектуре приложений, когда городится множество абстракций, непонятно для чего, ну и бывает, что в одной из них ошибка.
Вот последний баг, который ваш samszun нашёл:
The bug came from the executeMulti function. Basically, the function allows the user to call a function from another contract with passed params on multiple tokens in the same call. It differentiates from the execute function by only accepting a single token.
Unfortunately, the executeMulti function was lacking logic to validate for token duplication, potentially allowing one to build a custom exchange and duplicate entries to double spend currency.
Что это значит? Это значит, что DeFi контракты будут взламываться всегда. Их проблема в том, что они работают в децентрализованной среде, где никому нельзя доверять, но при этом активно взаимодействуют с другими смарт-контрактами. Помимо того, что этот процесс достаточно сложный сам по себе, вектор атак через поддельные биржи ещё даже толком не используется.
Это можно легко предотвратить, если делать все критичные функции (выпуск/перевод токенов) простыми, однострочными, ну примерно как в ERC20 стандарте, убрать оттуда allowance и был бы прекрасный пример пуленепробиваемого из-за своей простоты контракта. Но если критические функции простые - то значит вокруг них нужно долго и нужно описывать бизнес-логику, это не всегда возможно в принципе (ну, например стоит задача одновременно провести несколько операций на разных контрактах, тут вам волей-неволей придётся доверять их ответам), ну и это тупо сложно.
Поэтому проблема не в рынке, который жадный, наоборот цена аудита просто жутко завышена, ну не может недельная работа по найму без уникальных навыков стоить десять тысяч. Проблема в самой системе, децентрализованной, подверженной эксплоитам by design.
Тот же самый биткоин может быть форкнутым, тот же самый эфир, в том числе на PoS может быть форкнутым и творить всё что угодно. Вопрос в сумме и сложности, но это всегда возможно в децентрализованной системе, взаимодействующей с программами, которые вы не контролируете и про которые даже ничего достоверно не знаете.
Поэтому эти "санитары" не делают систему сильнее, они просто чуть-чуть поднимают планку, которая считается допустимым риском. А плохие программы писали и будут писать, не мы такие, жизнь такая.