ইউনিট
1. ব্লকচেইন এবং ওয়েব3-এ কৃত্রিম বুদ্ধিমত্তার ভূমিকা: ভূমিকা, সীমানা, প্রমাণীকরণ এবং নিরাপত্তা-সমালোচনা 2. স্মার্ট কন্ট্রাক্ট রাইটিং সাপোর্ট: সলিডিটি/ভাইপার ড্রাফট এবং সিকিউর কোড জেনারেশন 3. স্মার্ট চুক্তি নিরীক্ষা সমর্থন: নিরাপত্তা পর্যালোচনা এবং খসড়া ফলাফল 4. দুর্বলতা স্ক্যানিং: সাধারণ দুর্বলতা নিদর্শন এবং স্বয়ংক্রিয় বিশ্লেষণ 5. অন-চেইন ডেটা বিশ্লেষণ: ব্লক, লেনদেন এবং ওয়ালেট ডেটার ধারণা তৈরি করা 6. ডিফাই এবং প্রোটোকল বিশ্লেষণ: তারল্য, এমইভি এবং অর্থনৈতিক আক্রমণ 7. টোকেনমিক মডেলিং: সাপ্লাই, ডিস্ট্রিবিউশন, ইনসেনটিভ এবং সিমুলেশন 8. ডকুমেন্টেশন এবং টেকনিক্যাল রাইটিং: হোয়াইটপেপার, ন্যাটস্পেক এবং ইউজার গাইড 9. জালিয়াতি, রাগ-টান এবং ঝুঁকি সনাক্তকরণ: অন-চেইন লাল পতাকা 10. সেফটি-ক্রিটিকাল অডিট, বিশেষজ্ঞের অনুমোদন এবং দায়িত্বশীল ব্যবহার 11. এন্ড-টু-এন্ড ওয়ার্কফ্লো, শাসন, যাচাইকরণ এবং নীতিশাস্ত্র
ইউনিট 4 / 11

দুর্বলতা স্ক্যানিং: সাধারণ দুর্বলতা নিদর্শন এবং স্বয়ংক্রিয় বিশ্লেষণ

লাভ:

  • রিএন্ট্রান্সি, অ্যাক্সেস কন্ট্রোল, ওরাকল ম্যানিপুলেশন এবং সামনের দৌড়ের মতো সাধারণ দুর্বলতার ধরণগুলি সনাক্ত করার ক্ষমতা এবং একটি স্ট্যাটিক বিশ্লেষণ টুল + কৃত্রিম বুদ্ধিমত্তা + মানবের সাহায্যে সেগুলি স্ক্যান করার ক্ষমতা
  • টুল আউটপুট ব্যাখ্যা করতে এবং MEV এবং ব্যবসায়িক যুক্তিতে মিথ্যা ইতিবাচক এবং দুর্বলতাগুলিকে অগ্রাধিকার দেওয়ার ক্ষেত্রে AI শক্তির মধ্যে পার্থক্য করার ক্ষমতা
  • বুঝুন যে একটি 'ক্লিন স্ক্যান' একটি নিরাপত্তা শংসাপত্র নয়, সেই স্ক্যানিং নিয়ন্ত্রণের একটি স্তর মাত্র

আমরা পূর্ববর্তী ইউনিটে নিরীক্ষার সামগ্রিক শৃঙ্খলা দেখেছি। এই ইউনিটে, আমরা আরও একটি প্রযুক্তিগত বিষয়ে ফোকাস করি: দুর্বলতা স্ক্যানিং — কোডে পরিচিত দুর্বলতার নিদর্শনগুলির জন্য পদ্ধতিগত অনুসন্ধান৷ এখানে আমরা AI ব্যবহার করব, স্ট্যাটিক অ্যানালাইসিস টুল সহ, সহকারী হিসেবে যা পরিচিত দুর্বলতার ধরণগুলি স্ক্যান করে এবং বর্ণনা করে। লক্ষ্য: সবচেয়ে সাধারণ দুর্বলতাগুলিকে গভীরভাবে জানা এবং কোথায় AI নির্ভরযোগ্য এবং কোথায় এটি স্ক্যান করার ক্ষেত্রে অপর্যাপ্ত তা পার্থক্য করা।

স্ট্যাটিক এবং ডাইনামিক স্ক্যানিং

স্ক্যানিং দুই প্রকার। স্ট্যাটিক অ্যানালাইসিস — কোডটি না চালিয়ে পরীক্ষা করা: স্লিথার এবং মিথ্রিলের মতো টুল কন্ট্রাক্ট কোড স্ক্যান করে এবং পরিচিত প্যাটার্নগুলিকে ফ্ল্যাগ করে। ডায়নামিক/প্রতীকী বিশ্লেষণ (কোডটি বিভিন্ন ইনপুট দিয়ে চালানো বা গাণিতিকভাবে অন্বেষণ করা): ফাজিং (এলোমেলো ইনপুট দিয়ে বোমাবর্ষণ) এবং সিম্বলিক এক্সিকিউশন (সকল সম্ভাব্য পথ অন্বেষণ) এই গ্রুপের মধ্যে পড়ে।

AI এই সরঞ্জামগুলিকে প্রতিস্থাপন করে না, এটি তাদের পরিপূরক করে: যখন যানবাহন একটি সতর্কতা জারি করে, তখন AI সরল ভাষায় সতর্কতা ব্যাখ্যা করে; AI মনে করিয়ে দিতে পারে যখন টুলটি একটি প্যাটার্ন মিস করে; কিন্তু এআই একাই গ্যারান্টি দিতে পারে না যে এটি কতটা স্ক্যান করে। সঠিক কর্মপ্রবাহ: টুল + এআই + মানব।

টিপ: AI-কে একটি স্ট্যাটিক অ্যানালাইসিস টুলের আউটপুট দিন (যেমন স্লাইদার রিপোর্ট) এবং জিজ্ঞাসা করুন "প্রতিটি সতর্কতাকে সরল ভাষায় ব্যাখ্যা করুন, কোনটি প্রকৃত ঝুঁকি এবং কোনটি মিথ্যা ইতিবাচক হতে পারে?" জিজ্ঞাসা কাঁচা টুল আউটপুট মানুষের কাছে বোধগম্য এবং অগ্রাধিকারযোগ্য করে তুলতে AI অমূল্য।

সবচেয়ে সাধারণ দুর্বলতার নিদর্শন

1. পুনরায় প্রবেশ। যদি একটি ফাংশন তার অবস্থা আপডেট না করে একটি বাহ্যিক চুক্তিকে কল করে, তবে কল করা চুক্তিটি ফিরে যেতে পারে, একই ফাংশন আবার ট্রিগার করতে পারে এবং একাধিকবার তহবিল উত্তোলন করতে পারে। সমাধান: চেক-ইফেক্ট-ইন্টার্যাকশন অর্ডার এবং রিএন্ট্রান্সি গার্ড।

2. অ্যাক্সেস নিয়ন্ত্রণের অভাব। একটি গুরুত্বপূর্ণ ফাংশন (প্রত্যাহার, প্রত্যাহার, আপগ্রেড) ঘটনাক্রমে সর্বজনীন করা হয়। এটি সবচেয়ে সাধারণ এবং ব্যয়বহুল ভুলগুলির মধ্যে একটি।

3. ওরাকল ম্যানিপুলেশন। বাহ্যিক মূল্যের উৎসের (ওরাকল) উপর চুক্তির অন্ধ নির্ভরতা। আক্রমণকারী তাৎক্ষণিকভাবে দামের হেরফের করে এবং প্রটোকলকে ফাঁকি দেয়। সমাধান: সময়-ভারিত গড় মূল্য (TWAP), বহু-উৎস।

4. পূর্ণসংখ্যা ওভারফ্লো/আন্ডারফল। যখন একটি সংখ্যা সর্বাধিক অনুমোদিত মান অতিক্রম করে এবং শুরুতে ফিরে আসে। আধুনিক সলিডিটি এর বেশিরভাগই স্বয়ংক্রিয়ভাবে ক্যাচ করে, তবে ঝুঁকিটি নিম্ন-স্তরের (সমাবেশ) কোডে থেকে যায়।

5. সামনে-দৌড়। লেনদেনগুলি নিশ্চিত হওয়ার আগে পাবলিক পুলে (মেম্পুল) উপস্থিত হয়; আক্রমণকারী আপনার লেনদেন দেখতে পারে এবং তার সামনে তার নিজের লেনদেন সন্নিবেশ করতে পারে। MEV (সর্বোচ্চ নিষ্কাশনযোগ্য মান — লেনদেন ক্রম থেকে নিষ্কাশিত মান) এই বিষয়ের সাধারণ নাম।

6. পরিষেবা অস্বীকার (DoS)। একটি লুপ খুব ব্যয়বহুল হয়ে ওঠে এবং ফাংশনটিকে অব্যবহারযোগ্য করে তোলে, অথবা একটি ঠিকানার উপর নির্ভরতা লক হয়ে যায়।

7. আপগ্রেড ঝুঁকি. আপগ্রেডযোগ্য চুক্তিতে স্টোরেজ সংঘর্ষ এবং কর্তৃত্বের অপব্যবহার।

দুর্বলতা

এআই স্ক্যানিং বিশ্বাস

কেন

পুনঃপ্রবেশ

উচ্চ

সুপরিচিত, পরিষ্কার প্যাটার্ন

অ্যাক্সেস নিয়ন্ত্রণ

উচ্চ

ছাঁচ স্ক্যান করা যেতে পারে

ইন্টিজার অপারেশন

উচ্চ

মান নিয়ন্ত্রণ

ওরাকল ম্যানিপুলেশন

মাঝারি

প্রসঙ্গ প্রয়োজন

ফ্রন্ট-রানিং/এমইভি

মাঝারি-নিম্ন

প্রোটোকল নির্দিষ্ট

ব্যবসায়িক যুক্তি ত্রুটি

কম

প্রামাণিক, প্রাসঙ্গিক

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল প্রম্পট:

এই কোড একটি ফাঁক আছে?

শক্তিশালী প্রম্পট:

আপনার ভূমিকা: নিরাপত্তা স্ক্রীনিং সহকারী। নিম্নলিখিত পরিচিত নিদর্শনগুলির জন্য নীচের চুক্তিটি স্ক্যান করুন এবং প্রতিটির জন্য "ঝুঁকিতে/না/অনিশ্চিত": পুনঃপ্রবেশ, অ্যাক্সেস নিয়ন্ত্রণ, পূর্ণসংখ্যা অপারেশন, অর্যাকলডেপেনডেন্সি, ফ্রন্ট-রানিং, DoS, আপগ্রেড নিরাপত্তা। প্রতিটি সংকল্পকে প্রাসঙ্গিক লাইনের সাথে সংযুক্ত করুন এবং কেন একটি ঝুঁকি রয়েছে তা ব্যাখ্যা করুন। এগুলি হল হাইপোথিসিস যা স্ট্যাটিক অ্যানালাইসিস টুল এবং অডিটর দিয়ে যাচাই করা হবে। নোট করুন যে মিথ্যা ইতিবাচক হতে পারে.

চারটি অনুলিপিযোগ্য টেমপ্লেট

1) টুল আউটপুট বিবরণ:

নীচে একটি স্ট্যাটিক বিশ্লেষণ টুল (Slither) এর রিপোর্ট আছে। প্রতিটি সতর্কতা সরল ভাষায় ব্যাখ্যা করুন: এর অর্থ কী, এটি কি সত্যিকারের ঝুঁকি বা সম্ভাব্য মিথ্যা ইতিবাচক, এর অগ্রাধিকার কী হওয়া উচিত? দৃঢ় সিদ্ধান্ত নেবেন না; অডিটর নিশ্চিতকরণের জন্য অগ্রাধিকার দিন।

2) পুনঃপ্রবেশ কেন্দ্রিক স্ক্রীনিং:

এই চুক্তিতে বহিরাগত কল করে এমন সমস্ত ফাংশন খুঁজুন। তাদের প্রত্যেকের জন্য চেক-ইফেক্ট-ইন্টারঅ্যাকশন অর্ডার অনুসরণ করা হয় কিনা এবং একটি রিএন্ট্রান্সি গার্ড আছে কিনা তা পরীক্ষা করুন। ঝুঁকিপূর্ণদের একটি লাইন দিয়ে দেখান। আপনি নিশ্চিত না হলে চিহ্নিত করুন; শোষণ কোড তৈরি করা হচ্ছে।

3) অ্যাক্সেস নিয়ন্ত্রণ মানচিত্র:

এই চুক্তিতে সমস্ত বাহ্যিক/পাবলিক ফাংশন তালিকাভুক্ত করুন এবং প্রত্যেকের জন্য "কে কল করতে পারে" (সবাই/মালিক/ভূমিকা) নির্দিষ্ট করুন৷ জটিল ক্রিয়াকলাপগুলি সম্পাদন করুন (প্রত্যাহার করুন, মুদ্রণ করুন, আপগ্রেড করুন) এবং দুর্বল অ্যাক্সেস নিয়ন্ত্রণের সাথে চিহ্নিত করুন। এটি একটি টেবিলের সাথে উপস্থাপন করুন।

4) মিথ্যা ইতিবাচক নির্মূল:

বিবেচনা করুন কেন এই স্ক্যান সতর্কতা একটি বাস্তব ঝুঁকি (মিথ্যা ইতিবাচক) নাও হতে পারে: কোন প্রেক্ষাপট বা কোড শর্ত এই সতর্কতাটিকে বাতিল করবে? কিন্তু "একেবারে কোন সমস্যা নেই" বলবেন না; নিশ্চিতকরণ প্রয়োজন যে পয়েন্ট তালিকা.

তিনটি ছোট মামলা (সংখ্যায়)

কেস 1 — যানবাহন + AI দ্বিগুণ দক্ষতা। একটি দল একটি 12-চুক্তি প্রকল্পে Slither দৌড়েছিল এবং 140টি সতর্কতা পেয়েছিল। একবার আমরা AI ব্যাখ্যা করে এবং সতর্কতাগুলিকে অগ্রাধিকার দেওয়ার পরে, দেখা গেল যে 140 টি সতর্কতার মধ্যে 95টি মিথ্যা ইতিবাচক ছিল; দলটি 45 জন প্রকৃত প্রার্থীর উপর দৃষ্টি নিবদ্ধ করেছে। Triage সময় 2 দিন থেকে 5 ঘন্টা কমে গেছে. পাঠ: AI গাড়ির আউটপুট মানবীকরণে শক্তিশালী।

কেস 2 — AI হাইজ্যাক করেছে MEV। একটি DEX (বিকেন্দ্রীভূত বিনিময়) চুক্তিতে, AI স্ট্যান্ডার্ড প্যাটার্নগুলি পরিষ্কার খুঁজে পেয়েছে কিন্তু সামনের দিকে চলমান দুর্বলতা সনাক্ত করতে ব্যর্থ হয়েছে; কারণ এটি প্রোটোকলের ক্রিয়াকলাপের জন্য নির্দিষ্ট ছিল। মানব নিরীক্ষক এবং সিমুলেশন বন্দী. পাঠ: প্রোটোকল-নির্দিষ্ট ঝুঁকি যেমন MEV/ফ্রন্ট-রানিং হল AI এর দুর্বল এলাকা।

কেস 3 - একটি মিথ্যা ইতিবাচক সময় নষ্ট করা এড়ানো। দলটিকে একটি অপ্রয়োজনীয় পুনর্লিখন থেকে রক্ষা করা হয়েছিল যখন AI ব্যাখ্যা করেছিল যে একটি পুনঃপ্রবেশ সতর্কতা আসলে একটি মিথ্যা ইতিবাচক ছিল (ফাংশনটি ইতিমধ্যে সুরক্ষিত ছিল)। তবে দলটি এখনও একক পরীক্ষা দিয়ে এটি নিশ্চিত করেছে। পাঠ: এআই অগ্রাধিকার দেয়; নিশ্চিতকরণ আবার পরীক্ষার সাথে আসে।

স্ক্যানিং এর সীমাবদ্ধতা

স্ক্যানটি পরিচিত নিদর্শন খুঁজে পায়। একটি নতুন, অনন্য বা প্রোটোকল-নির্দিষ্ট দুর্বলতা শনাক্ত করার জন্য টুল বা AI উভয়ই নিশ্চিত নয়। অতএব, স্ক্রীনিং নিরীক্ষার অংশ; নিজে না ধারণা যে "স্ক্যানটি পরিষ্কার, তাই এর অর্থ এটি নিরাপদ" এই ক্ষেত্রের সবচেয়ে বিপজ্জনক ভুল ধারণাগুলির মধ্যে একটি। ড্রেজিং কম ঝুলন্ত ফল তুলে নেয়; গভীর এবং অনন্য ঝুঁকির জন্য, মানুষের দক্ষতা, পরীক্ষা, অস্পষ্টতা এবং আনুষ্ঠানিক নিরীক্ষা অপরিহার্য।

সতর্কতা: একটি স্ক্যানিং টুল বা এআই-এর একটি "পরিষ্কার" রিপোর্ট একটি নিরাপত্তা শংসাপত্র নয়। এটিকে এভাবে উপস্থাপন করা - বিশেষ করে বিনিয়োগকারীদের কাছে - বিভ্রান্তিকর এবং অনৈতিক।

সাধারণ ভুল

  • পরিদর্শনের জন্য স্ক্রীনিং প্রতিস্থাপন. স্ক্যানিং একটি স্তর, পুরো নয়।
  • টুল ছাড়া AI ব্যবহার করা। স্ট্যাটিক বিশ্লেষণ + এআই + মানুষের কাজ একসাথে।
  • নিশ্চিতকরণ ছাড়া মিথ্যা ইতিবাচক নির্মূল. প্রতিটি পর্দা পরীক্ষিত/মানব যাচাই করা হয়।
  • AI এর উপর নির্ভর করে প্রোটোকল-নির্দিষ্ট ঝুঁকি (MEV) বাইপাস করা। AI এর দুর্বল এলাকা।
  • "ক্লিন স্ক্যান" = "নিরাপদ" ভাবছেন। এটি অজানা খুঁজে পায় না।
  • শোষণ কোড তৈরি করা হচ্ছে। শুধুমাত্র প্রতিরক্ষামূলক ঝুঁকি বিবরণ বৈধ.

সংক্ষেপে

  • দুর্বলতা স্ক্যানিং যানবাহন + AI + মানুষের সাথে পরিচিত দুর্বলতার নিদর্শনগুলি সন্ধান করে৷
  • স্ট্যাটিক বিশ্লেষণ টুল আউটপুট ব্যাখ্যা এবং অগ্রাধিকার দিতে AI শক্তিশালী।
  • পুনঃপ্রবেশ এবং অ্যাক্সেস নিয়ন্ত্রণের মতো স্পষ্ট নিদর্শনে নির্ভরযোগ্য; MEV এবং ব্যবসায়িক যুক্তিতে দুর্বল।
  • এমনকি মিথ্যা ইতিবাচক নির্মূল নিশ্চিতকরণ প্রয়োজন.
  • একটি "ক্লিন স্ক্যান" একটি নিরাপত্তা শংসাপত্র নয়; এটি তদারকির বিকল্প নয়।

আবেদন টাস্ক

একটি নমুনা চুক্তিতে একটি স্ট্যাটিক বিশ্লেষণ টুল চালান (যদি সম্ভব হয়) অথবা একটি তৈরি স্লিথার রিপোর্ট খুঁজুন। AI-তে "টুল আউটপুট বিবরণ" প্রম্পট প্রয়োগ করুন। AI কিনা মূল্যায়ন করুন: (1) সঠিকভাবে সতর্কতা ব্যাখ্যা করে, (2) মিথ্যা ইতিবাচকগুলির মধ্যে পার্থক্য করার ক্ষেত্রে অর্থবোধ করে এবং (3) একটি প্রোটোকল-নির্দিষ্ট ঝুঁকি মিস করে। একটি টেবিলে "গাড়ি পাওয়া গেছে/এআই ব্যাখ্যা করা হয়েছে/মানুষ নিশ্চিত করা হয়েছে" কলামগুলি পূরণ করুন।

চেকলিস্ট

  • [ ] আমি হ্যাচটিকে নিয়ন্ত্রণের একটি স্তর হিসাবে স্থাপন করেছি।
  • আমি স্ট্যাটিক অ্যানালাইসিস টুল + এআই + হিউম্যান একসাথে ব্যবহার করেছি।
  • [ ] আমি পরিচিত নিদর্শনগুলির জন্য বিভাগ অনুসারে বিভাগ অনুসন্ধান করেছি।
  • [ ] আমি নিশ্চিতকরণের সাথে মিথ্যা ইতিবাচক বাদ দিয়েছি।
  • [ ] আমি দুর্বল ক্ষেত্র যেমন MEV/ব্যবসায়িক যুক্তিতে মানুষের উপর নির্ভর করতাম।
  • আমি আশ্বাস হিসাবে "ক্লিন সুইপ" প্রস্তাব করিনি।
  • আমি শুধুমাত্র প্রতিরক্ষা উদ্দেশ্যে কাজ করেছি; আমি শোষণ সৃষ্টি করিনি।