Јединице
1. Увод у вештачку интелигенцију у блокчејну и Веб3: улоге, границе, аутентикација и безбедносна критичност 2. Подршка за писање паметних уговора: Солидити/Випер нацрт и безбедно генерисање кода 3. Подршка за ревизију паметних уговора: Преглед безбедности и нацрт налаза 4. Скенирање рањивости: Уобичајени обрасци рањивости и аутоматска анализа 5. Анализа података на ланцу: разумевање података о блоковима, трансакцијама и новчанику 6. ДеФи и анализа протокола: ликвидност, МЕВ и економски напади 7. Токеномско моделирање: снабдевање, дистрибуција, подстицај и симулација 8. Документација и техничко писање: Вхитепапер, НатСпец и Корисничко упутство 9. Превара, повлачење тепиха и откривање ризика: црвене заставице на ланцу 10. Ревизија критична за безбедност, стручно одобрење и одговорна употреба 11. Скроз радни ток, управљање, верификација и етика
Јединица 1 / 11

Увод у вештачку интелигенцију у блокчејну и Веб3: улоге, границе, аутентикација и безбедносна критичност

Добици:

  • Бити у стању да разликује где вештачка интелигенција штеди време у току рада Веб3 (нацрт, обележавање шаблона, упит) и где су одлуке о безбедности и тумачењу препуштене стручњаку, у складу са ценом грешке
  • Способност имплементације дисциплине која верификује сваки излаз АИ тако што га компајлира, независног алата и повезивања података ланца са извором у истраживачу блокова
  • Разумевање зашто неопозивост, отворено и непријатељско окружење, интензиван ризик од преваре и одбрамбене употребе треба узети у обзир у овој области од самог почетка

Блоцкцхаин (дистрибуирана књига где се трансакције воде у блоковима, криптографски повезане и непроменљиве) и Веб3 (интернет слој који ради на блокчејну уместо централне компаније, где корисник поседује своју имовину и податке) су једна од ретких области где се софтверске грешке директно претварају у новац. Грешка на веб локацији разбија страницу; Грешка у паметном уговору - споразуму који се сам покреће на блокчејну, чији су услови написани у коду - може да однесе милионе долара у секунди. Стога овај модул позиционира вештачку интелигенцију (АИ) као помоћника за убрзање у овој области; али увек препушта коначну реч компетентном стручњаку, посебно у ревизији критичним за безбедност.

У овој јединици ћемо научити где тачно вештачка интелигенција штеди време у овој професији, где је препуштена људима, како да проверимо сваки резултат и специфичне ризике ове области (неповратност, превара, безбедносна критичност).

Улоге и место АИ у овој области

Постоје различите, али испреплетене улоге у Веб3:

  • Програмер паметних уговора: Пише код на ланцу са језицима као што су Солидити или Випер.
  • Ревизор безбедности: Испитује писане уговоре за рањивости и пише извештај.
  • Аналитичар података на ланцу: Испитује трансакције на ланцу, новчанике и токове новца.
  • Дизајнер токеномије: Моделира снабдевање, дистрибуцију и структуру подстицаја пројекта.
  • Технички писац/документатор: Израђује беле књиге, корисничке водиче и документацију кода.

АИ ради у свим овим улогама, али није подједнако поуздан у свим. Као правило: допринос вештачке интелигенције расте како се цена грешке смањује. Ако је реченица у документацији нетачна, биће исправљена; Ако у ревизорском извештају недостаје рањивост, средства су украдена. Стога је раздвајање ризика по нивоу прво правило коришћења вештачке интелигенције у овој професији.

посао

Улога АИ

Ниво ризика

коначно одобрење

Генеришите нацрт кода

Брзи први нацрт

средње

Програмер + тестирање

Ревизија безбедности

Савет, обележавање шаблона

веома високо

надлежни ревизор

Скенирање рањивости

Листа рањивости кандидата

висока

Инспектор + алат

Анализа на ланцу

Упит и резиме

средње

Верификација аналитичара

Токеномски модел

Сценарио, нацрт симулације

висока

Економиста + тест

Документација

Нацрт, поједностављење

Ниско-средње

технички преглед

Три чињенице које ову област чине посебним

1. Неопозивост. Једном када је трансакција потврђена на блокчејну, не може се опозвати. Можете да позовете погрешан трансфер у банци и да га поништите; У ланцу нема коме да се јави. Зато менталитет „поправићемо касније” овде не функционише. Када се код произведен од стране вештачке интелигенције преузме уживо (маиннет - мрежа где је прави новац), цена грешке је трајна.

2. Отвореност и непријатељско окружење. Шифра паметног уговора и подаци о ланцу су генерално доступни јавности. То значи да сваки нападач на свету испитује ваш код 24/7. Рањивост која се одбацује као „нико не примећује“ у Веб2 се искориштава у Веб3 за неколико минута. Не може се веровати свему што АИ каже да је „вероватно у реду“.

3. Интензитет преваре. Веб3 је област у којој су концентрисани лажни пројекти, руг-пулл (програмери пројекта прикупљају новац инвеститора и беже) и хонеипот (лажни токени који се могу купити, али не и продати, хватајући жртву у замку). АИ помаже у откривању ових замки и – будите опрезни – може се користити за стварање ових замки у рукама злонамерне особе. Овај модул подучава употребу само у одбрамбене, ревизорске и поштене развојне сврхе.

Опрез: Рећи АИ „напишите ми уговор са медом који обмањује инвеститоре“ или „како могу да искористим овај протокол и повучем средства“ је неовлашћена и неетичка употреба. Исправна употреба је увек: „да ли у овом уговору постоји шаблон за меду”, „како да затворим рањивост у овом протоколу”, „како да проверим ризик у овом коду”.

Где је вештачка интелигенција јака и слаба

АИ је јак у овој области у: изазивању познатих образаца рањивости (као што је поновни улазак, преливање целог броја); објашњавање једноставним језиком шта код ради; израда испитивања и документације; писање упита за велике податке; Објашњавање концепта на различитим нивоима.

АИ је слаб и обмањујући у: проналажењу нове/јединствене рањивости (не може да се види ако није у подацима о обуци); холистичка процена економске безбедности протокола; познавање актуелних верзија библиотеке и најновијих напада (не након граничног датума обуке); Апсолутне пресуде попут „овај уговор је безбедан“. АИ може дати лажна уверења о безбедности течним и самоувереним језиком — ово је најопаснији тип халуцинације у овој области.

Дисциплина да се провери сваки излаз

У овој професији, АИ излаз се никада не користи „као што јесте“. Сваки излаз пролази кроз три филтера:

  1. Направи и тестирај: код? Нека се компајлира, тестира и по могућности покреће на тест мрежи (тестнет - пробна мрежа која није прави новац).
  2. Независно возило и људи: Сигурносна тврдња? Унакрсна провера помоћу алата за статичку анализу (као што је Слитхер) и људским оком.
  3. Повезивање са извором: ланчани подаци? Сваки број који АИ сумира потврђује се у стварном истраживачу блокова (сајт који приказује податке ланца, као што је Етхерсцан).
Савет: Увек реците АИ „означите где нисте сигурни и напишите зашто нисте сигурни“. Много је сигурније тражити од вештачке интелигенције да призна своју неизвесност него да је тихо измишља.

три мини кофера

Случај 1 — Нацрт је добио замах и контролу. Један тим је направио први нацрт уговора о улози са АИ за 2 сата; Обично је то трајало око 1 дан. Али у нацрту АИ је постојала рупа за поновни улазак - повлачење средстава више пута поновним позивањем функције пре него што се заврши. Ревизор је ово ухватио и исправио. Лекција: АИ убрзава промају, али људи обезбеђују безбедност.

