Revizija pametnih ugovora
Ručni pregled koda u kombinaciji sa statičnom analizom i usmjerenim testiranjem. Modeliramo napadače, pišemo dokaze o ranjivostima i pratimo svaku ispravku do zatvaranja.
Sigurnost za Web3 · Zagreb
Shandriqo pregledava pametne ugovore, čvorove i mostove prije nego što ih korisnici uopće dotaknu. Radimo s timovima koji grade decentraliziranu infrastrukturu i žele da ona izdrži.
Manifest
Decentralizirani sustav ne pita za dopuštenje prije nego što izvrši naredbu. Kada se pametni ugovor jednom objavi, radi točno ono što piše — i ono što ne piše, ali logički slijedi. Tu nema službe za korisnike koja će poništiti transakciju niti gumba za povlačenje. Zato sigurnost u ovom području ne može biti faza koja se dogodi na kraju projekta.
Osnovali smo Shandriqo 2017. godine, u vrijeme kada se o sigurnosti decentralizirane infrastrukture u regiji govorilo tek usput. Previše puta smo vidjeli timove koji su reviziju tretirali kao formalnost — pečat prije objave. Htjeli smo drukčiji odnos: biti u prostoriji dok se arhitektura još crta.
Propust rijetko izgleda dramatično. Češće je to jedan uvjet koji nedostaje, jedna pretpostavka koju nitko nije zapisao.
Zato čitamo. Redak po redak, funkciju po funkciju, prije nego što napišemo ijedan automatizirani test. Alat pronalazi ono što već zna tražiti; iskusan recenzent pronalazi ono što autor nije ni pomislio da treba provjeriti. Jedno bez drugoga ostavlja rupe.
Ne prodajemo mir uma. Prodajemo pisani trag — tko je što pregledao, koju je pretpostavku provjerio i što ostaje izvan dosega ove revizije. Takav dokument vrijedi više od svake izjave o pouzdanosti, jer ga možete pokazati svom timu, partnerima i korisnicima.
Kod koji nitko ne razumije u cijelosti nije decentraliziran. On je samo neprovjeren.Načelo rada — Shandriqo
Što radimo
Od prvog nacrta arhitekture do odgovora na incident. Uključite nas rano i smanjite broj skupih odluka koje se kasnije ne mogu povući.
Ručni pregled koda u kombinaciji sa statičnom analizom i usmjerenim testiranjem. Modeliramo napadače, pišemo dokaze o ranjivostima i pratimo svaku ispravku do zatvaranja.
Uključujemo se dok je sustav još na papiru. Pregledavamo modele prava pristupa, upravljanje ključevima i granice povjerenja prije nego što postanu skupi za mijenjati.
Kontinuirani nadzor mreže i tim koji se javlja kada je potrebno. Kada nešto pođe po zlu, važno je tko podiže slušalicu i koliko brzo stiže odgovor.
U brojkama
Odabrani radovi
Detalji su izmijenjeni ili izostavljeni gdje nas obvezuje ugovor o povjerljivosti. Primjeri u nastavku služe kao ilustracija pristupa.

Pregled ugovora za prijenos imovine između lanaca. Pronađena dva uvjeta koja su pod rijetkim redoslijedom poziva dopuštala dvostruko trošenje. (Primjer — PLACEHOLDER.)

Pregled upravljanja ključevima i ovlasti prije objave. Preoblikovane su granice povjerenja tako da gubitak jednog ključa ne ruši cijeli sustav. (Primjer — PLACEHOLDER.)

Postavljanje nadzora koji prepoznaje neuobičajene obrasce poziva i javlja ih timu prije nego što postanu vidljivi korisnicima. (Primjer — PLACEHOLDER.)

Koordinacija ispravka otkrivenog nakon objave, u tišini i prije javnog priopćenja, uz jasan redoslijed koraka s internim timom. (Primjer — PLACEHOLDER.)
Naš pristup
Automatizacija ubrzava posao, ali ne zamjenjuje razumijevanje. Svaki ugovor prvo pročita čovjek, a tek onda alat.
Svaki izvještaj jasno navodi granice revizije. Ono što nismo pregledali stoji crno na bijelo, bez uljepšavanja.
Sigurnost ne prestaje na dan lansiranja. Pratimo sustav i kada reflektori nestanu, jer tada se obično pojave prvi stvarni napadači.
Izvještaj koji samo stručnjak razumije ne štiti nikoga. Pišemo tako da odluku može donijeti i netko izvan tehničkog tima.
Dobra revizija ne daje vam osjećaj sigurnosti. Daje vam jasnu kartu onoga što još ne znate.Iz uvodnog razgovora sa svakim klijentom
Česta pitanja
Što ranije, to bolje. Najveću vrijednost donosimo dok je arhitektura još promjenjiva — prije nego što odluke o pravima pristupa i upravljanju ključevima postanu ugrađene u cijeli sustav. Reviziju radimo i neposredno prije objave, ali tada je prostor za dublje promjene manji.
Ovisi o veličini i složenosti koda. Manji modul pregledamo u okviru jednog do dva tjedna; opsežan protokol s više međusobno povezanih ugovora zahtijeva četiri do šest tjedana. Nakon uvida u repozitorij dajemo konkretan raspored, bez nejasnih procjena.
Interni sigurnosni inženjer donosi stalno prisustvo, ali i stalan trošak te usku perspektivu na vlastiti kod. Mi donosimo vanjski pogled i iskustvo s desecima različitih sustava, plaćeni samo kada vam treba. Većina timova kombinira oboje — mi pokrivamo neovisnu reviziju i vršne trenutke.
Pisani izvještaj s nalazima razvrstanima po ozbiljnosti, dokazima gdje je to moguće, preporukama za ispravak i jasno naznačenim granicama pregleda. Nakon što vaš tim unese ispravke, provjeravamo ih i izdajemo potvrdu o zatvaranju.
Da. Sjedište nam je u Zagrebu, ali radimo s timovima iz cijele regije i šire, uglavnom na daljinu. Ugovore i izvještaje izdajemo u skladu s hrvatskim propisima i Općom uredbom o zaštiti podataka.
Redovito. Prije nego što dobijemo pristup bilo kakvom kodu ili dokumentaciji, potpisujemo ugovor o povjerljivosti i dogovaramo tko unutar vašeg tima smije vidjeti nalaze.
Javljamo se odmah i povjerljivo, prije bilo kakve javne objave, i dogovaramo redoslijed koraka s vašim timom. Cilj je ispraviti problem na način koji ne izlaže korisnike dodatnom riziku.
Pošaljite nam repozitorij ili nacrt arhitekture. U prvom razgovoru procjenjujemo opseg i dajemo iskren raspored, bez obveze.