EF ব্লগ

ETH শীর্ষের ব্যাকগ্রাউন্ড শুরুর চিত্র
ETH নিচের ব্যাকগ্রাউন্ডশেষের চিত্র
এড়িয়ে কন্টেন্টে যান

এই পোস্টটি 25টি ভাষা উপলব্ধ আছে:

বাংলা

ট্রায়াজই হলো আসল প্রোডাক্ট: ইথেরিয়ামের প্রোটোকল কোডের বিপরীতে এআই (AI) এজেন্ট চালানো

৯ জুলাই, ২০২৬ তারিখে নিকোস বাক্সেভানিস পোস্ট করেছেন

ট্রায়াজই হলো আসল প্রোডাক্ট: ইথেরিয়ামের প্রোটোকল কোডের বিপরীতে এআই (AI) এজেন্ট চালানো

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

আমরা যা চালাচ্ছি এবং যা আমাদের অবাক করেছে

ইথেরিয়াম ফাউন্ডেশন-এর প্রোটোকল সিকিউরিটি টিমে, আমরা নেটওয়ার্ক যেসব সিস্টেমের ওপর নির্ভর করে, যেমন সিস্টেমস সফটওয়্যার, ক্রিপ্টোগ্রাফিক কোড এবং যেসব কন্ট্রাক্ট নির্ভুল হওয়া বাধ্যতামূলক, সেগুলোর বিপরীতে সমন্বিত এআই (AI) এজেন্ট চালাচ্ছি। এজেন্টগুলো সত্যিকারের বাগ (bug) খুঁজে পেয়েছে। এর মধ্যে একটি এখন উন্মুক্ত: libp2p-এর gossipsub-এ রিমোটলি-ট্রিগারযোগ্য একটি প্যানিক (panic), যা পিয়ার-টু-পিয়ার লেয়ারের একটি মূল অংশ যার ওপর ইথেরিয়াম ঐক্যমত ক্লায়েন্টগুলো চলে, এটি ঠিক করা হয়েছে এবং টিমকে কৃতিত্ব দিয়ে CVE-2026-34219 হিসেবে প্রকাশ করা হয়েছে।

এজেন্টগুলো বাগ খুঁজে পাবে, সেটা আশ্চর্যের বিষয় ছিল না। আশ্চর্যের বিষয় ছিল এগুলো খুঁজে বের করতে কতটা কম কাজ করতে হয়েছে, আর সত্যিকারের বাগগুলোকে শুধু দেখতে আসল মনে হওয়া বাগগুলো থেকে আলাদা করতে কতটা বেশি কাজ করতে হয়েছে।

এই পোস্টটি সেইসব ক্লায়েন্ট টিম এবং নিরাপত্তা গবেষকদের জন্য যারা একই কাজ করতে চান। এতে আমরা কীভাবে এজেন্টগুলোকে সংগঠিত করি, একটি ফাইন্ডিং বা প্রাপ্ত ফলাফল হিসেবে গণ্য হওয়ার আগে একটি ক্যান্ডিডেটকে (candidate) যে মানদণ্ড পার হতে হয় এবং যেসব অভ্যাস ফলাফলগুলোকে বিশ্বাসযোগ্য রাখে, তা নিয়ে আলোচনা করা হয়েছে।

অন্যান্য জায়গার টিমগুলোও একই পদ্ধতিতে কাজ করছে। Anthropic-এর ফ্রন্টিয়ার রেড টিম এমন একটি এজেন্ট তৈরি করেছে যা প্রপার্টি-ভিত্তিক টেস্ট লেখে এবং সম্পূর্ণ Python ইকোসিস্টেম জুড়ে সত্যিকারের বাগ খুঁজে পেয়েছে। Cloudflare তাদের নিজস্ব সিস্টেমের বিপরীতে একটি সিকিউরিটি-রিসার্চ হার্নেসের মাধ্যমে একটি ফ্রন্টিয়ার মডেল চালিয়েছে। সবাই একই চক্রে এসে পৌঁছায়: একটি কোডবেসের দিকে একটি সক্ষম মডেলকে নির্দেশ করুন, এটিকে খুঁজতে দিন এবং যা ফিরে আসে তা ট্রায়াজ (triage) করুন। তাই আসল প্রশ্ন হলো, আত্মবিশ্বাসী শোনায় এমন সব ভুল তথ্যের (noise) ভিড়ে হারিয়ে না গিয়ে কীভাবে এই কাজটি করা যায়।

