Revoke a security dashboard

Revoke a security dashboard

Prečo robiť pravidelný audit peňaženky

Ekosystém krypta je dynamický a povolenia (approvals) udelené smart kontraktom sa časom hromadia. Mnohé sú „nekonečné“ (unlimited), viazané na neprehľadné proxy a v čase sa mení aj samotný kód (upgradeable implementácie). Pravidelný audit peňaženky cez bezpečnostné dashboardy a nástroje typu revoke minimalizuje riziko prázdnej peňaženky po exploite dApp, phishingu alebo chybnej integrácii. Tento článok popisuje, čo presne kontrolovať, ako čítať výsledky a aké rozhodnutia robiť.

Čo sú to approvals a prečo sú rizikové

  • ERC-20 allowance: povolenie, aby adresovaný kontrakt (spender) mohol míňať vaše tokeny. Typicky je nastavené na „max uint“ (nekonečné) pre pohodlie UX.
  • ERC-721/1155 setApprovalForAll: globálne oprávnenie presúvať všetky NFT/partie jedného kontraktu. Pri útoku stačí jediný transferFrom.
  • Permit / Permit2: podpisom (EIP-2612, Permit2) udeľujete off-chain schválenie, ktoré sa on-chain uplatní neskôr. Skvelé pre UX, no lákavé pre phisherov (nekonečné a bez interakcie peňaženky pri samotnej úhrade).
  • Session/Delegation: herné dApps a nástroje používajú dočasné „session keys“, delegácie alebo relayer schémy. Ak expirácia či scope nie sú prísne, riziko pretrváva.

Aké udalosti sledovať na reťazci

Pri ručnej validácii v exploreri všímajte:

  • Approval (ERC-20), ApprovalForAll (ERC-721/1155) – nové a zmenené povolenia.
  • Permit, Permit2 – aplikované podpisové schválenia, deadline, nonce a value.
  • IncreaseAllowance/DecreaseAllowance – či dApp nepoužíva bezpečnejší inkrement/dekrement.
  • Proxy upgrade a ImplementationChanged – pri UUPS/beacon/proxy sledovať zmeny implementácie; staré approvals tak môžu „zmeniť správanie“.

Bezpečnostné dashboardy: čo od nich čakať

Moderné dashboardy agregujú vaše povolenia naprieč sieťami a triedia ich podľa rizika. Zvyčajne zobrazujú:

  • Zoznam spenderov s ikonou dôveryhodnosti (verified contract, audit, populárna dApp) a proxy chain (transparentný vs. upgradeable).
  • Rozsah: unlimited vs. limitované sumy; pri NFT – all items vs. konkrétne tokenId.
  • Čas poslednej aktivity: staré „zabudnuté“ approvals sú top kandidáti na revoke.
  • Multichain zobrazenie: EVM siete (Ethereum, L2, sidechains) aj nezávislé reťazce (ak podporované).
  • Akčné tlačidlá: Revoke, Reduce (zníženie limitu), prípadne Batch revoke s odhadom gas.

Rozhodovací rámec: zrušiť, znížiť, alebo ponechať

  1. Kritické a neaktívne approvals: neznáme alebo dlhodobo nepoužívané spendery → Revoke.
  2. Dôveryhodné, často používané dApps: zvážte Reduce na just-in-time sumu alebo časovo obmedzené Permit.
  3. NFT marketplaces: ak nepredávate → zrušte setApprovalForAll, pri potrebe ho znova udeleníte.
  4. Bridge a DeFi kontrakty: ponechajte len nevyhnutné; preferujte kontrakty s permit-like flow, pull-based rozhraním a scoped approvals.

Špecifiká podľa tokenového štandardu

  • ERC-20: preferujte DecreaseAllowance na 0, potom Increase na požadovanú sumu. Vyhnete sa typickému race condition pri zmene limitu.
  • ERC-721/1155: vždy uprednostnite per-item approvals pred ApprovalForAll, ak to marketplace umožní.
  • Permit/Permit2: podpisujte s nízkou hodnotou, krátkou expiráciou a kontrolujte domain separator, chainId a verifyingContract v EIP-712 okne.

Typické útoky a ako ich dashboard odhalí

  • Malicious spender: neznámy kontrakt s unlimited allowance – nástroj ho zvýrazní ako vysoké riziko.
  • Upgrade trap: legitímny proxy získal novú implementáciu; dashboard zobrazí implementation hash a dátum zmeny.
  • Permit phish: podpísaná nekonečná povolenka cez pekné modálne okno; v histórii uvidíte použitý Permit s enormnou hodnotou.
  • Approval leakage cez zapadnuté dApps: starý farmovací kontrakt má stále práva – uvidíte nulovú aktivitu > 90 dní.

