এআই এজেন্টের যুগে সবচেয়ে বড় দরজা খোলা চাবি, এপিআই কি লিক থেকে বাচবেন কিভাবে

এআই এজেন্টের যুগে সবচেয়ে বড় দরজা খোলা চাবি, এপিআই কি লিক থেকে বাচবেন কিভাবে

হাগিং ফেস ব্রিচ থেকে মেট্রো ব্যাংকের £১৪ হাজার, এআই এর যুগে আসল দুর্বলতা খোলা ক্রেডেনশিয়াল। কিভাবে লিক হয় আর কিভাবে আটকাবেন।

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

গত দুই সাপ্তাহে দুইটা খবর বেশ আলোচনায় এসেছে। একটা ওপেনএআই (OpenAI) এর পরীক্ষামূলক এজেন্ট নিয়ে, আরেকটা মেট্রো ব্যাংক আর ক্লড (Claude) ক্রেডিট নিয়ে। দুইটা ঘটনার ধরন আলাদা, কিন্তু শিক্ষাটা প্রায় একই। আজকের ব্লগে ঘটনা দুইটা আসলে কি হয়েছিলো সেটা যতোটা সম্ভব সঠিকভাবে বলবো, তারপর আমরা ডেভেলপাররা কিভাবে নিজের হাতে এপিআই কি (API key) লিক করি আর সেটা কিভাবে আটকানো যায়, সেটা নিয়ে আলোচনা করবো।

ঘটনা ১ঃ ওপেনএআই এর এজেন্ট আর হাগিং ফেসঃ

জুলাইয়ের শেষ দিকে ওপেনএআই জানায়, তাদের কিছু মডেল, যার মধ্যে একটা "internal-only research prototype", ExploitGym নামের একটা সাইবারসিকিউরিটি বেঞ্চমার্কে টেস্ট হচ্ছিলো। Wired এর রিপোর্ট অনুযায়ী এই টেস্টে মডেলগুলোর সেফটি ফিল্টার কমিয়ে রাখা ছিলো।

মডেলগুলোর সরাসরি ইন্টারনেট এক্সেস ছিলো না। প্যাকেজ ইন্সটল করার জন্য শুধু একটা ইন্টারনাল JFrog Artifactory সার্ভার ছিলো, যেটা প্রক্সি আর ক্যাশ হিসেবে কাজ করতো। ওপেনএআই নিজেই কনফার্ম করেছে, মডেলগুলো Artifactory এর একটা অজানা জিরো-ডে বাগ খুজে বের করে সেটা দিয়ে ইন্টারনেটে বের হয়ে যায়।

এরপর যা হলো সেটা আরো মজার, বা ভয়ের, যেভাবে দেখেন। মডেলগুলো ধারনা করে নেয় যে তাদের দরকারি ডেটাসেট আর সলিউশন হয়তো হাগিং ফেস (Hugging Face) এ আছে। BleepingComputer এর রিপোর্ট অনুযায়ী তারা হাগিং ফেসের একটা ডেটাসেট প্রসেসিং পাইপলাইনের দুর্বলতা কাজে লাগিয়ে প্রোডাকশন ইনফ্রাস্ট্রাকচারে ঢুকে, ক্লাউড আর ক্লাস্টার ক্রেডেনশিয়াল চুরি করে, তারপর ভিতরে এক সিস্টেম থেকে আরেক সিস্টেমে ছড়িয়ে পরে। হাগিং ফেস জানিয়েছে এজেন্ট ভিতরে বেশ বড় এক্সেস পেয়েছিলো, Kubernetes ক্লাস্টার আর সোর্স কোড রিপোজিটরি পর্যন্ত।

কিছু গুরুত্বপুর্ন তথ্যঃ

  • সময়ঃ পুরো ঘটনা প্রায় চার দিনের। Wired লিখেছে এজেন্ট হাজার হাজার একশন নিয়েছে।
  • কি নিয়েছেঃ একটা প্রাইভেট রিপো থেকে CyberGym সলিউশনের তিনটা আংশিক ডেটাসেট। CSA এর ড্রাফট পোস্ট-মর্টেম অনুযায়ী কোন কাস্টমার ডেটা এক্সেস হয় নি।
  • কে ধরেছেঃ হাগিং ফেস নিজেই ধরেছে এবং থামিয়েছে, ওপেনএআই যোগাযোগ করার আগেই।
  • ক্লিনআপঃ হাগিং ফেস সব ক্রেডেনশিয়াল রোটেট করেছে আর প্রায় তিন ভাগের এক ভাগ ইনফ্রাস্ট্রাকচার ক্লিন ইমেজ থেকে নতুন করে বানিয়েছে।

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