শুরুতেই একটি সতর্কতা: এজেন্ট-চালিত অডিটের টুলিং খুব দ্রুত পরিবর্তিত হয় এবং যেকোনো নির্দিষ্ট সেটআপ কয়েক সপ্তাহের মধ্যেই সেকেলে হয়ে যায়। তাই এই পোস্টটি ইচ্ছাকৃতভাবেই পদ্ধতিগুলো নিয়ে লেখা, যা দীর্ঘস্থায়ী, টুলিং নিয়ে নয়। ডিসক্লোজার (Disclosure) বা তথ্য প্রকাশ করা একটি আলাদা বিষয় এবং সম্ভবত এটি নিয়ে আলাদা একটি পোস্ট হবে।

একটি এজেন্ট হলো একটি সার্চ টুল, কোনো ওরাকল নয়

একটি কোডবেসের দিকে নির্দেশিত এজেন্ট হলো একটি সার্চ টুল, যা অনেকটা ফাজারের (fuzzer) মতো। পার্থক্য হলো কী ফিরে আসে তাতে। একটি ফাজার আপনাকে একটি ক্র্যাশ এবং একটি স্ট্যাক ট্রেস দেয়। একটি এজেন্ট আপনাকে আরও অনেক কিছু দেয়, যার মধ্যে রয়েছে একটি রাইট-আপ (কল চেইন, প্রভাবের দাবি, প্রস্তাবিত তীব্রতা) এবং এটিকে সমর্থন করার জন্য আর্টিফ্যাক্ট, যেমন একটি প্রুফ-অফ-কনসেপ্ট যা আপনি আসল কোডের বিপরীতে চালাতে পারেন।

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

কাজটি কীভাবে সংগঠিত হয়

আমরা একটি লক্ষ্যের বিপরীতে সমান্তরালভাবে অনেকগুলো এজেন্ট চালাই। তারা রিপোজিটরির মাধ্যমেই সমন্বয় করে, যেখানে ভার্সন কন্ট্রোলে শেয়ার করা স্টেট থাকে এবং কাজ ভাগ করে দেওয়ার জন্য কোনো কেন্দ্রীয় প্রক্রিয়া থাকে না। একটি এজেন্ট একটি দাবি লিখে রাখে যেখানে অন্যরা তা দেখতে পারে, কাজটি করে এবং কমিট (commit) করে।

আমরা এই পদ্ধতিটি পেয়েছি একদল এজেন্ট দিয়ে একটি C কম্পাইলার তৈরি করা নিয়ে Anthropic-এর লেখা থেকে, যা একইভাবে সমন্বয় করে। এখানে তৈরি বা রক্ষণাবেক্ষণ করার মতো কোনো কেন্দ্রীয় সমন্বয়কারী নেই, এবং ভুল হওয়ার সম্ভাবনাও কম।

আবিষ্কৃত কাজের ওপর ভিত্তি করে ভূমিকাগুলো তৈরি হয়:

  • রিকন (Recon) একটি অ্যাটাক সারফেসকে সুনির্দিষ্ট, পরীক্ষাযোগ্য হাইপোথিসিসে পরিণত করে। "ডিকোডার অডিট করুন" এমন নয়, বরং "এই পয়েন্টের পর এই ফিল্ডটি বিশ্বস্ত; এখানে সেই প্রপার্টি রয়েছে যা এর বজায় রাখা উচিত, যেভাবে এটি ভাঙতে পারে এবং সেই প্রমাণ যা এটি মীমাংসা করবে।"
  • হান্টিং (Hunting) একটি হাইপোথিসিস নেয়, কোড পাথ ট্রেস করে এবং একটি রিপ্রোডিউসার (reproducer) তৈরি করার চেষ্টা করে।
  • গ্যাপ-ফিলিং (Gap-filling) দেখে কী গ্রহণ করা হয়েছে এবং কী প্রত্যাখ্যান করা হয়েছে, পরবর্তী ব্যাচের হাইপোথিসিসগুলো লেখে এবং কভারেজ ট্র্যাক করে যাতে এজেন্টগুলো বারবার একই জায়গায় কাজ না করে।
  • ভ্যালিডেশন (Validation) প্রতিটি ক্যান্ডিডেটকে স্বাধীনভাবে পুনরায় পরীক্ষা করে, ডুপ্লিকেটগুলো সরিয়ে ফেলে এবং সিদ্ধান্ত নেয়।

আমরা এই পাইপলাইনটি আবিষ্কার করিনি। Cloudflare একই ধাপগুলোর বর্ণনা দেয়: রিকন, প্যারালাল হান্টিং, ইনডিপেনডেন্ট ভ্যালিডেশন, ডিডুপ্লিকেশন, রিপোর্টিং এবং তাদের লেখা আমাদের পদ্ধতিকে রূপ দিতে সাহায্য করেছে।

একটি ফাইন্ডিং হিসেবে গণ্য হওয়ার আগে একটি ক্যান্ডিডেট দেখতে যেমন হয়:

লক্ষ্য:      কম্পোনেন্ট এবং এন্ট্রি পয়েন্ট যেখানে একজন আক্রমণকারী সত্যিই পৌঁছাতে পারে
ইনভ্যারিয়েন্ট:   যে প্রপার্টি অবশ্যই বজায় থাকতে হবে
মেকানিজম:   যে নির্দিষ্ট উপায়ে এটি ভাঙা যেতে পারে
সাফল্য:     পর্যবেক্ষণযোগ্য প্রমাণ: একটি প্যানিক, একটি স্টল, একটি গৃহীত-অবৈধ ইনপুট
রিপ্রোডিউসার:  একটি স্বয়ংসম্পূর্ণ আর্টিফ্যাক্ট যা আসল কোডের বিপরীতে চলে
ডিডুপ:       একটি কী (key), যাতে দুটি এজেন্ট একই জিনিসের পেছনে না ছোটে

স্কিমাটি একটি নির্দিষ্ট কারণে রাখা হয়েছে। এটি একটি সুনির্দিষ্ট, পরীক্ষাযোগ্য দাবি এবং কাজ শেষ হওয়ার একটি পরিষ্কার সংজ্ঞা দিতে বাধ্য করে। যে এজেন্টকে একটি পর্যবেক্ষণযোগ্য প্রমাণ লিখে রাখতে হয়, সে "এটি ঝুঁকিপূর্ণ মনে হচ্ছে" বলে পার পেয়ে যেতে পারে না।

রিপ্রোডিউস করা না গেলে তা ঘটেনি

অন্য যেকোনো নিয়মের চেয়ে একটি নিয়ম বেশি গুরুত্বপূর্ণ। একটি ক্যান্ডিডেট ততক্ষণ পর্যন্ত ফাইন্ডিং নয়, যতক্ষণ না এমন একটি স্বয়ংসম্পূর্ণ আর্টিফ্যাক্ট থাকে যা আসল কোডের বিপরীতে ব্যর্থতাটিকে রিপ্রোডিউস করে এবং যা এমন কারও জন্য চলে যিনি এটি লেখেননি।

রিপ্রোডিউসার রাইট-আপ পড়ে না এবং মডেলটিকে কতটা আত্মবিশ্বাসী শোনাচ্ছিল তা নিয়েও এর মাথাব্যথা নেই। এটি হয় চলে, নয়তো চলে না।

এর বেশিরভাগ মূল্যই হলো এটি যেসব ফলস পজিটিভ (false positive) ধরে ফেলে তার মধ্যে। এর মধ্যে তিনটি বারবার সামনে আসে এবং প্রতিটিতেই এজেন্ট ভুল কারণে পার পেয়ে যায়:

  • একটি প্যানিক যা শুধুমাত্র ডিবাগ বিল্ডে ঘটে। সফটওয়্যারটি যেভাবে আসলে রিলিজ করা হয় সেভাবে এটি কম্পাইল করে চালান, দেখবেন ভ্যালুটি শুধু র‍্যাপ অ্যারাউন্ড (wrap around) করে। কোনো কিছুই ক্র্যাশ করে না। এটি দেখতে ক্র্যাশের মতো মনে হলেও আসলে তা নয়।
  • একটি রিপ্রোডিউসার যা নিজে থেকে কিছু ইন্টারনাল ভ্যালু তৈরি করে, যা কোনো আসল ইনপুট কখনোই তৈরি করতে পারে না, কারণ আক্রমণকারীর নিয়ন্ত্রিত প্রতিটি পাথ এটিকে আগেই প্রত্যাখ্যান করে। বাগটি শুধুমাত্র এমন একটি ফাংশনের বিপরীতে "রিপ্রোডিউস" করে যাকে পৌঁছানো যায় এমন কোনো কিছুই সেভাবে কল করে না।
  • ফরমাল-ভেরিফিকেশন কাজে, এমন একটি প্রমাণ যা পাস হয়ে যায় কিন্তু আপনি যা চেয়েছিলেন তা বোঝায় না। কোড যা-ই করুক না কেন স্টেটমেন্টটি এমনিতেই সত্য, অথবা আপনি যে প্রপার্টিটি ধরতে চেয়েছিলেন তার চেয়ে এটি দুর্বল। যাচাইকারী সন্তুষ্ট হয়, কিন্তু থিওরেমটি সেই আচরণকে সীমাবদ্ধ করে না যা নিয়ে আপনি আসলে চিন্তিত ছিলেন।

এর কোনোটিই নতুন নয়। এটি এমন একটি টেস্টের মতোই যা পাস করে কারণ এটি আসলে কিছুই চেক করে না। নতুন বিষয় হলো এর পরিমাণ। একটি এজেন্ট আসলটির মতোই দ্রুত এবং সমান আত্মবিশ্বাসের সাথে অকেজো ভার্সনটি লেখে। তাই চেকটি স্বয়ংক্রিয় হতে হবে। এজেন্ট নিজেই নিজের ভুল ধরবে, এমনটা আপনি আশা করতে পারেন না।

সিগন্যাল-টু-নয়েজ হলো সবচেয়ে বড় কাজ

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

টিকে থাকা প্রতিটি ক্যান্ডিডেট দুটি স্বাধীন চেকের মধ্য দিয়ে যায়। একজন আসল আক্রমণকারী কি সত্যিই একটি সাধারণ কনফিগারেশনে সেখানে পৌঁছাতে পারে? এবং এটি সফল হলে নেটওয়ার্কের যে ক্ষতি হবে, তার তুলনায় আক্রমণকারীর এটি করতে কত খরচ হবে? যেকোনো একক পিয়ার ট্রিগার করতে পারে এমন একটি বাগ, বিশেষ অ্যাক্সেস বা প্রচুর রিসোর্স প্রয়োজন এমন একটি বাগের চেয়ে সম্পূর্ণ আলাদা।

ইতিমধ্যে জানা, ঠিক করা বা প্রত্যাখ্যান করা হয়েছে এমন একটি চলমান তালিকার বিপরীতে সবকিছু চেক করা হয়। এটি না থাকলে, এজেন্টগুলো বারবার একই বন্ধ হয়ে যাওয়া ইস্যু আবিষ্কার করতে থাকবে এবং বারবার রিপোর্ট করতে থাকবে।

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

আমরাই একমাত্র নই যারা দেখেছি যে ট্রায়াজ করাটাই সবচেয়ে কঠিন অংশ। Cloudflare-এর প্রধান শিক্ষা ছিল যে একটি সংকীর্ণ স্কোপ বিস্তৃত স্ক্যানিংয়ের চেয়ে ভালো কাজ করে। Anthropic-এর প্রপার্টি-ভিত্তিক-টেস্টিং এজেন্ট প্রায় এক হাজার ক্যান্ডিডেট রিপোর্ট তৈরি করেছিল, তারপর র‍্যাঙ্কিং এবং বিশেষজ্ঞ রিভিউ ব্যবহার করে একটি শীর্ষ স্তরে নেমে আসে যা প্রায় 86 শতাংশ সময় টিকে ছিল। তৈরি করাটা ছিল সহজ অংশ। আমি এখানে আমাদের নিজস্ব সংখ্যাগুলো প্রকাশ করতে যাচ্ছি না; একটি নির্দিষ্ট লক্ষ্যের সাথে যুক্ত থাকায়, সেগুলো পদ্ধতির চেয়ে লক্ষ্য সম্পর্কেই বেশি কথা বলবে।

এজেন্টরা কিসে ভালো এবং কোথায় তারা বিভ্রান্ত করে

দুই দিকেই অনেক হাইপ (hype) রয়েছে, তাই এজেন্টরা কী ভালো করে এবং কোথায় তারা বিভ্রান্ত করে তার একটি সাধারণ তালিকা নিচে দেওয়া হলো।

কিসে ভালোকিসে বিভ্রান্তিকর
স্পেক (spec) এবং কোড একসাথে পড়াকল চেইন যা পৌঁছানো সম্ভব বলে মনে হয় কিন্তু আসলে নয়
একটি আসল ইনভ্যারিয়েন্ট উল্লেখ করা এবং চেক করাসাকসেস চেককে ফাঁকি দেওয়া (ভুল কারণে পাস করা)।
এক লাইনের আইডিয়া থেকে একটি রিপ্রোডিউসারের খসড়া তৈরি করারাইট-আপটি কতটা নাটকীয় শোনাচ্ছে তার সাথে মিল রেখে তীব্রতা বাড়িয়ে বলা
আপনি দেখার আগেই একটি মূল কারণ প্রস্তাব করাএমন বাগ যা বৈধ ধাপের একটি সিকোয়েন্স জুড়ে বিস্তৃত

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

শেষ সারিটি গুরুত্বপূর্ণ। একটি একক এজেন্ট সেশন ওয়ান-শট রিজনিংয়ে (one-shot reasoning) ভালো এবং এমন বাগের ক্ষেত্রে খারাপ যা একাধিক ধাপের সিকোয়েন্স জুড়ে বিস্তৃত, যেখানে প্রতিটি ধাপ বৈধ এবং শুধুমাত্র ক্রমটি ভুল। সেগুলোর জন্য, এজেন্ট কোনো সার্চ টুল নয়। এর কাজ হলো কোন সিকোয়েন্সগুলো একটি স্টেটফুল টেস্ট হার্নেসের মাধ্যমে চালানোর যোগ্য তা প্রস্তাব করা। সেভাবে ব্যবহার করলে এটি ভালো কাজ করে। হার্নেসের বিকল্প হিসেবে ব্যবহার করলে, এটি সবচেয়ে ব্যয়বহুল বাগগুলো মিস করে, যেগুলো শুধুমাত্র একটি সিকোয়েন্স জুড়ে দেখা যায়।

সততা বজায় রাখা