Workflow pravidelného auditu (mesačný rytmus)

  1. Inventarizácia: prejdite všetky siete, kde máte aktíva. Exportujte zoznam spenderov a povolení (CSV).
  2. Skórovanie rizika: označte neznámych/nezverejnených spenderov, unlimited limity a staré approvals (> 30–90 dní bez aktivity).
  3. Akcia: revoke/limit. Pri väčšej sade využite batch – zjednotíte poplatky.
  4. Simulácia: nové transakcie prechádzajte simulátorom; potvrďte, že po revoke dApp stále funguje (inak udeliť minimálne nové povolenie).
  5. Monitorovanie: zapnite upozornenia (push/e-mail) na nové Approval* eventy z vašich adries.

Cross-chain a L2 špecifiká

Každý reťazec = samostatná sada approvals. L2 majú lacné transakcie, preto je rozumné častejšie revokovať. Pozor na:

  • Canonical vs. third-party bridges: iba canonical kontrakty by mali mať práva k vašim aktívam.
  • Multisig a trezory: pri treasury pravidelne auditovať Module rozšírenia (Safe Modules) a delegácie.
  • Rollup upgrades: pri major upgrade siete znovu overte integrity spenderov (nové adresy, migrácie).

Account Abstraction a session oprávnenia

Pri EIP-4337 peňaženkách sledujte:

  • Pluginy/Modules: ktoré môžu prenášať práva na tretie kontrakty.
  • Session keys: krátke expirácie, obmedzené call-targets a value.
  • Paymasters: nepovoľujte neobmedzené výdaje, ak nie je nutné.

Operačná hygiena: pre jednotlivcov a tímy

  • Hardvérová peňaženka na hodnotu, hot wallet na interakcie; nikdy nezdieľať approvals medzi nimi.
  • Sandbox pre testy: novú dApp skúšajte s čerstvou adresou a minimálnym zostatkom.
  • Oddelené profily prehliadača a rozšírenia; minimalizujte povolenia doplnkov.
  • Signing hygiene: čítajte EIP-712; kontrolujte chainId, verifyingContract, spender, value, deadline.
  • DNS/typo-squatting: používajte záložky; nikdy neklikajte na linky z DM.

Náklady, poplatky a stratégia revokácií

Revoke je štandardná transakcia, platí sa gas. Pri drahom L1:

  • Uprednostnite najrizikovejšie approvals a tie s veľkým zostatkom tokenu.
  • Zvážte časovanie (nižší gas), prípadne batch revoke, ak nástroj podporuje.
  • Pre ERC-20 využite DecreaseAllowance na 0 (niekedy lacnejšie než plný revoke).

Incident reakcia: čo robiť pri kompromitácii

  1. Okamžite odpojiť a zrušiť všetky approvals voči podozrivému kontraktu (vo všetkých sieťach).
  2. Migrácia aktív: presun do studenej peňaženky alebo nového trezoru; zvážiť permit-less prenosy (ak existujú).
  3. Revokácia session/plug-ins a pozastavenie modulov (multisig).
  4. Forenzné logy: exportovať historii approvals a transakcií; nahlásiť adresy monitorovacím službám a marketplace-om.

Čo by mal vedieť každý začiatočník

  • „Connect wallet“ ≠ „bezpečné“: samotné pripojenie je neškodné, riziko vzniká pri podpise alebo schválení.
  • „Sign to proceed“ môže byť permit: ak netušíte čo podpisujete, nerobte to. Hľadajte spender/value/deadline.
  • Revoke ≠ refund: zrušenie práva nevracia ukradnuté prostriedky, ale zastaví ďalšie škody.

Checklist mesačného auditu (TL;DR)

  • Prebehnúť všetky siete a exportovať approvals.
  • Označiť unlimited, neznámych spenderov a staré/neaktívne práva.
  • Revoke/Reduce podľa rizika; pri NFT vypnúť ApprovalForAll, ak sa nepredáva.
  • Zapnúť upozornenia na nové Approval* a Permit* eventy.
  • Overiť proxy implementácie a zmeny kódu u dôležitých dApps.
  • Skontrolovať rozšírenia, prehliadač a oddelenie „hot/cold“ peňaženiek.

Bezpečnosť peňaženky nie je jednorazový akt, ale proces. Revoke a bezpečnostné dashboardy poskytujú prehľad a páku na rýchle zásahy, no rozhodujúca je disciplína: minimálne povolenia, krátke expirácie, pravidelný audit a zdravá skepsa pri podpisovaní. Takto sa z pohodlia „nekonečných approvals“ stane kontrolovaný a auditovateľný bezpečnostný režim, ktorý ochráni vaše aktíva aj v čase, keď sa ekosystém mení rýchlejšie než dokumentácia dApps.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *