আমরা কি এআই-জেনারেটেড কোডের জন্য প্রস্তুত? PlatoBlockchain ডেটা ইন্টেলিজেন্স। উল্লম্ব অনুসন্ধান. আ.

আমরা কি এআই-জেনারেটেড কোডের জন্য প্রস্তুত?

সাম্প্রতিক মাসগুলিতে, আমরা কম্পিউটার দ্বারা তৈরি মুখ, বিড়ালের ছবি, ভিডিও, প্রবন্ধ এবং এমনকি শিল্পের গুণমানে বিস্মিত হয়েছি। কৃত্রিম বুদ্ধিমত্তা (AI) এবং মেশিন লার্নিং (ML) এছাড়াও GitHub Copilot, Tabnine, Polycode, এর মতো সরঞ্জামগুলির সাথে সফ্টওয়্যার বিকাশে নিঃশব্দে চলে গেছে। এবং অন্যদের AI স্টেরয়েডগুলিতে বিদ্যমান কোড স্বয়ংসম্পূর্ণ কার্যকারিতা স্থাপনের যৌক্তিক পরবর্তী পদক্ষেপ নেওয়া। বিড়ালের ছবি থেকে ভিন্ন, যদিও, অ্যাপ্লিকেশন কোডের উৎপত্তি, গুণমান এবং নিরাপত্তার ব্যাপক প্রভাব থাকতে পারে — এবং অন্তত নিরাপত্তার জন্য, গবেষণা দেখায় যে ঝুঁকি বাস্তব।

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

কপিলটের মতো একটি টুল (ডিজাইন দ্বারা) স্বয়ংসম্পূর্ণতা একটি খাঁজ তৈরি করে, ওপেন সোর্স কোডে প্রশিক্ষিত স্নিপেটগুলি সুপারিশ করার জন্য যা অনুরূপ প্রসঙ্গে প্রাসঙ্গিক হতে পারে। এটি পরামর্শের গুণমান এবং নিরাপত্তাকে প্রশিক্ষণ সেটের গুণমান এবং নিরাপত্তার সাথে ঘনিষ্ঠভাবে আবদ্ধ করে। সুতরাং বড় প্রশ্নগুলি কপিলট বা অন্য কোনও নির্দিষ্ট সরঞ্জাম সম্পর্কে নয় তবে সাধারণভাবে এআই-জেনারেটেড সফ্টওয়্যার কোড সম্পর্কে।

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

সাতনাভ সিনড্রোম

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

বিশেষত কম অভিজ্ঞ বিকাশকারীদের জন্য, কোডের একটি বিনামূল্যে ব্লক পাওয়ার সুবিধা মানসিকতার পরিবর্তনকে উৎসাহিত করে, "এই কোডটি কি আমি যা লিখব তার যথেষ্ট কাছাকাছি" থেকে, "আমি কীভাবে এই কোডটি পরিবর্তন করতে পারি যাতে এটি আমার জন্য কাজ করে।"

GitHub খুব স্পষ্টভাবে বলে যে কপিলট পরামর্শগুলি সর্বদা সাবধানে বিশ্লেষণ, পর্যালোচনা এবং পরীক্ষা করা উচিত, তবে মানব প্রকৃতি নির্দেশ করে যে এমনকি সাবপার কোড মাঝে মাঝে এটিকে উত্পাদনে পরিণত করবে। এটি রাস্তার চেয়ে আপনার জিপিএসের দিকে বেশি তাকানোর সময় গাড়ি চালানোর মতো।

সাপ্লাই চেইন নিরাপত্তা সংক্রান্ত সমস্যা

সার্জারির Log4j নিরাপত্তা সংকট সফ্টওয়্যার সাপ্লাই চেইন নিরাপত্তা এবং বিশেষ করে ওপেন সোর্স সিকিউরিটি লাইমলাইটে নিয়ে গেছে, সাম্প্রতিক একটি হোয়াইট হাউস মেমো নিরাপদ সফ্টওয়্যার উন্নয়ন এবং একটি নতুন ওপেন সোর্স নিরাপত্তার উন্নতির জন্য বিল. এই এবং অন্যান্য উদ্যোগের সাথে, আপনার অ্যাপ্লিকেশনগুলিতে যেকোন ওপেন সোর্স কোড থাকলে শীঘ্রই একটি সফ্টওয়্যার বিল অফ ম্যাটেরিয়াল (SBOM) এ লেখার প্রয়োজন হতে পারে, যা শুধুমাত্র তখনই সম্ভব যদি আপনি জেনেশুনে একটি নির্দিষ্ট নির্ভরতা অন্তর্ভুক্ত করেন। সফ্টওয়্যার রচনা বিশ্লেষণ (SCA) সরঞ্জামগুলি পুরানো বা দুর্বল ওপেন সোর্স উপাদানগুলি সনাক্ত করতে এবং পতাকাঙ্কিত করতে সেই জ্ঞানের উপর নির্ভর করে।

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

লাইসেন্সিং এবং অ্যাট্রিবিউশন পিটফলস

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

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

গভীর নিরাপত্তা প্রভাব

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

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

এবং মনোকালচার সম্পর্কে কি? যদি একাধিক অ্যাপ্লিকেশন একই অত্যন্ত ঝুঁকিপূর্ণ পরামর্শ ব্যবহার করে শেষ হয়, তার উত্স যাই হোক না কেন, আমরা দুর্বলতা মহামারী বা এমনকি AI-নির্দিষ্ট দুর্বলতার দিকে তাকাতে পারি।

AI এর উপর নজর রাখা

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

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

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

সময় স্ট্যাম্প:

থেকে আরো অন্ধকার পড়া