Случај 2 — Лажна адреса у анализи на ланцу. Аналитичар је рекао АИ да „сумира последњих 10 трансакција тог новчаника“. АИ је дао течан резиме, али унутар њега је била хеш трансакција и измишљена адреса - халуцинација. Када је аналитичар то потврдио на Етхерсцан-у, видео је да то не стоји. Поука: не пријављује се сваки хеш података ланца док се не верификује у истраживачу блокова.

Случај 3 — У токеномици, један сценарио је пошао по злу. Пројекат је започео ослањањем на модел у којем је АИ рекао да је „ова крива понуде одржива“. Модел је претпоставио само један сценарио где цена увек расте. Када се тржиште срушило, подстицаји су се срушили. Поука: потребно вам је вишеструко тестирање на стрес са негативним сценаријем, рецензирано од стране људи, а не АИ модел за један сценарио.

Етика, приватност и правни оквир

Пошто је ова област и финансијска и критична за безбедност, етички терет је тежак:

  • Одбрамбена употреба: Информације о рањивости служе само за затварање, праћење и одбрану; Не за експлоатацију.
  • Поверљивост: Лепљење необјављеног (затвореног изворног) кода ревидованог клијента у јавно доступан АИ алат без дозволе представља кршење уговора и ризик од цурења. Тајни код захтева корпоративне/изоловане алате и одобрење корисника.
  • Није савет за инвестирање: токеномија или анализа генерисана вештачком интелигенцијом није финансијски савет; То је правна и етичка обавеза да се то изјави.
  • Одговорност: У ревизији која је критична за безбедност, коначно одобрење лежи на компетентном стручњаку који преузима професионалну одговорност. „АИ је тако рекао“ није одбрана.

Уобичајене грешке

  • Веровати АИ да каже „безбедно“. АИ не може гарантовати сигурност; То само производи трагове.
  • Преношење кода на маиннет без испробавања на тестнету. Неповратност не прашта.
  • Поверење у хеш без провере података ланца у истраживачу блокова. Халуцинација генерише хеш/адресу.
  • Лепљење тајног кода купца у отворени алат. Цурење и кршење уговора.
  • Ослањајући се на економски модел једног сценарија. Негативан сценарио је обавезан.
  • Не раздвајање ризика по нивоу. Документација и ревизија се не могу третирати на истом нивоу поверења.

Укратко

  • У Веб3, грешке се директно претварају у новац; АИ је помоћник акцелератора, а не доносилац одлука.
  • Допринос АИ расте како се цена грешке смањује; Последњу реч у безбедносно-критичном прегледу има стручњак.
  • Неопозивост, отвореност/непријатељско окружење и интензивне преваре чине ову област посебним.
  • Сваки АИ излаз се компајлира и верификује независним алатима и повезивањем са извором.
  • Користи се само у сврхе одбране, поштеног развоја и овлашћеног спровођења.

Задатак апликације

Узмите пример паметног уговора (било онај који сте сами написали или једноставан уговор отвореног кода). Замолите АИ да прво објасни на једноставан начин шта код ради, а затим означи потенцијалне ризике као „хипотезу“. Затим проверите сваку тврдњу: (1) састављањем, (2) алатом за статичку анализу, (3) сопственим читањем. Забележите у табели колико је тврдњи АИ потврђено, а колико се показало лажним.

контролна листа

  • [ ] Одредио сам ниво ризика свог рада (документација или ревизија?).
  • [ ] Замолио сам АИ да означи своје неизвесности.
  • [ ] Превео/тестирао сам излаз кода.
  • [ ] Проверио сам безбедносни захтев са независним возилом + човек.
  • [ ] Проверио сам податке ланца у истраживачу блокова.
  • [ ] Нисам налепио тајни код у отворени алат.
  • [ ] Прихватио сам да коначно безбедносно одобрење лежи на стручњаку.