গোপনীয়তা ফাঁস না করে AI ব্যবহার করা
আপনি একটি এরর (error) পেলেন। আপনি স্ট্যাক ট্রেস (stack trace) কপি করলেন। আপনি AI-কে সেটি ঠিক করতে বললেন। আপনি ভুলে গেলেন যে সেই টেক্সটের মধ্যে আপনার DATABASE_URL এবং পাসওয়ার্ড রয়েছে। AI মাত্র চার সেকেন্ডের মধ্যে উত্তর দিল। এখন আপনার গোপনীয় তথ্যটি একটি রিকোয়েস্ট লগ (request log) বা একটি ট্রেনিং সেটে চলে গেছে। আপনি এটি আর মুছে ফেলতে পারবেন না।
AI-তে গোপনীয় তথ্য পেস্ট করা মানে সেটি কোনো পাবলিক সাইটে পেস্ট করার মতোই। আপনি তা আর ফেরত নিতে পারবেন না।
আমি প্রতিদিন কোড শিপ (ship) করার জন্য AI ব্যবহার করি। আমি এটি এড়িয়ে চলি না। আমি একটি থ্রেট মডেল (threat model) মেনে এটি ব্যবহার করি।
বেশিরভাগ মানুষ মনে করেন একটি প্রম্পট (prompt) হলো একটি ব্যক্তিগত চ্যাট। আসলে তা নয়। এটি একটি আউটবাউন্ড রিকোয়েস্ট (outbound request)।
- ফ্রি টিয়ারগুলো (Free tiers) প্রায়শই মডেল প্রশিক্ষণের জন্য আপনার ডেটা ব্যবহার করে।
- পেইড টিয়ারগুলো (Paid tiers) সাধারণত আপনার ডেটা দিয়ে প্রশিক্ষণ না দেওয়ার প্রতিশ্রুতি দেয়।
- এমনকি পেইড টিয়ারগুলোও অপব্যবহার শনাক্তকরণ এবং মানুষের পর্যালোচনার জন্য লগ (logs) সংরক্ষণ করে।
ডেটা তিনটি উপায়ে ফাঁস হতে পারে:
- আপনি যা পেস্ট করেন: কোড স্নিপেট (code snippets), কনফিগ (configs), বা ট্রেস (traces)।
- টুলসগুলো যা স্বয়ংক্রিয়ভাবে যুক্ত করে: খোলা ফাইল, রিপোজিটরি কনটেক্সট (repo context), বা টার্মিনাল আউটপুট।
- মডেল যা ফেরত পাঠায়: PR ডেসক্রিপশন বা লগে প্রতিফলিত গোপনীয় তথ্য।
AI প্রোভাইডার হলো একটি বিশ্বস্ত তৃতীয় পক্ষ। আপনি তাদের অভ্যন্তরীণ পাইপলাইনগুলো অডিট (audit) করতে পারবেন না। প্রম্পট বক্সটিকে একটি অনির্ভরযোগ্য নেটওয়ার্ক কল (untrusted network call) হিসেবে বিবেচনা করুন।
এগুলো পাঠানো বন্ধ করুন:
- লাইভ API কী (keys) বা টোকেন।
- .env ফাইলের বিষয়বস্তু।
- প্রাইভেট কী (private keys) বা সার্টিফিকেট।
- প্রকৃত গ্রাহকের নাম, ইমেল বা পেমেন্ট ডেটা।
- প্রোপাইটরি লজিক (proprietary logic) যা আপনি ওপেন-সোর্স করবেন না।
পরিবর্তে প্লেসহোল্ডার (placeholders) ব্যবহার করুন। [API_KEY] বা [DB_PASSWORD] ব্যবহার করুন। মাস্ক (mask) ব্যবহার করলেও AI ঠিক একইভাবে কাজ করে।
এই তিনটি অভ্যাস গড়ে তুলুন:
- একটি AI ignore ফাইল ব্যবহার করুন। .env এবং সিক্রেট ফোল্ডারগুলোকে টুলের কনটেক্সট থেকে দূরে রাখুন।
- পাঠানোর আগে স্ক্যান করুন। পেস্ট করার আগে আপনার টেক্সটের ওপর একটি সিক্রেট ডিটেক্টর (secret detector) চালান।
- গোপনীয় তথ্য এনক্রিপ্টেড (encrypted) রাখুন। যদি গোপনীয় তথ্যগুলো শুধুমাত্র রানটাইমে মেমরিতে থাকে, তবে আপনি সেগুলো পেস্ট করতে পারবেন না।
আপনার বিকল্পগুলোর একটি সারসংক্ষেপ:
- ফ্রি/কনজিউমার (Free/Consumer): পাবলিক ডকুমেন্ট বা সাময়িক স্নিপেটের জন্য ব্যবহার করুন।
- পেইড প্রো/টিম (Paid Pro/Team): বেশিরভাগ ইঞ্জিনিয়ারিং কাজের জন্য ব্যবহার করুন। এতে চুক্তিবদ্ধ সুরক্ষা থাকে।
- লোকাল/সেলফ-হোস্টেড (Local/Self-hosted): নিয়ন্ত্রিত ডেটার জন্য ব্যবহার করুন যা আপনার মেশিনে থাকা আবশ্যক।
'নো-ট্রেনিং গ্যারান্টি' (no-training guarantee) হলো একটি চুক্তি। এটি কোনো প্রযুক্তিগত ঢাল নয়। এটি ঝুঁকি কমায় কিন্তু পুরোপুরি দূর করে না।
AI আপনার কোড স্পর্শ করার আগে এই পদক্ষেপগুলো অনুসরণ করুন:
- আপনার AI টুলগুলোর জন্য একটি ignore ফাইল যোগ করুন।
- আপনি যা পেস্ট করেন তার সবকিছু স্ক্যান করুন।
- সব ক্রেডেনশিয়াল (credentials) প্লেসহোল্ডার দিয়ে মাস্ক করুন।
- প্রোপাইটরি কাজের জন্য পেইড টিয়ার ব্যবহার করুন।
- সিক্রেটগুলোকে প্লেইন টেক্সট (plaintext) থেকে দূরে রাখতে একটি KMS ব্যবহার করুন।
- AI আউটপুট আপনার লগ বা কমিটে (commits) যাওয়ার আগে তা পর্যালোচনা করুন।
চার সেকেন্ডের উত্তরটি এখনও দ্রুত। তবে এটি যেন আপনার নিরাপত্তার বিনিময়ে না আসে।
Optional learning community: https://t.me/GyaanSetuAi
