Voitot:
- Kyky ymmärtää, että tekoäly laajentaa tarkastajan ulottuvuutta, mutta ei korvaa sitä, ja on hyödyllinen luokkien skannauksessa ja luonnosten etsimisessä.
- Kyky tunnistaa, että tekoäly on missannut alkuperäisen haavoittuvuuden ja liikelogiikkavirheen ja että sujuva "turvallinen" lausunto ei ole vakuutus
- Kyky luokitella havainnot niiden vakavuuden mukaan ja ymmärtää, että lopullinen hyväksyntä ja ammatillinen vastuu on pätevällä tarkastajalla.
Tietoturvaauditointi (fiksun sopimuksen järjestelmällinen tarkastelu haavoittuvuuksien varalta) on Web3:n vastuullisin työ. Yksittäinen tilintarkastajan huomaamatta jättämä rivi voi aiheuttaa miljoonien dollarien tappioita. Tässä osiossa opit käyttämään tekoälyä auditointiavustajana; Opimme vihjeiden luomisesta havaintojen hahmotelman kirjoittamiseen. Mutta kriittisin lause on tämä: AI ei hallitse; Se on avustaja, joka terävöittää tarkastajan silmää. Lopullisen hyväksynnän antaa pätevä tilintarkastaja, joka ottaa ammatillisen vastuun.
Miksi auditointi on turvallisuuden kannalta kriittistä
Tarkastusraportti vakuuttaa hankkeelle ja sijoittajille, että "tämä koodi on tarkistettu". Jos tämä vakuutus on väärä, seuraukset ovat tuhoisat: hyväksikäytetty protokolla, menetetty rahoitus, romahtanut projekti. Siksi tekoälyn käyttö tarkastuksessa on tämän moduulin huolellisin osa. Tekoäly laajentaa tarkastajaa (muistaa enemmän kaavoja, lukee nopeammin), mutta ei korvaa tarkastajaa.
Miksei se mene läpi? Koska:
- Tekoäly ei näe ainutlaatuista/uutta haavoittuvuutta, jota ei ole koulutustiedoissa.
- Tekoäly huomaa usein protokollan liiketoimintalogiikassa olevan virheen – sen, että koodi on teknisesti oikea, mutta taloudellisesti hyödynnettävissä.
- Tekoäly voi antaa väärän vakuutuksen sanomalla "turvallinen" sujuvalla kielellä; Tämä on vaarallisin lopputulos.
Tekoälyn käytön tasot hallinnassa
1. Ensimmäinen skannaus ja kuviomuistutus. Tekoäly käy läpi tunnetut haavoittuvuusmallit, kuten tarkistuslistan: sisäänpääsy, kulunvalvonta, oraakkelin manipulointi, eturintamassa. Näin varmistetaan, että tilintarkastaja ei missaa yhtään kategoriaa.
2. Koodin selitys. Monimutkaisen toiminnon selittäminen tekoälylle selkeällä kielellä antaa tarkastajalle mahdollisuuden ymmärtää logiikka nopeasti; mutta kuvausta verrataan aina koodiin.
3. Havaintoluonnoksen kirjoittaminen. Kun tarkastaja löytää haavoittuvuuden, tekoäly säästää aikaa raporttiluonnoksen (kuvaus, vaikutus, ehdotettu ratkaisu) kirjoittamiseen.
4. Vastahypoteesin luominen. Kysy tekoälyltä "miten tätä toimintoa voidaan käyttää väärin?" Kysyminen " muistuttaa meitä aggressiivisesta näkökulmasta.
Huomio: Se, että tekoäly sanoo "en löytänyt haavoittuvuuksia tästä koodista", EI tarkoita, että "tämä koodi on turvallinen". Todisteet poissaolosta ei ole todisteen puuttumista. Se, että tekoäly ei löydä jotain, ei tee tarkastajan tarpeettomaksi tutkia kyseistä aluetta.
Vakavuustasojen löytäminen
Tarkastushavainnot luokitellaan niiden vakavuusasteen mukaan. Tekoälyn tulee käyttää tätä kehystä luodessaan luonnoksia:
Taso
Merkitys
esimerkki
kriittinen
Rahaston menetys/sulku on suoraan mahdollista
Varojen nostaminen paluumatkalla
korkea
Vakava vaikutus tietyissä olosuhteissa
Luvaton tulostus (minttu)
keskikokoinen
Rajoitettu vaikutus tai vaikea kunto
Pieni tappio Oracle-poikkeaman kanssa
alhainen
Pieni riski, hyvän tavan rikkominen
Tapahtuman lähetys puuttuu
Tietoja
Ei-turvallisuus, luettavuus
NatSpecin puute
Heikko kehote / Vahva kehote
Heikko kehote:
Onko tämä sopimus turvallinen?
Tämä kysymys pakottaa tekoälyn tekemään ehdottoman, perusteettoman arvion, kuten "kyllä/ei" – juuri sitä, mitä emme halua.
Tehokas kehotus:
Tehtäväsi: vanhempi älykäs sopimustarkastaja.Skannaa seuraava sopimus turvallisuuden varmistamiseksi. Käy läpi seuraavat luokat yksitellen: paluu, kulunvalvonta, kokonaislukuoperaatiot, syötteen validointi, oraakkeli/ulkoiset tiedot, etukäteiskäyttö, kaasuraja. Jokaiselle LÖYDYNTÖÖN: (1) asiaankuuluva koodirivi, (2) syyriski, (3) arvioitu vakavuus (kriittinen/korkea/keskitaso/matala), (4) ratkaisuehdotus. Nämä ovat HYPOTEESIA, JOTKA ON VAHVISTAA; Älä anna "turvallista" tuomiota. Merkitse alueet, joista et ole varma sanomalla selvästi "tarkastajan vahvistaa".
Neljä kopioitavaa mallia
1) Luokkiin perustuva selaus:
Tarkista tämä sopimus seuraavien luokkien osalta: sisäänpääsy, kulunvalvonta, kokonaislukujen ylivuoto, syötteen validointi, oraakkeliriippuvuus, etukäteiskäyttö, DoS/kaasu. Sano jokaiselle luokalle "riskiä ei ole/ei ole/en ole varma" ja liitä perustelusi koodin riville. Älä tee lopullista tuomiota.
2) Vastahypoteesi hyökkääjän näkökulmasta:
Ajattele kuin hyökkääjä: millä tavoilla tätä toimintoa voi väärinkäyttää? Kirjoita jokainen skenaario vaihe vaiheelta ja ilmoita vaadittavat ehdot. Nämä skenaariot ovat testattavia hypoteeseja; ÄLÄ luo todellista hyväksikäyttökoodia, kuvaile vain riski.
3) Havaintoraporttiluonnos:
Raportoi seuraava varmennettu havainto virallisella tarkastuskielellä: otsikko, vakavuus, kuvaus, vaikutus, koodi, johon vaikuttaa, vaiheet toistamiseen, ehdotettu ratkaisu. Käytä mitattua ja teknistä kieltä; liioittelu. Oletetaan, että tarkastaja on vahvistanut havainnon, älä tee uutta havaintoa.
4) Korjaa vahvistus:
Alla on haavoittuvuus ja kehittäjän käyttämä korjaus. Tarkista, sulkeeko korjaus todella haavoittuvuuden; merkitse, aiheuttaako se uuden sivuvaikutuksen tai haavoittuvuuden. Älä sano "suljettu" varmasti; Loppuun "on vahvistettava testaamalla".
Kolme minikoteloa (numeroina)
Tapaus 1 – AI esti luokkahyppelyn. Tarkastaja aikoi keskittyä 400 rivin sopimukseen ja ohittaa oraakkelikategorian. Tekoälyn luokkaskannaus antoi varoituksen, että "hintatiedot ovat peräisin yhdestä lähteestä ja ovat manipuloivia". Tarkastaja tutki sen ja totesi, että se oli todellakin keskimääräinen riski. Oppitunti: AI ylläpitää kattavuuskuria.
Tapaus 2 – Väärä "turvallinen" vakuutus. Toinen tiimi kysyi tekoälyltä "onko tämä turvallista?" hän kysyi; "Siellä ei näytä olevan merkittävää ongelmaa", AI sanoi. Miehistön tarkastus oli kevyt. Sitten riippumaton tilintarkastaja havaitsi liiketoimintalogiikan virheen: laskelman, joka oli teknisesti oikea, mutta jonka kannustimet olivat hyödynnettävissä. Oppitunti: AI kaipaa liiketoimintalogiikkavirhettä; Häneen ei voida luottaa sanovan "turvallinen".
Tapaus 3 – Raportin laatiminen säästi 3 tuntia. Tarkastaja käytti puolet päivästä raportoidessaan manuaalisesti 8 havaintoa. Kun annoin tarkistetut havainnot tekoälylle ja tulostin virallisen luonnoksen, aika putosi ~3 tunnilla; Tarkastaja käytti aikaa syventämiseen. Oppitunti: Tekoäly on turvallinen ja tehokas raportoinnissa, koska havainnot on jo inhimillisesti todennettu.
Liiketoiminnan logiikan haavoittuvuus: tekoälyn sokea piste
Kalleimmat haavoittuvuudet eivät usein johdu koodin teknisestä virheestä, vaan bisneslogiikan hyödynnettävyydestä: palkkiotilin pyöristäminen, äänestyksen flash-lainan kaappaus, hinnan välitön manipulointi. Nämä ovat tapauksia, joissa koodi toimii "oikein", mutta protokollaa voidaan huijata taloudellisesti. Tekoäly ei todennäköisesti huomaa tällaisia virheitä - varsinkin protokollakohtaisia. Siksi liiketoimintalogiikan tarkastelu on tilintarkastajan inhimillisin alue ja vähiten tekoälyyn riippuvainen alue.
Vihje: Kysy tekoälyltä "miten tämän pöytäkirjan taloudellisia kannustimia voidaan hyödyntää?" ja käytä esiin tulleita skenaarioita lähtökohtana – mutta muista, että sinun ja tiimisi tulee tehdä todellinen analyysi.
Yleisiä virheitä
- Kysy tekoälyltä "onko se turvallista?" Kysy ja luota kyllä. Ehdotonta tuomiota ei vaadita.
- Tarkistuksen lopettaminen, kun tekoäly sanoo "En löytänyt sitä". Poissaolo ei ole todiste.
- Liiketoiminnan logiikan tarkastelun delegointi tekoälylle. Se on hänen suurin sokea piste.
- Ei käytä itsenäisiä työkaluja (Slither jne.). AI yksin ei riitä.
- Tekoälyn tekemä löydön sisällyttäminen raporttiin tarkistamatta sitä. Hallusinaatioiden riski.
- Yritetään asettaa hallintavastuu tekoälylle. Vastuu on asiantuntijalla.
Yhteenvetona
- Auditointi on turvallisuuden kannalta kriittistä; Tekoäly laajentaa tarkastajan ulottuvuutta, mutta ei korvaa sitä.
- AI kaipaa alkuperäistä haavoittuvuutta ja liikelogiikkavirhettä; "Turvallinen" ei ole vakuutus.
- Löydökset luokitellaan vakavuuden mukaan; AI on hyödyllinen luonnosten luomisessa.
- Vastahypoteesit ja kategorioiden seulonta säilyttävät osallisuuden kurinalaisuuden.
- Lopullinen hyväksyntä ja ammatillinen vastuu on aina pätevällä tilintarkastajalla.
Sovellustehtävä
Etsi mallisopimus, joka sisältää tunnetun haavoittuvuuden (opetustarkoituksiin, esimerkkejä "haavoittuvista sopimuksista" on saatavana avoimessa lähdekoodissa). Käytä "luokkapohjaista skannausta" -kehotetta tekoälylle. Huomaa, onko tekoäly: (1) löytänyt todellisen haavoittuvuuden, (2) tuottanut tekaistuja/virheellisiä havaintoja, (3) tehnyt ehdottomia arvioita, kuten "turvallinen". Vertaa sitä sitten staattiseen analyysityökaluun.
tarkistuslista
- [ ] Kysy tekoälyltä "onko se turvallista?" Sen sijaan tein luokkapohjaisen skannauksen.
- [ ] Käsittelin jokaista löytöä hypoteesina.
- [ ] Tein liiketoimintalogiikkakatsauksen itse/tiimini.
- [ ] Ristiinvalidoin sen itsenäisellä staattisen analyysin työkalulla.
- [ ] Olen vahvistanut, että tekoäly ei tee havaintoja.
- [ ] Luokittelin löydökset vakavuusasteen mukaan.
- [ ] Hyväksyin, että lopullisen hyväksynnän antaa toimivaltainen tilintarkastaja.