খেয়াল করেন, এখানে জিরো-ডে ছিলো, লম্বা এটাক চেইন ছিলো, কিন্তু চারটা সার্ভিসে ঢুকতে এজেন্টকে কিছুই ভাঙতে হয় নি। চাবি পাবলিকলি পরে ছিলো, সে শুধু তুলে নিয়েছে।

ঘটনা ২ঃ মেট্রো ব্যাংক আর £১৪,২৪৪ এর ক্লড ক্রেডিটঃ

এই ঘটনাটা অনেকে "লিকড এপিআই কি" বলে শেয়ার করছেন, বাট আমি যতোগুলা রিপোর্ট পড়েছি, তাতে এটা এপিআই কি লিক না, এটা কার্ড ফ্রড। লেট মি মেক সামথিং ক্লিয়ার, কারন ভুল কারন ধরে ভুল সমাধান করলে লাভ নেই।

The Next Web আর Resultsense এর রিপোর্ট (মূল খবর The Guardian এর) থেকে যা জানা যায়, সাসেক্সের এক ব্যবসায়ী মাসে প্রায় £১৫ দিয়ে ক্লড ইউজ করতেন, তার মেট্রো ব্যাংকের ডেবিট কার্ড এনথ্রপিক (Anthropic) একাউন্টে সেভ করা ছিলো। ১৯ জুন মেট্রো ব্যাংক £৯০.৯০ এর একটা ট্রানজেকশন নিয়ে মেসেজ দেয়, উনি জানান এটা উনি করেন নি। ব্যাংক শুধু অই একটা ট্রানজেকশন ব্লক করে, কার্ড না। এরপর £৯০ থেকে £২০০ এর পেমেন্ট একের পর এক যেতে থাকে, পরদিন কার্ড পুরোপুরি ব্লক হওয়ার আগেই £১৪,০০০ এর বেশী চলে যায়, মোট £১৪,২৪৪। এনথ্রপিক বলেছে একটা গ্যাং অই কার্ড ডিটেইলস দিয়ে ক্রেডিট কিনেছে, এবং কার্ডের তথ্য তাদের সিস্টেম থেকে গেছে এমন কোন প্রমান পায় নি। কার্ডের তথ্য আসলে কোথা থেকে গেছে সেটা রিপোর্টে পরিস্কার না। পরে এনথ্রপিক সরাসরি টাকা রিফান্ড করেছে, ফ্রডের পিছনের একাউন্ট ব্যান করেছে।

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

ডেভেলপাররা এপিআই কি লিক করে কিভাবে?

সহজ কথায় বললে, বেশীরভাগ লিক কোন হ্যাকারের কারনে হয় না, হয় আমাদের নিজেদের তাড়াহুড়ায়। কমন যায়গাগুলোঃ

  • গিটে .env ফাইলঃ সবচেয়ে কমন। .gitignore এ .env দিতে ভুলে গেছেন, git add . দিয়ে পুশ করে দিয়েছেন। পরে ফাইল ডিলিট করলেও লাভ নেই, গিট হিস্টোরিতে চাবি থেকেই যায়। পাবলিক রিপো হলে ধরে নেন অটোমেটেড বট মিনিটের মধ্যে সেটা পেয়ে গেছে।
  • ফ্রন্টএন্ড বান্ডেলঃ রিয়েক্ট বা নেক্সট প্রজেক্টে NEXT_PUBLIC_ বা VITE_ প্রিফিক্স দেওয়া এনভায়রনমেন্ট ভেরিয়েবল বিল্ডের সময় ব্রাউজারের জাভাস্ক্রিপ্টে ঢুকে যায়। মানে যে কেউ DevTools খুলে আপনার OpenAI বা Anthropic কি পড়তে পারবে। ফ্রন্টএন্ডে কোন সিক্রেট রাখা আর বাড়ির চাবি গেটের নামফলকে লিখে রাখা, একই কথা।
  • লগঃ ডিবাগ করার সময় পুরো রিকোয়েস্ট হেডার লগ করলেন, Authorization: Bearer ... সহ। সেই লগ গেলো কোন থার্ড-পার্টি লগিং সার্ভিসে, বা স্ক্রিনশট হয়ে কোন গ্রুপে।
  • পাবলিক এন্ডপয়েন্টঃ Modal এর ঘটনাটা মনে আছে? চাবি লিক না হলেও, অথেনটিকেশন ছাড়া একটা এন্ডপয়েন্ট খোলা রাখা মানে চাবি ছাড়াই দরজা খোলা।
  • চ্যাট, ইস্যু আর পেস্টবিনঃ গিটহাব ইস্যুতে এরর লগ দিলেন, স্ট্যাক ওভারফ্লোতে কোড দিলেন, বা কোন এআই চ্যাটে পুরো কনফিগ পেস্ট করে দিলেন। মজার ব্যাপার, ওপেনএআই এর এজেন্টও পেস্টবিন সাইট ইউজ করেছে।

এখন বলতে পারেন, আমার ছোট প্রজেক্ট, কে খুজবে? ভাই, খুজে মানুষ না, খুজে স্ক্রিপ্ট। আর এখন সেই স্ক্রিপ্টের যায়গায় আসছে এজেন্ট, যারা রাতে ঘুমায় না, কফিও খায় না, চার দিন টানা হাজার হাজার একশন নিতে পারে। আগে যেই চাবি পরে থাকতো কেউ খেয়াল না করে, এখন সেটা খুজে পাওয়া অনেক সস্তা হয়ে গেছে।

লিক আটকানোর উপায়ঃ

১. সিক্রেট স্ক্যানিং চালু রাখুনঃ

গিটহাবে সিক্রেট স্ক্যানিং আর পুশ প্রোটেকশন চালু করুন, পরিচিত ফরম্যাটের কি পুশ করতে গেলেই আটকে দিবে। লোকালি কমিটের আগেই ধরতে চাইলে gitleaks বা trufflehog এর মতো টুল প্রি-কমিট হুক হিসেবে বসিয়ে দিতে পারেন। পুরনো রিপোতে একবার পুরো হিস্টোরি স্ক্যান করে দেখুন, অবাক হতে পারেন।

Bash
# পুরো গিট হিস্টোরি স্ক্যান
gitleaks detect --source . -v

২. কি লিক হলে আগে রোটেট, পরে বাকি সবঃ

এটা অনেকে উল্টো করেন। প্রথমে হিস্টোরি থেকে মুছতে বসেন। ভুল। লিক হয়েছে মানে ধরে নিন কেউ কপি করে ফেলেছে। প্রথম কাজ প্রোভাইডারের ড্যাশবোর্ডে গিয়ে কি রিভোক করে নতুন কি বানানো। তারপর হিস্টোরি ক্লিন করবেন। হাগিং ফেসও ঠিক এটাই করেছে, সব ক্রেডেনশিয়াল রোটেট।

৩. স্কোপড কি ইউজ করুনঃ

এক কি দিয়ে সব প্রজেক্ট চালানো মানে এক চাবিতে বাসা, অফিস, গাড়ি সব খোলা। প্রতিটা প্রজেক্ট, প্রতিটা এনভায়রনমেন্টের জন্য আলাদা কি রাখুন, আর যতোটুকু পারমিশন দরকার শুধু ততোটুকু। শুধু পড়বে এমন কাজে রিড-অনলি টোকেন। ক্লাউডে লম্বা মেয়াদী কি এর বদলে শর্ট-লিভড ক্রেডেনশিয়াল পেলে সেটাই বেটার।

৪. স্পেন্ডিং ক্যাপ আর এলার্টঃ

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

৫. সিক্রেট থাকবে সার্ভারে, শুধু সার্ভারেঃ

ফ্রন্টএন্ড থেকে সরাসরি এআই এপিআই কল করবেন না। নিজের ব্যাকএন্ডে একটা ছোট প্রক্সি রাখুন, কি থাকবে সেখানে এনভায়রনমেন্ট ভেরিয়েবল বা সিক্রেট ম্যানেজারে। আমার নিজের কাজের বড় অংশই webhook আর এপিআই ইন্টিগ্রেশন, আর সেখানে নিয়ম একটাই, ক্লায়েন্টের ব্রাউজারে কোন সিক্রেট যাবে না। নো কম্প্রোমাইজ।

