એકમો
1. બ્લોકચેન અને વેબ3માં આર્ટિફિશિયલ ઇન્ટેલિજન્સનો પરિચય: ભૂમિકાઓ, સીમાઓ, પ્રમાણીકરણ અને સુરક્ષા-જટિલતા 2. સ્માર્ટ કોન્ટ્રાક્ટ રાઇટિંગ સપોર્ટ: સોલિડિટી/વાયપર ડ્રાફ્ટ અને સિક્યોર કોડ જનરેશન 3. સ્માર્ટ કોન્ટ્રાક્ટ ઓડિટ સપોર્ટ: સુરક્ષા સમીક્ષા અને ડ્રાફ્ટ તારણો 4. નબળાઈ સ્કેનિંગ: સામાન્ય નબળાઈ પેટર્ન અને સ્વચાલિત વિશ્લેષણ 5. ઓન-ચેઇન ડેટા એનાલિસિસ: બ્લોક, ટ્રાન્ઝેક્શન અને વૉલેટ ડેટાની સમજ મેળવવી 6. DeFi અને પ્રોટોકોલ વિશ્લેષણ: પ્રવાહિતા, MEV અને આર્થિક હુમલા 7. ટોકેનોમિક મોડેલિંગ: પુરવઠો, વિતરણ, પ્રોત્સાહન અને સિમ્યુલેશન 8. દસ્તાવેજીકરણ અને તકનીકી લેખન: વ્હાઇટપેપર, નેટસ્પેક અને વપરાશકર્તા માર્ગદર્શિકા 9. છેતરપિંડી, રગ-પુલ અને રિસ્ક ડિટેક્શન: ઓન-ચેન રેડ ફ્લેગ્સ 10. સલામતી-જટિલ ઑડિટ, નિષ્ણાતની મંજૂરી અને જવાબદાર ઉપયોગ 11. એન્ડ-ટુ-એન્ડ વર્કફ્લો, ગવર્નન્સ, વેરિફિકેશન અને એથિક્સ
એકમ 3 / 11

સ્માર્ટ કોન્ટ્રાક્ટ ઓડિટ સપોર્ટ: સુરક્ષા સમીક્ષા અને ડ્રાફ્ટ તારણો

નફો:

  • સમજવાની ક્ષમતા કે કૃત્રિમ બુદ્ધિ ઓડિટરના કાર્યક્ષેત્રને વિસ્તૃત કરે છે, પરંતુ તેને બદલતું નથી, અને શ્રેણી સ્કેનિંગ અને ડ્રાફ્ટિંગ શોધવામાં ઉપયોગી છે.
  • કૃત્રિમ બુદ્ધિમત્તા મૂળ નબળાઈ અને વ્યવસાયિક તર્કની ભૂલને ચૂકી ગઈ છે અને તે અસ્ખલિત 'સુરક્ષિત' નિવેદન ખાતરી નથી.
  • તારણોને તેમની ગંભીરતાના સ્તર અનુસાર વર્ગીકૃત કરવાની ક્ષમતા અને સમજવું કે અંતિમ મંજૂરી અને વ્યાવસાયિક જવાબદારી સક્ષમ ઓડિટર પર રહે છે.

સુરક્ષા ઓડિટ (નબળાઈઓ માટે સ્માર્ટ કોન્ટ્રાક્ટની પદ્ધતિસરની તપાસ) Web3 નું સૌથી જવાબદાર કામ છે. ઑડિટર દ્વારા ચૂકી ગયેલી એક લાઇનના પરિણામે લાખો ડૉલરનું નુકસાન થઈ શકે છે. આ યુનિટમાં તમે ઓડિટ સહાયક તરીકે AI નો ઉપયોગ કેવી રીતે કરવો તે શીખી શકશો; અમે તારણો રૂપરેખા લખવા માટે સંકેતો પેદા કરવાથી શીખીશું. પરંતુ સૌથી જટિલ વાક્ય આ છે: AI નિયંત્રણ કરતું નથી; તે એક સહાયક છે જે ઓડિટરની આંખને તીક્ષ્ણ બનાવે છે. આખરી મંજૂરી સક્ષમ ઓડિટર પાસે છે જે વ્યાવસાયિક જવાબદારી સ્વીકારે છે.

શા માટે ઓડિટીંગ સુરક્ષા માટે મહત્વપૂર્ણ છે

