Чтобы торговать или стейкать в большинстве протоколов, сначала нужно разрешить контракту двигать токен от твоего имени. Это нормально и необходимо. Проблема в дефолте: многие приложения запрашивают безлимитный апрув без срока действия, и контракт сохраняет право двигать этот токен ещё долго после того, как ты закончил им пользоваться.
Если этот контракт позже взломают, или он был вредоносным с самого начала, висящий апрув и есть дверь, через которую заходят. Атакующему не нужна твоя сид-фраза. Разрешения, которое ты уже подписал, достаточно, чтобы слить одобренный токен. Именно так кошельки с деньгами чаще всего теряют средства, ни разу не попавшись на фишинг напрямую.
Лечение: гигиена, а не страх. Одобряй только нужную сумму, когда приложение это позволяет, и отзывай апрувы, которыми не пользуешься. Обзор поверхности апрувов адреса показывает, какие контракты всё ещё держат разрешения, и ты закрываешь те, что больше не оправдывают своё место.