কয়েকটি অভ্যাস এজেন্টের ফাইন্ডিংগুলোকে বিশ্বাসযোগ্য করে তোলার বেশিরভাগ কাজ করে এবং এর কোনোটিই জটিল নয়।

  • প্রতিটি আর্টিফ্যাক্টের উৎস: কী এটি তৈরি করেছে, কোন প্রেক্ষাপটে, কোন রিভিশনের বিপরীতে। একটি ফাইন্ডিং এমন কিছু হওয়া উচিত যা আপনি কয়েক মাস পরেও পুনরায় চালাতে পারেন।
  • যেখানে প্রয়োজন সেখানে ডিটারমিনিজম (Determinism): একটি এনভায়রনমেন্ট, বিল্ড এবং রান করার একটি উপায়, যাতে "রিপ্রোডিউস" করার অর্থ প্রতিটি মেশিনে একই হয়, শুধুমাত্র যেটিতে এটি পাওয়া গেছে সেটিতে নয়।
  • নিয়ম, স্ক্রিপ্ট নয়: এজেন্টদের বলুন কী গুরুত্বপূর্ণ, ইনভ্যারিয়েন্টগুলো এবং একটি আসল ফাইন্ডিংয়ের মানদণ্ড কী, কোনো সংখ্যাযুক্ত পদ্ধতির বদলে। অতিরিক্ত স্ক্রিপ্ট করা এজেন্টগুলো ঠিক সেভাবেই ভেঙে পড়ে যেভাবে অতিরিক্ত নির্দিষ্ট করা টেস্টগুলো পড়ে, ধাপগুলো অর্থহীন হয়ে যাওয়ার পরেও তারা সেগুলো অনুসরণ করতে থাকে। রিপোজিটরি কনটেক্সট ফাইলগুলোর একটি গবেষণায় একই জিনিস পাওয়া গেছে: অতিরিক্ত প্রয়োজনীয়তাগুলো কাজের সাফল্য কমিয়ে দেয় এবং খরচ 20%-এর বেশি বাড়িয়ে দেয়, এবং লেখকরা কনটেক্সটকে ন্যূনতম প্রয়োজনীয়তার মধ্যে রাখার পরামর্শ দেন।
  • একজন মানুষ চূড়ান্ত সিদ্ধান্ত নেন: এজেন্টরা প্রস্তাব দেয়। তারা সিদ্ধান্ত নেয় না কোনটি আসল, কোনটি একটি পরিচিত ইস্যুর ডুপ্লিকেট, অথবা কী প্রকাশ করা হবে এবং কখন।

বাধাটি সরে গেছে

এআই (AI) নিরাপত্তা গবেষকের জায়গা নেয়নি। এটি কাজটিকে সরিয়ে দিয়েছে। হাইপোথিসিস তৈরি করতে এবং সেগুলোর পেছনে ছুটতে যে সময় ব্যয় হতো, তা এখন সেগুলোকে বড় পরিসরে বিচার করতে ব্যয় হয়, যার মধ্যে রয়েছে ওরাকল তৈরি করা, ট্রায়াজ চালানো, পরিচিত ইস্যুগুলোর তালিকা রাখা এবং ডিসক্লোজার পরিচালনা করা।

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

যেসব প্র্যাকটিস এই কাজটিকে সফল করে সেগুলো নতুন নয়। রিপ্রোডিউস করা যায় এমন ব্যর্থতা, আসল ওরাকল এবং সতর্ক ট্রায়াজ হলো সেই একই প্র্যাকটিস যা গত পনেরো বছরে ফাজিংকে (fuzzing) একটি গবেষণার বিষয় থেকে স্ট্যান্ডার্ড প্র্যাকটিসে পরিণত করেছে। টুলগুলো নতুন। প্র্যাকটিসগুলো নয়।

টুলগুলো কত দ্রুত পরিবর্তিত হতে থাকবে তা একটি উন্মুক্ত প্রশ্ন। নিকোলাস কার্লিনি, যিনি সতর্ক এবং একসময় নিজেই একজন সংশয়বাদী ছিলেন, যুক্তি দেন যে সূচকীয় (exponential) বিষয়টি গুরুত্ব সহকারে নেওয়া উচিত, যদিও তিনি এর ওপর বড় এরর বার (error bar) রাখেন। যদি জেনারেশন বা তৈরির দিকটি এত দ্রুত উপরে ওঠে, তবে জাজমেন্ট বা বিচারের দিকটিকেও এর সাথে উপরে উঠতে হবে, অন্যথায় যা তৈরি হয় এবং যা আসলে যাচাই করা হয় তার মধ্যে ব্যবধান কেবল বাড়তেই থাকবে।

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

এই পোস্টটি ইংরেজি থেকে অনুবাদ করা হয়েছে। ফলস্বরূপ, এটি সম্পূর্ণরূপে সঠিক বা আপ-টু-ডেট নাও হতে পারে। আসল সংস্করণটি ইংরেজি-এ পাওয়া যাবে।

Stay Updated

Subscribe to get email notifications about the topics you care about. Choose from research, events, security updates, and more.


বিভাগ