Claude Code এখন ধ্বংসাত্মক Git কমান্ড ব্লক করে

Claude Code সম্প্রতি একটি নতুন নিরাপত্তা ফিচার যুক্ত করেছে। এটি এখন অটো মোডে (auto mode) ধ্বংসাত্মক git কমান্ড ব্লক করে।

কয়েক মাস আগে, একটি AI এজেন্ট প্রায় আমার কাজ মুছে ফেলেছিল। আমি তাকে পুরনো কোড দেখার জন্য বলেছিলাম। সে git reset --hard কমান্ডটি চালিয়েছিল। এই কমান্ডটি আমার সমস্ত আনকমিটেড (uncommitted) পরিবর্তন মুছে ফেলেছিল। আমি পুরো একদিনের কাজ হারিয়ে ফেলেছিলাম।

তারপর থেকে, আমি ম্যানুয়ালি আমার সেটিংসে deny rules যোগ করেছি। আমি চেয়েছিলাম git reset বা git clean-এর মতো কমান্ডগুলো আমার সরাসরি অনুমতি ছাড়া চালানো বন্ধ করতে।

এখন, Claude Code এটি স্বয়ংক্রিয়ভাবে করে। এটি আপনার উদ্দেশ্য অনুধাবন করার জন্য একটি safety classifier ব্যবহার করে। যদি এটি মনে করে যে আপনি কাজ মুছে ফেলার জন্য বলেননি, তবে এটি কমান্ডটি থামিয়ে দেয়।

প্রথমে আমি আমার ম্যানুয়াল রুলসগুলো মুছে ফেলার কথা ভেবেছিলাম। যখন টুলটি নিজেই এটি করে দিচ্ছে, তখন বাড়তি কাজ করার কী দরকার? তারপর আমি বুঝতে পারলাম কেন সেগুলো রাখা জরুরি।

নতুন নিরাপত্তা ফিচারটি একটি inference। এটি একটি মডেল যা আপনি কী চান তা অনুমান করার চেষ্টা করে। মডেল ভুল করতে পারে। যদি মডেলটি অনুপলব্ধ থাকে, তবে সিস্টেমটি ব্যর্থ হতে পারে বা আপনাকে ভুল বুঝতে পারে।

আমার ম্যানুয়াল রুলসগুলো আলাদা। সেগুলো হলো deterministic। একটি রুল অনুমান করে না। এটি হয় কমান্ডের সাথে মিলে যায়, না হয় মেলে না। এটি একটি সুনির্দিষ্ট সীমা যা উদ্দেশ্যের ওপর ভিত্তি করে কখনও পরিবর্তিত হয় না।

আমি এখন প্রতিরক্ষার তিনটি স্তর ব্যবহার করি:

• উদ্দেশ্যের জন্য classifier। এটি আপনার লক্ষ্য বুঝতে পারে। • নিশ্চিত হওয়ার জন্য আমার deny rules। এগুলো নির্দিষ্ট কমান্ডের জন্য একটি শক্তিশালী সুরক্ষা প্রদান করে। • সীমাবদ্ধ রাখার জন্য sandbox। এটি এজেন্টকে আপনার প্রজেক্ট ফোল্ডারের ভেতরে রাখে।

নতুন ডিফল্ট সেটিংসটি চমৎকার, কিন্তু এটি সবকিছু কভার করে না। এটি rm -rf থামায় না। এটি ডাটাবেস মুছে ফেলা থামায় না। এটি আপনার মেইন ব্রাঞ্চে force-push করা থামায় না।

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

Defense in depth মানে হলো স্তরে স্তরে সুরক্ষা প্রদান করা। সবচেয়ে নিরাপদ সিস্টেম হলো সেটি যেখানে একটির পরিবর্তে তিনটি ভিন্ন চেক ভুল হওয়া রোধ করে।

Source: https://code.claude.com/docs/en/changelog

Optional learning community: https://t.me/GyaanSetuAi