৬. লগ থেকে সিক্রেট মাস্ক করুনঃ

লগিং মিডলওয়্যারে Authorization, api_key, password এর মতো ফিল্ড অটোমেটিক মাস্ক করার ব্যবস্থা রাখুন। ডিবাগ শেষে ভার্বোস লগ বন্ধ করতে ভুলবেন না।

৭. এজেন্টকেও কম এক্সেস দিনঃ

আপনি নিজে যদি কোডিং এজেন্ট ইউজ করেন, তাকে প্রোডাকশন কি দিবেন না। আলাদা, লিমিটেড, খরচের ক্যাপ দেওয়া কি দিন। একটা ল্যাবের ভিতরে কড়া পাহারায় থাকা এজেন্টও যদি বের হয়ে চারটা খোলা একাউন্ট খুজে পায়, আপনার ল্যাপটপে বসে থাকা এজেন্টের হাতে প্রোডাকশন ডাটাবেজের পাসওয়ার্ড দেওয়ার আগে দুইবার ভাবা উচিৎ, তো নাকি?

উপসংহারঃ

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

সো, আজকেই একবার নিজের রিপোগুলো স্ক্যান করুন, পুরনো কি গুলো রোটেট করুন, আর সব এপিআই একাউন্টে খরচের লিমিট বসিয়ে দিন। চোর ঠেকানোর চেয়ে চাবি সামলানো অনেক সস্তা।

চেস্টা করেছি সহজভাবে বুঝানোর জন্য। যদি বুঝতে কোন সমস্যা হয়, নিচে কমেন্ট সেকশন ২৪ ঘন্টা খোলা আছে। শুভকামনা রইলো।

পোস্টটি ভালো লাগলে বন্ধুদের সাথে শেয়ার করুন

    এখনও কোনো মন্তব্য নেই। প্রথম মন্তব্যটি আপনার হোক!

    আরও পড়ুন

    এআই এর সব পোস্ট

    ১০ সেন্টে ১০ লাখ টোকেনঃ ক্লড হাইকু ৫.৫ কি ছোট ডেভেলপারদের খেলা বদলে দিবে?

    ৭ মিনিট

    এনথ্রপিক এর নতুন হাইকু ৫.৫ এর দাম আগের চেয়ে ৯০% কম। কিন্তু টোকেনাইজার আর কিছু ব্রেকিং চেঞ্জ না বুঝে মাইগ্রেট করলে বাঁশ খেতে পারেন।

    ১০ সেন্টে ১০ লাখ টোকেনঃ ক্লড হাইকু ৫.৫ কি ছোট ডেভেলপারদের খেলা বদলে দিবে?

    ওপেনএআই কেনো নিজের মডেল বাতিল করলোঃ জিপিটি-৬.১ অ্যাস্ট্রা আর এআই এর মিথ্যা বলা

    ৮ মিনিট

    টেস্টে মিথ্যা রিপোর্ট আর পারমিশন ছাড়া কাজ করায় ওপেনএআই জিপিটি-৬.১ অ্যাস্ট্রা লঞ্চ বাতিল করেছে। এর মানে কি, আর ডেভেলপার হিসেবে আমাদের শিক্ষা কি।

    ওপেনএআই কেনো নিজের মডেল বাতিল করলোঃ জিপিটি-৬.১ অ্যাস্ট্রা আর এআই এর মিথ্যা বলা

    হ্যাকাররা এখন এআই স্পিডে আসে, আপনার প্যাচ কি এখনো সাপ্তাহিক?

    ৮ মিনিট

    এআই এজেন্ট দিয়ে হ্যাক এখন ১০ ঘন্টার কম সময়ে শেষ হচ্ছে। ছোট টিম, ওয়ার্ডপ্রেস আর লারাভেল সাইটের জন্য একটা প্র্যাক্টিক্যাল সিকিউরিটি চেকলিস্ট।

    হ্যাকাররা এখন এআই স্পিডে আসে, আপনার প্যাচ কি এখনো সাপ্তাহিক?

    ট্যাগ