એક ઓડિટ રિપોર્ટ પ્રોજેક્ટ અને રોકાણકારોને ખાતરી આપે છે કે "આ કોડની સમીક્ષા કરવામાં આવી છે." જો આ ખાતરી ખોટી છે, તો પરિણામો વિનાશક છે: શોષિત પ્રોટોકોલ, ખોવાયેલ ભંડોળ, ભાંગી પડેલો પ્રોજેક્ટ. તેથી, નિરીક્ષણમાં AI નો ઉપયોગ આ મોડ્યુલનો સૌથી સાવચેત ભાગ છે. AI ઓડિટરના કાર્યક્ષેત્રને વિસ્તૃત કરે છે (વધુ પેટર્ન યાદ કરે છે, ઝડપથી વાંચે છે) પરંતુ ઓડિટરને બદલતું નથી.

તે કેમ પસાર થતું નથી? કારણ કે:

  • AI એ અનન્ય/નવી નબળાઈ જોઈ શકતું નથી જે તાલીમ ડેટામાં નથી.
  • AI ઘણીવાર પ્રોટોકોલના વ્યવસાયના તર્કમાં ખામીને ચૂકી જાય છે-કે કોડ તકનીકી રીતે સાચો છે પરંતુ આર્થિક રીતે શોષણક્ષમ છે.
  • AI અસ્ખલિત ભાષામાં "સુરક્ષિત" કહીને ખોટું આશ્વાસન આપી શકે છે; આ સૌથી ખતરનાક પરિણામ છે.

નિયંત્રણમાં AI નો ઉપયોગ કરવાના સ્તરો

1. પ્રારંભિક સ્કેન અને પેટર્ન રીમાઇન્ડર. AI ચેકલિસ્ટ જેવા જાણીતા નબળાઈ પેટર્નમાંથી પસાર થાય છે: પુનઃપ્રવેશ, ઍક્સેસ નિયંત્રણ, ઓરેકલ મેનીપ્યુલેશન, ફ્રન્ટ-રનિંગ. આ સુનિશ્ચિત કરે છે કે ઓડિટર કોઈપણ શ્રેણી ચૂકી ન જાય.

2. કોડ સમજૂતી. AI ને સાદી ભાષામાં જટિલ કાર્ય સમજાવવાથી ઓડિટરને તર્કને ઝડપથી સમજવાની મંજૂરી મળે છે; પરંતુ વર્ણન હંમેશા કોડ સાથે સરખાવવામાં આવે છે.

3. તારણોનો ડ્રાફ્ટ લખવો. જ્યારે ઓડિટર નબળાઈ શોધે છે, ત્યારે AI અહેવાલનો ડ્રાફ્ટ (વર્ણન, અસર, સૂચિત ઉકેલ) લખવામાં સમય બચાવે છે.

4. કાઉન્ટર-પૂર્વકલ્પના પેદા કરવી. AI ને પૂછો "આ કાર્યનો દુરુપયોગ કેવી રીતે થઈ શકે?" પૂછવું " અમને આક્રમક પરિપ્રેક્ષ્યની યાદ અપાવે છે.

ધ્યાન આપો: માત્ર કારણ કે AI કહે છે કે "મને આ કોડમાં કોઈ નબળાઈઓ મળી નથી" નો અર્થ એ નથી કે "આ કોડ સલામત છે". ગેરહાજરીનો પુરાવો એ પુરાવાની ગેરહાજરી નથી. હકીકત એ છે કે AI કંઈક શોધી શકતું નથી, તે ઓડિટર માટે તે વિસ્તારની તપાસ કરવા માટે તેને બિનજરૂરી બનાવતું નથી.

ગંભીરતાના સ્તરો શોધવી

ઓડિટ તારણો તેમના ગંભીરતા સ્તર અનુસાર વર્ગીકૃત કરવામાં આવે છે. ડ્રાફ્ટ્સ જનરેટ કરતી વખતે AI એ આ ફ્રેમવર્કનો ઉપયોગ કરવો જોઈએ:

સ્તર

અર્થ

ઉદાહરણ

જટિલ

ફંડ લોસ/લોકઆઉટ સીધું જ શક્ય છે

પુનઃપ્રવેશ સાથે ભંડોળ ઉપાડવું

ઉચ્ચ

ચોક્કસ પરિસ્થિતિઓમાં ગંભીર અસર

