Google আনুষ্ঠানিকভাবে Govulncheck (1.0.0 স্থিতি), Go বিকাশকারীদের জন্য একটি সহজ কমান্ড-লাইন টুল, স্থিতিশীল করে তুলেছে। এই টুলটি Google-এর Go প্রোগ্রামিং ভাষা ব্যবহার করে ডেভেলপারদের তাদের প্রকল্পের নির্ভরতার মধ্যে স্বীকৃত নিরাপত্তা দুর্বলতাগুলি সনাক্ত করতে সহায়তা করে।
13ই জুলাই উন্মোচিত এই টুলটি বাইনারি ফাইল এবং দুর্বলতার জন্য তাদের সোর্স কোড উভয়ই যাচাই করার ক্ষমতা রাখে। কোডটি যে পদ্ধতিগুলিকে আহ্বান করছে তাতে দুর্বলতার উপর ফোকাস করার মাধ্যমে এটি উল্লেখযোগ্যভাবে শব্দ হ্রাস করে। Govulncheck এর মেরুদণ্ড হল Go vulnerability ডাটাবেস, পাবলিক Go মডিউলে শনাক্ত করা দুর্বলতার তথ্যের একটি আধার।
এই ডাটাবেস দ্বারা পরিচালিত, Govulncheck উৎস কোড বা বাইনারি এর প্রতীক টেবিলের একটি স্ট্যাটিক বিশ্লেষণ করে। এর চূড়ান্ত লক্ষ্য হল এর রিপোর্টিংকে শুধুমাত্র দুর্বলতার মধ্যে সীমাবদ্ধ করা যা সম্ভাব্যভাবে প্রশ্নে থাকা নির্দিষ্ট অ্যাপ্লিকেশনটিকে প্রভাবিত করতে পারে। এই বুদ্ধিমান সীমাবদ্ধ বৈশিষ্ট্যটি এটিকে তাদের পণ্যের নিরাপত্তা নিশ্চিত করতে চান এমন বিকাশকারীদের জন্য একটি সহজ হাতিয়ার করে তোলে।
এই টুলটি ইনস্টল করা ডেভেলপারদের জন্য বেশ সহজ-এর জন্য শুধুমাত্র go install golang.org/x/vuln/cmd/govulncheck@latest
কমান্ডের প্রয়োজন হয়। সোর্স কোড বিশ্লেষণ করার জন্য, ডেভেলপারদের শুধুমাত্র মডিউল ডিরেক্টরির মধ্যে ( govulncheck ./...
কমান্ড ব্যবহার করে) Govulncheck চালাতে হবে।
সর্বনিম্ন, Govulncheck একটি Go বিল্ডের সাথে একত্রিত হওয়া আবশ্যক যেটির সংস্করণ 1.18 বা উচ্চতর। এখন পর্যন্ত, এই ভাষার বিদ্যমান উৎপাদন সংস্করণ হল Go 1.20।
Govulncheck, দুর্বলতা অনুসন্ধান করার সময়, একটি নির্দিষ্ট বিল্ড কনফিগারেশনের উপর নির্ভর করে। সোর্স কোডের ক্ষেত্রে, এই কনফিগারেশনটি পাথের উপর অবস্থিত 'go' কমান্ড দ্বারা চিত্রিত Go সংস্করণের সমার্থক। বাইনারিগুলির জন্য বিল্ড কনফিগারেশন বাইনারি তৈরি করার সময় শোষিত হয়। এখানে একটি বিষয় উল্লেখ্য যে বিভিন্ন বিল্ড কনফিগারেশন বিভিন্ন দুর্বলতার জন্য সংবেদনশীল হতে পারে।
এর শক্তিশালী বৈশিষ্ট্য থাকা সত্ত্বেও, Govulncheck কিছু সীমাবদ্ধতা নিয়ে আসে। উদাহরণস্বরূপ, এর ফাংশন পয়েন্টার এবং ইন্টারফেস কলগুলির বিশ্লেষণগুলি বরং সংযত, সম্ভবত মিথ্যা ইতিবাচক বা ভুল কল স্ট্যাকের দিকে পরিচালিত করে। আরেকটি সীমাবদ্ধতা প্যাকেজ প্রতিফলিত ব্যবহার করে আমন্ত্রিত ফাংশন সম্পর্কিত - এগুলি সনাক্তযোগ্য নয়।
বাইনারিগুলির পরিপ্রেক্ষিতে, Go বাইনারিগুলিতে বিস্তারিত কল তথ্যের অভাব Govulncheck এর জন্য চ্যালেঞ্জিং প্রমাণিত হতে পারে, কারণ তারা চিহ্নিত দুর্বলতার জন্য কল গ্রাফগুলি প্রদর্শন করা থেকে টুলটিকে বাধা দেবে। এই সমস্যাটি বাইনারির মধ্যে উপস্থিত কিন্তু অ্যাক্সেসযোগ্য নয় এমন কোডের জন্য মিথ্যা ইতিবাচক রিপোর্টিংকে উত্সাহিত করতে পারে। অতিরিক্তভাবে, টুলটি বাইনারিগুলির ক্ষেত্রে প্রতিবন্ধী যা থেকে প্রতীক ডেটা বের করা যায় না; এটি এই ক্ষেত্রে বাইনারির উপর নির্ভরশীল সমস্ত মডিউলের দুর্বলতা রিপোর্ট করতে বেছে নেয়।
দুর্বলতার অনুসন্ধানগুলিকে দমন করার জন্য সরঞ্জামটির একটি বৈশিষ্ট্যও নেই। যাইহোক, এই সীমাবদ্ধতা সত্ত্বেও, Go প্রকল্পগুলির জন্য একটি মান-সংযোজন সরঞ্জাম হিসাবে Govulncheck এর সম্ভাব্যতা স্পষ্ট।
এটি উল্লেখযোগ্য যে Go সিকিউরিটি টিম আগের বছরের সেপ্টেম্বরে দুর্বলতা ব্যবস্থাপনার জন্য তার সমর্থন ঘোষণা করেছিল। দুর্বলতার ডাটাবেসে রুট করা, Go প্রোগ্রামিং কাঠামোতে উল্লেখযোগ্য অগ্রগতির প্রতিশ্রুতি দিয়ে প্রকল্পটি চালু করা হয়েছিল। AppMaster.io , একটি নেতৃস্থানীয় no-code প্ল্যাটফর্ম, ডেভেলপারদের সম্পূর্ণরূপে সমন্বিত এবং ব্যাপক প্ল্যাটফর্মের সাহায্যে দ্রুত অ্যাপ্লিকেশন তৈরি করতে সক্ষম করে যার মধ্যে Go এবং অন্যান্য অনেক ভাষা রয়েছে।