Čo je bug bounty a zodpovedné nahlasovanie zraniteľností
Bug bounty program je štruktúrovaný spôsob, ako motivovať bezpečnostných výskumníkov (whitehatov), aby vyhľadávali a nahlasovali zraniteľnosti výmenou za odmenu. V kontexte krypto, tradingu a Web 3.0 ide najmä o chyby v smart kontraktoch, backendoch búrz a mostov, v klientoch uzlov, v peňaženkách a v infraštruktúre orákul. Zodpovedné nahlasovanie (CVD – Coordinated Vulnerability Disclosure) je proces, ktorý nastavuje bezpečný komunikačný kanál, jasné lehoty, bezpečnostné mantinely a princíp „safe harbor“, aby sa minimalizovalo riziko pre používateľov a maximálne zrýchlila oprava.
Prečo je bug bounty kritické vo Webe 3.0
- Finálna finalita a neodvolateľnosť transakcií: Po exploite je škoda okamžitá a často nezvratná.
- Kompozabilita: Chyba v jednom protokole môže skaskádovať cez ďalšie (DEXy, lending, trezory, mosty).
- Neustála dostupnosť: Smart kontrakty sú 24/7 na sieti; okno útoku je permanentné.
- Pokrytie auditmi nie je absolútne: Audity sú bodové; bug bounty poskytuje kontinuálne „crowd-sourcing“ testovania.
Modely programov: VDP, bug bounty, súťaže a živé testovanie
- VDP (Vulnerability Disclosure Policy): Otvorený kanál pre nahlasovanie bez garantovaných odmien. Minimum pre každý projekt.
- Bug bounty s odmenami: Stupnice odmien podľa závažnosti; často s maximom pre kritické nálezy ohrozujúce prostriedky.
- Auditné súťaže: Časovo obmedzené prehliadky kódu s viacerými súťažiacimi; vhodné pre nové releasy.
- Live hacking/CTF: Riadené udalosti, typicky off-chain komponenty, UI, API, alebo testnetové nasadenia.
Princípy zodpovedného nahlasovania (CVD) v praxi
- Bezpečný kanál: PGP e-mail, špecializovaná platforma alebo formulár s end-to-end šifrovaním.
- Embrago a lehoty: Dohodnuté okno (napr. 7–30 dní pre kritické on-chain chyby, 30–90 dní pre off-chain).
- Safe harbor: Jasné vyhlásenie, že dobrá viera, rešpekt scope a bez neoprávneného obohatenia nebudú právne sankcionované.
- Koordinácia: Spoločná dohoda o čase verejného zverejnenia po záplate a nasadení mitigácií.
- Minimalizácia dopadu: PoC bez presunu prostriedkov, bez DoS, bez úniku dát mimo nevyhnutné minimum.
Právny a etický rámec: safe harbor, povolené testy, zákaz exfiltrácie
Projekty by mali publikovať „Safe Harbor Statement“, ktoré pokrýva:
- Autorizované ciele: Konkrétne kontraktné adresy, repozitáre a subdomény; testovanie na mainnete vs. testnete.
- Zakázané aktivity: DoS, spam, sociálne inžinierstvo, manipulácia KYC, exfiltrácia citlivých údajov.
- Neoprávnené obohatenie: Žiadne prevody cudzích prostriedkov; pri nutnej eskalácii len „whitehat rescue“ s okamžitým vrátením.
- Jurisdikcie a sankcie: Vylúčenie krajín a subjektov podľa sankčných listín; pravidlá KYC pri výplatách.
Scope: ako ho definovať vo Web3
- On-chain: Kontrakty, proxy, inicializéry, upgrade mechanizmy, multisigy, timelocky, modulárne trezory.
- Off-chain: API, backendy, frontendy, DNS, infra, CI/CD, build pipeline, distribučné kanály rozšírení peňaženiek.
- Mosty a orákulá: Relaye, pozorovatelia, validátori, agregátory cien, zdroje entropie.
- Mimo scope (typicky): Tretie strany bez kontroly projektu, staré verzie mimo produkcie, testovacie kontrakty bez aktív.
Hodnotenie závažnosti a odmien: od fondov v riziku po dopad na používateľov
V krypto kontexte sa závažnosť často viaže na maximálne straty a pravdepodobnosť zneužitia. Užitočné je kombinovať klasickú škálu (kritická, vysoká, stredná, nízka, info) s kategóriami dopadu špecifickými pre DeFi.
| Úroveň | On-chain dopad | Príklady | Orient. odmena |
|---|---|---|---|
| Kritická | Neobmedzené alebo významné odčerpanie prostriedkov, trvalá strata custody | Reentrancy pri výbere, obídenie prístupu admina, nesprávna inicializácia proxy | 1–10 % z ušetrených prostriedkov (cap podľa treasury) |
| Vysoká | Čiastočné odčerpanie, zmrazenie aktív, trvalá manipulácia stavu | Manipulácia orákla, integer overflow/underflow, flash-loan price swing | 5–6 cifier v USD podľa TVL |
| Stredná | Obmedzené riziko straty, obchádzky obmedzení | Frontrunning, limitné obchádzky, nesprávne limity, únik interných kľúčov testnetu | 4–5 cifier v USD |
| Nízka | Malé riziko, najmä UX, menšie úniky metadát | Klikjacking, menšie CSP chyby, nekonzistentné validácie na fronte | 3–4 cifier v USD |
| Info | Bez priameho dopadu | Neaktuálna dokumentácia, slabé logovanie | Symbolické |
Proces pre výskumníka: krok za krokom
- Nastudovanie pravidiel: Scope, safe harbor, limity testovania, kanály na nahlásenie.
- Lokálne repro prostredie: Fork mainnetu, simulácie transakcií, diffovanie stavu, unit/fuzz testy.
- Analýza: Čítanie kódu, hľadanie invariantov, kontrola prístupov, tokenomics a okrajové prípady.
- Bezpečný PoC: Testnet alebo lokál, nulová interakcia s cudzími aktívami.
- Report: Faktické, reprodukovateľné, s jasnou trajektóriou dopadu a návrhom mitigácie.
- Koordinácia: Reakcia na otázky triage tímu, poskytnutie doplňujúcich dôkazov, rešpekt embarga.
Štruktúra kvalitného reportu
- Zhrnutie: Jednou vetou v čom spočíva chyba a aký je dopad.
- Scope a verzie: Kontraktné adresy, commit hash, sieť, časový kontext.
- Predpoklady a model hrozby: Čo útočník potrebuje (kapitál, rola, povolenia, MEV).
- Kroky reprodukcie: Detailný, deterministický postup, ideálne s testom.
- Dopad a odhad strát: Maximálna vyťažiteľná hodnota, sekundárne efekty.
- Návrh mitigácie: Oprava, obmedzenia, guardy, timelock alebo pauza.
- Dôkazy: Logy, transakčné stopy v sandboxe, výsledky fuzzingu.
- Zodpovedné správanie: Potvrdenie, že nedošlo k exfiltrácii alebo zneužitiu.
Bezpečné PoC v krypto kontexte
- Žiadny presun cudzích prostriedkov: Testujte na lokále alebo testnete, prípadne s nulovou hodnotou.
- Fuzz a invarianty: Overenie, že oprava neporušuje kontrakty v iných vetvách toku.
- Simulácie mempoolu: Reprodukcia frontrunningu a sandwich útokov bez dotyku mainnetu.
Typické zraniteľnosti v smart kontraktoch a DeFi
- Reentrancy a cross-function reentrancy, nekorektný „checks-effects-interactions“ poriadok.
- Nesprávne prístupy: owner-only funkcie bez guardov, chýbajúce only-EOA, zneužiteľné delegácie.
- Pretečenia a podtečenia, nesprávne použitie bezpečných matematických knižníc.
- Neinitializované proxy, chýbajúce initializer guardy, upgrade úniky práv.
- Oracle manipulácia (TWAP, nízka likvidita), flash-loan zneužitie cien.
- MEV scenáre: frontrunning, sandwich, backrunning, griefing.
- Podpisová logika: malleabilita, zle definované nonces, replay medzi sieťami.
- Mosty: slabá verifikácia dôkazu, multi-sig s nízkym kvórom, neoverené relayery.
- Ďalšie: nedostatočné limity, chýbajúce pauzovateľné mechanizmy, časové závislosti.
Nástroje a metodiky pre Web3 výskum
- Analýza kódu: Slither, Mythril, semgrep-rules pre solidity, rukou písaná revízia invariantov.
- Fuzzing a testy: Echidna, Foundry fuzz, property-based testy, invariantné suite.
- Simulácie a forky: Foundry a Hardhat mainnet-fork, skriptované scenáre a state-diffy.
- Formálne metódy: Symbolické vykonávanie, špecifikácie v štýle „assert pre/post“ podmienok.
- Monitoring: Nástroje na sledovanie mempoolu, on-chain alerting, heuristiky MEV.
Špecifiká L2, rollupov a mostov
- Časové oneskorenie: Challenge window pri optimistic rollupoch.
- Mosty: Konzistencia správ, overovanie dôkazov, reorg-reziliencia.
- Klientské implementácie: Rôzne VM a op-kódy, rozdiely v gas účtovaní.
Incident response a „whitehat rescue“
- Pauza a timelock: Aktivácia núdzových prepínačov, dočasné obmedzenie funkcií.
- Whitehat multisig: Predkonfigurovaný trezor pre rýchlu záchranu aktív a následné vrátenie.
- Post-mortem: Transparentná správa, audit opráv, aktualizácia dokumentácie a pravidiel.
Metriky a správa programu
- MTTR (Mean Time To Remediate): Priemerný čas od nahlásenia po fix.
- Pokrytie: Percento kritických komponentov v scope; počet unikátnych výskumníkov.
- Efektivita odmien: Pomerné náklady na „ušetrený“ kapitál.
Výplaty, KYC a treasury
- Formy odmien: Stablecoiny, natívne tokeny, fiat; jasné pravidlá zdanenia a KYC podľa jurisdikcie.
- Vesting a capy: Cap na kritické odmeny vs. percento z ochránených prostriedkov.
- Transparentnosť: Zverejňovanie štatistík vyplatených odmien po skončení embarga.
Časté chyby a anti-patterns v bug bounty programoch
- Príliš úzky scope bez najrizikovejších modulov.
- Nejasné pravidlá hodnotenia a nepredikovateľné odmeny.
- Pomalý triage a chýbajúca spätná väzba, čo demotivuje whitehatov.
- Ignorovanie off-chain útokov (supply-chain, DNS hijacking, typosquatting).
Checklist pre projekt
- Publikovaný VDP a bug bounty pravidlá vrátane safe harbor a embarg.
- Presný scope: adresy kontraktov, verzie, repo, subdomény, kontakty.
- Stupeň odmien podľa dopadu, príklady a horné limity.
- Bezpečný kanál nahlasovania, PGP kľúč, SLA triage (napr. potvrdenie do 24–48 hodín).
- Incident playbook: pauza, timelock, whitehat multisig, komunikácia s komunitou.
- Proces testovania opráv: unit, fuzz, invarianty, audit po fixoch.
Checklist pre výskumníka
- Prečítané pravidlá a scope; rešpektovanie zákonov a safe harbor podmienok.
- Pripravené repro prostredie (fork, testnet, lokál), bez dotyku cudzieho kapitálu.
- PoC s minimálnym dopadom, jednoznačné kroky reprodukcie.
- Jasné vyčíslenie dopadu a návrh mitigácie; profesionálna komunikácia.
- Rešpektovanie embarga až do verejného zverejnenia po oprave.
Vzor krátkej šablóny nahlásenia
- Predmet: Kritická on-chain zraniteľnosť v module X (sieť, adresa kontraktu)
- Zhrnutie: Jednou vetou opíšte, čo je problém a prečo je kritický.
- Scope: Adresa kontraktu, commit hash, verzia.
- Kroky reprodukcie: 1…n (deterministické, s očakávaným výsledkom).
- Dopad: Maximálny vyťažiteľný zisk/strata, sekundárne efekty.
- Mitigácia: Odporúčaná oprava alebo guardy.
- Potvrdenie zodpovedného správania: Žiadne presuny cudzích prostriedkov, žiadny DoS.
- Kontakty: PGP kľúč, preferovaný kanál pre ďalšiu komunikáciu.
Bug bounty a zodpovedné nahlasovanie sú kľúčové komponenty bezpečnostnej stratégie v krypto a Web 3.0. Projekty získajú nepretržité overovanie bezpečnosti a reputačný kapitál, výskumníci férové odmeny a jasný právny rámec. Najlepšou praxou je mať transparentný VDP, jasný scope, predvídateľnú odmeňovaciu politiku, rýchly triage a pripravený incident response vrátane whitehat záchrany. Takto vzniká ekosystém, v ktorom sú aktíva používateľov chránené a inovácie môžu napredovať.