અનધિકૃત પ્રિન્ટિંગ (ટંકશાળ)

મધ્યમ

મર્યાદિત અસર અથવા મુશ્કેલ સ્થિતિ

ઓરેકલ વિચલન સાથે નાનું નુકશાન

નીચું

નજીવું જોખમ, સારી પ્રથાનો ભંગ

ઇવેન્ટ બ્રોડકાસ્ટ ખૂટે છે

માહિતી

બિન-સુરક્ષા, વાંચનક્ષમતા

NatSpec અભાવ

નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ

નબળા પ્રોમ્પ્ટ:

શું આ કરાર સુરક્ષિત છે?

આ પ્રશ્ન એઆઈને “હા/ના” જેવો સંપૂર્ણ, અયોગ્ય નિર્ણય કરવા દબાણ કરે છે — જે આપણે નથી જોઈતા.

શક્તિશાળી પ્રોમ્પ્ટ:

તમારી ભૂમિકા: વરિષ્ઠ સ્માર્ટ કોન્ટ્રાક્ટ ઓડિટરના સહાયક. સુરક્ષા માટે નીચેના કરારને સ્કેન કરો. એક પછી એક નીચેની શ્રેણીઓમાં જાઓ: પુનઃપ્રવેશ, ઍક્સેસ નિયંત્રણ, પૂર્ણાંક કામગીરી, ઇનપુટ માન્યતા, ઓરેકલ/બાહ્ય ડેટા, ફ્રન્ટ-રનિંગ, ગેસ મર્યાદા. દરેક શોધ માટે: (1) કોડની સંબંધિત લાઇન, (2) જોખમનું કારણ, (3) અંદાજિત ગંભીરતા (જટિલ/ઉચ્ચ/મધ્યમ/નીચી), (4) ઉકેલ પ્રસ્તાવ. આ કન્ફર્મ કરવા માટેની પૂર્વધારણાઓ છે; "સુરક્ષિત" ચુકાદો આપશો નહીં. એવા વિસ્તારોને ચિહ્નિત કરો કે જેને તમે સ્પષ્ટપણે કહી શકતા નથી કે "ઓડિટરને પુષ્ટિ કરવા દો".

ચાર નકલ કરી શકાય તેવા નમૂનાઓ

1) શ્રેણી આધારિત બ્રાઉઝિંગ:

નીચેની શ્રેણીઓ માટે આ કરારને સ્કેન કરો: પુનઃપ્રવેશ, ઍક્સેસ નિયંત્રણ, પૂર્ણાંક ઓવરફ્લો, ઇનપુટ માન્યતા, ઓરેકલ નિર્ભરતા, ફ્રન્ટ-રનિંગ, DoS/ગેસ. દરેક કેટેગરી માટે, કહો કે "કોઈ જોખમ નથી/મને ખાતરી નથી" અને કોડની લાઇન સાથે તમારા વાજબીતાને જોડો. અંતિમ નિર્ણય ન કરો.

2) હુમલાખોરના પરિપ્રેક્ષ્યમાંથી પ્રતિ-પૂર્તિકલ્પના:

હુમલાખોરની જેમ વિચારો: આ કાર્યનો દુરુપયોગ કરવાની કઈ રીતો છે? દરેક દૃશ્યને પગલું દ્વારા લખો અને કઈ શરતોની આવશ્યકતા છે તે સૂચવો. આ દૃશ્યો પરીક્ષણ કરવા માટેની પૂર્વધારણાઓ છે; વાસ્તવિક શોષણ કોડ જનરેટ કરશો નહીં, ફક્ત જોખમનું વર્ણન કરો.

3) ડ્રાફ્ટ તારણો અહેવાલ:

ઔપચારિક ઓડિટ ભાષામાં નીચેના ચકાસાયેલ શોધની જાણ કરો: શીર્ષક, ગંભીરતા, વર્ણન, અસર, અસરગ્રસ્ત કોડ, પુનઃઉત્પાદનનાં પગલાં, સૂચિત ઉકેલ. માપેલ અને તકનીકી ભાષાનો ઉપયોગ કરો; અતિશયોક્તિ ધારો કે ઓડિટર દ્વારા શોધની પુષ્ટિ થઈ છે, નવી શોધ બનાવશો નહીં.

4) ચકાસણી ઠીક કરો:

નીચે એક નબળાઈ અને વિકાસકર્તા દ્વારા લાગુ કરવામાં આવેલ ફિક્સ છે. તપાસ કરો કે શું ફિક્સ ખરેખર નબળાઈને બંધ કરે છે; માર્ક કરો કે શું તે નવી આડઅસર અથવા નબળાઈ બનાવે છે. ખાતરી માટે "બંધ" કહો નહીં; "પરીક્ષણ દ્વારા પુષ્ટિ કરવી આવશ્યક છે" સાથે સમાપ્ત થાય છે.

ત્રણ નાના કેસ (સંખ્યામાં)

કેસ 1 - AI એ કેટેગરી હૉપિંગને અટકાવી. એક ઓડિટર 400-લાઇનના કોન્ટ્રાક્ટ પર ધ્યાન કેન્દ્રિત કરવાના હતા અને ઓરેકલ કેટેગરી છોડવાના હતા. AI ની કેટેગરી સ્કેન એ ચેતવણી આપી હતી કે "કિંમત ડેટા એક જ સ્ત્રોતમાંથી છે, મેનીપ્યુલેશન માટે ખુલ્લું છે". ઓડિટરે તેની તપાસ કરી અને જાણવા મળ્યું કે તે ખરેખર એક મધ્યમ જોખમ હતું. પાઠ: AI કવરેજ શિસ્ત જાળવી રાખે છે.

કેસ 2 - ખોટી "સુરક્ષિત" ખાતરી. બીજી ટીમે એઆઈને પૂછ્યું "શું આ સુરક્ષિત છે?" તેણે પૂછ્યું; "ત્યાં કોઈ નોંધપાત્ર સમસ્યા હોય તેવું લાગતું નથી," એઆઈએ કહ્યું. ક્રૂ નિરીક્ષણ હલકું હતું. પછી સ્વતંત્ર ઓડિટરને વ્યવસાય-તર્કની ખામી મળી: એક ગણતરી જે તકનીકી રીતે સાચી હતી પરંતુ જેના પ્રોત્સાહનો શોષણક્ષમ હતા. પાઠ: AI બિઝનેસ લોજિક ભૂલ ચૂકી જાય છે; તે "સુરક્ષિત" કહેવા માટે વિશ્વાસ કરી શકાતો નથી.

કેસ 3 - રિપોર્ટનો મુસદ્દો તૈયાર કરવામાં 3 કલાક બચ્યા. ઓડિટર 8 તારણો મેન્યુઅલી રિપોર્ટ કરવામાં અડધો દિવસ વિતાવતો હતો. એકવાર મેં AI ને ચકાસાયેલ તારણો આપ્યા અને સત્તાવાર ડ્રાફ્ટ છાપ્યા પછી, સમય ~3 કલાક ઘટી ગયો; ઓડિટરે ઊંડાણ માટે સમય ફાળવ્યો. પાઠ: AI રિપોર્ટિંગમાં સલામત અને કાર્યક્ષમ છે કારણ કે તારણો પહેલાથી જ માનવીય રીતે ચકાસવામાં આવ્યા છે.

વ્યાપાર તર્કની નબળાઈ: AIનું અંધ સ્થળ

સૌથી મોંઘી નબળાઈઓ ઘણીવાર કોડની તકનીકી ભૂલથી નહીં, પરંતુ વ્યવસાયિક તર્કના શોષણથી આવે છે: પુરસ્કાર ખાતાનું રાઉન્ડિંગ શોષણ, મતનું ફ્લેશ લોન હાઇજેકિંગ, કિંમતમાં ત્વરિત હેરાફેરી. આ એવા કિસ્સા છે કે જ્યાં કોડ "યોગ્ય રીતે" કામ કરે છે પરંતુ પ્રોટોકોલને આર્થિક રીતે છેતરવામાં આવી શકે છે. AI આવી ભૂલો ચૂકી જાય તેવી શક્યતા છે-ખાસ કરીને પ્રોટોકોલ-વિશિષ્ટ ભૂલો. તેથી, બિઝનેસ લોજિક રિવ્યુ એ ઓડિટરનું સૌથી વધુ માનવ-સઘન ક્ષેત્ર છે અને એઆઈ પર સૌથી ઓછું નિર્ભર છે.

સંકેત: AI ને પૂછો "આ પ્રોટોકોલના આર્થિક પ્રોત્સાહનોનો કેવી રીતે ઉપયોગ કરી શકાય?" અને પ્રારંભિક બિંદુ તરીકે આવતા દૃશ્યોનો ઉપયોગ કરો — પરંતુ યાદ રાખો કે તમારે અને તમારી ટીમે વાસ્તવિક વિશ્લેષણ કરવું જોઈએ.

સામાન્ય ભૂલો

  • AI ને પૂછો "શું તે સુરક્ષિત છે?" પૂછવું અને તમારી હા પર વિશ્વાસ કરવો. સંપૂર્ણ ચુકાદો જરૂરી નથી.
  • જ્યારે AI કહે છે કે "મને તે મળી શક્યું નથી" ત્યારે સમીક્ષા બંધ કરવી. ગેરહાજરી એ પુરાવો નથી.
  • AI ને બિઝનેસ લોજિક રિવ્યુ સોંપી રહ્યું છે. તે તેનું સૌથી મોટું બ્લાઈન્ડ સ્પોટ છે.
  • સ્વતંત્ર સાધનોનો ઉપયોગ ન કરવો (સ્લિથર વગેરે). એકલું AI પૂરતું નથી.
  • AI દ્વારા બનાવેલ તારણો તેની ખરાઈ કર્યા વિના રિપોર્ટમાં મૂકવું. આભાસનું જોખમ.
  • AI પર નિયંત્રણની જવાબદારી મૂકવાનો પ્રયાસ કરી રહ્યાં છીએ. જવાબદારી નિષ્ણાતની છે.

સારાંશમાં

  • ઓડિટ સલામતી માટે મહત્વપૂર્ણ છે; AI ઓડિટરના કાર્યક્ષેત્રને વિસ્તૃત કરે છે પરંતુ તેને બદલતું નથી.
  • AI મૂળ નબળાઈ અને બિઝનેસ લોજિક બગને ચૂકી જાય છે; "સલામત" કહેવું એ ખાતરી નથી.
  • તારણો ગંભીરતા સ્તર અનુસાર વર્ગીકૃત કરવામાં આવે છે; AI ડ્રાફ્ટ જનરેટ કરવામાં ઉપયોગી છે.
  • કાઉન્ટર-પૂર્તિકલ્પના અને શ્રેણી સ્ક્રિનિંગ સમાવેશની શિસ્તને જાળવી રાખે છે.
  • અંતિમ મંજૂરી અને વ્યાવસાયિક જવાબદારી હંમેશા સક્ષમ ઓડિટર પર રહે છે.

એપ્લિકેશન કાર્ય

એક નમૂનો કરાર શોધો જેમાં જાણીતી નબળાઈ હોય (શૈક્ષણિક હેતુઓ માટે, "નબળા કરાર" ના ઉદાહરણો ઓપન સોર્સમાં ઉપલબ્ધ છે). AI પર "કેટેગરી આધારિત સ્કેનિંગ" પ્રોમ્પ્ટ લાગુ કરો. નોંધ કરો કે શું AI: (1) વાસ્તવિક નબળાઈ મળી, (2) બનાવટી/ખોટા તારણો ઉત્પન્ન કર્યા, (3) "સુરક્ષિત" જેવા સંપૂર્ણ નિર્ણયો કર્યા. પછી તેને સ્થિર વિશ્લેષણ સાધન સાથે સરખાવો.

ચેકલિસ્ટ

  • AI ને પૂછો "શું તે સુરક્ષિત છે?" તેના બદલે, મારી પાસે શ્રેણી-આધારિત સ્કેન હતું.
  • [ ] મેં દરેક શોધને એક પૂર્વધારણા તરીકે ગણી.
  • [ ] મેં મારી/ટીમની વ્યવસાયિક તર્કની સમીક્ષા કરી.
  • [ ] મેં તેને સ્વતંત્ર સ્ટેટિક એનાલિસિસ ટૂલ વડે ક્રોસ-વેલિડેટ કર્યું છે.
  • [ ] મેં પુષ્ટિ કરી છે કે AI તારણો બનાવતી નથી.
  • [ ] મેં તારણોને ગંભીરતાના સ્તર અનુસાર વર્ગીકૃત કર્યા છે.
  • [ ] મેં સ્વીકાર્યું કે અંતિમ મંજૂરી સક્ષમ ઓડિટર પાસે છે.