ব্লগে ফিরে যান

শিক্ষানবিসদের জন্য AIগাইড

Downloads-এ Claude Code বা Codex চালাচ্ছেন? AGENTS.md নিরাপত্তা পরীক্ষা

Downloads-এ AGENTS.md বা CLAUDE.md নামের একটি ফাইল Claude Code এবং Codex-কে পরিচালনা করতে পারে। এই ফাইলগুলো কী এবং আপনার কনফিগের ৫ মিনিটের পরীক্ষা।

CheapTokens Team দ্বারাপ্রকাশিত হয়েছে 11 মিনিট পড়ার সময়

কভার: Downloads ফোল্ডারে রোপণ করা AGENTS.md একটি AI এজেন্টের কনফিগে পৌঁছাচ্ছে
এই পৃষ্ঠায়
  1. AGENTS.md এবং CLAUDE.md কী, এবং এজেন্ট কেন সেগুলো বিশ্বাস করে
  2. গবেষকরা Downloads-এ একটি ফাইল দিয়ে কী করেছেন
  3. কোন সেটিংস দেখবেন, এবং একটি স্বাভাবিক সেটিং কেমন দেখায়
  4. ৫ মিনিটের পরীক্ষা
  5. কিছু ভুল মনে হলে

সংক্ষিপ্ত উত্তর: আপনার ~/Downloads ফোল্ডারে Claude Code বা Codex চালু করবেন না। ২২ অক্টোবর ২০২৬-এ নিরাপত্তা সংস্থা Forever Security গবেষণা প্রকাশ করে দেখায় যে একটি ওয়েবসাইট নিঃশব্দে Downloads-এ AGENTS.md বা CLAUDE.md নামের একটি ফাইল সংরক্ষণ করতে পারে, এবং সেই ফোল্ডারে চালু করা একটি এজেন্ট তখন ফাইলটিকে বিশ্বস্ত নির্দেশনা হিসেবে গণ্য করে। নিচে: এই ফাইলগুলো কী, গবেষকরা কী পরিবর্তন করতে পেরেছেন, এবং প্রায় পাঁচ মিনিটের একটি পরীক্ষা।

সাধারণ ঘটনাটি ভাবুন। আপনি একটি ওয়েবসাইট থেকে এক ডজন PDF ও স্ক্রিনশট সংরক্ষণ করেছেন, Downloads-এ একটি টার্মিনাল খুলেছেন, claude বা codex টাইপ করেছেন এবং বলেছেন "এই ফাইলগুলো সাজাও"। এতে ঝুঁকিপূর্ণ কিছু মনে হয় না। আর এখানেই ফাঁদ।

AGENTS.md এবং CLAUDE.md কী, এবং এজেন্ট কেন সেগুলো বিশ্বাস করে#

একটি কোডিং এজেন্ট প্রতিটি সেশন শূন্য থেকে শুরু করে না। আপনার অনুরোধ দেখার আগে, এটি যে ফোল্ডারে চালু হয়েছে সেখানে স্থায়ী নির্দেশনার একটি সাধারণ টেক্সট ফাইল খোঁজে: "ট্যাব ব্যবহার করো, npm test দিয়ে টেস্ট চালাও, migrations ফোল্ডারে কখনো হাত দিও না।" AGENTS.md হলো সাধারণ নাম, CLAUDE.md হলো Claude Code-এর জন্য একই ধারণা। আপনার নিজের প্রজেক্টে এই ফাইলগুলো উপকারী, কারণ আপনি সেগুলো লিখেছেন।

তবে এজেন্ট বুঝতে পারে না কে একটি ফাইল লিখেছে। একটি ওয়েবসাইট Downloads-এ যে CLAUDE.md ফেলেছে তা দেখতে ঠিক আপনার গত সপ্তাহে লেখা ফাইলের মতোই।

ফ্ল্যাশকার্ড

এই নিবন্ধে যে শব্দগুলো পাবেন

গবেষকরা Downloads-এ একটি ফাইল দিয়ে কী করেছেন#

Forever Security-র পোস্ট (লেখক Gal Weizman ও Omer Samet, ২২ অক্টোবর ২০২৬) দুটি ঘটনা বর্ণনা করে। নিচের সব সফলতার হার গবেষকদের নিজেদের পরিমাপ।

Codex। রোপণ করা AGENTS.md এজেন্টকে ~/.codex/config.toml-এ একটি MCP server এন্ট্রি যোগ করতে বলেছিল, এবং সেই এন্ট্রি function-color নামের একটি npm প্যাকেজ ইনস্টল করার দিকে নিয়ে যায়। গবেষকদের মতে, পেলোড ৯০%-এর বেশি প্রচেষ্টায় চলেছিল। দেখুন ফাইলটি কোথায় থাকে: আপনার হোম ফোল্ডার, Downloads নয়। কনফিগটি মেশিন-ব্যাপী, তাই যেকোনো ফোল্ডারে পরবর্তী প্রতিটি সেশন প্রভাবিত হয়, আপনি Downloads ফোল্ডার ভুলে যাওয়ার অনেক পরেও।

Claude Code। রোপণ করা CLAUDE.md .claude/settings.json-এ একটি ANTHROPIC_BASE_URL সেটিং লেখার চেষ্টা করেছিল। সেই সেটিং নির্ধারণ করে এজেন্ট তার API ট্রাফিক কোথায় পাঠায়। এটি অন্য কারো সার্ভারে নির্দেশ করুন এবং সেই সার্ভার আপনার OAuth টোকেন দেখতে পায় এবং এজেন্টের চালানোর জন্য টুল কল ফেরত পাঠাতে পারে। লেখাটি প্রায় অর্ধেক ক্ষেত্রে সফল হয়েছিল; একই সেশনের মধ্যে সম্পাদিত একটি পথ, প্রায় এক-পঞ্চমাংশ ক্ষেত্রে।

একটি রোপণ করা ফাইল থেকে পরিবর্তিত কনফিগ
কীভাবে একটি রোপণ করা নির্দেশনা ফাইল এজেন্টের নিজের সেটিংসে পৌঁছায় (Forever Security, ২২ অক্টোবর ২০২৬)

পোস্টটি স্পষ্ট করে যে দুটি পণ্যের কোনোটিতেই কিছু "ভাঙা" নেই: এজেন্ট ডিজাইন অনুযায়ী কাজ করে, এবং ঝুঁকি আসে ফাইলটি কোথায় আছে এবং এজেন্ট এটি কতটা বিশ্বাস করে তা থেকে। Forever আরও বলে যে তারা একটি গ্রাহকের মেশিনে একটি প্রকৃত রোপণ করা AGENTS.md খুঁজে পেয়েছে এবং কোনো কোড চলার আগেই একটি ক্ষতিকারক npm ইনস্টল বন্ধ করেছে; npm এরপর function-color সরিয়ে দিয়েছে। শেষ অংশটি গবেষকদের নিজেদের বিবরণ। OpenNET ২৬ অক্টোবর ২০২৬-এ গল্পটি কভার করেছে এবং উল্লেখ করেছে যে একটি AGENTS.md পুল রিকোয়েস্ট বা ক্লোন করা রিপোজিটরির মাধ্যমে এলে অনুরূপ ঝুঁকি থাকে।

দ্রুত যাচাই

কেন Codex-এর ঘটনা Downloads-এ একটি খারাপ সেশনের চেয়ে খারাপ?

উত্তর দেখান

উত্তর: এটি যে কনফিগ পরিবর্তন করেছে তা মেশিন-ব্যাপী, তাই যেকোনো ফোল্ডারে পরবর্তী প্রতিটি সেশন প্রভাবিত হয়

রোপণ করা ফাইলটি কেবল একবার চললেই যথেষ্ট। এটি ~/.codex/config.toml-এ যা লেখে তা সেখানেই থাকে এবং প্রতিটি ফোল্ডারে পরবর্তী সেশনগুলোতে প্রযোজ্য হয়।

কোন সেটিংস দেখবেন, এবং একটি স্বাভাবিক সেটিং কেমন দেখায়#

দুটি ফাইল, গবেষণার প্রতিটি টুলের জন্য একটি।

~/.codex/config.toml-এ, এমন [mcp_servers.*] এন্ট্রি খুঁজুন যা আপনি যোগ করার কথা মনে করতে পারেন না, এবং এমন base URL যা আপনি সেট করেননি। একটি সন্দেহজনক এন্ট্রি আপনার মেশিনকে npm থেকে কিছু আনতে ও চালাতে বাধ্য করে:

toml
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]

এখানে helper নাম এবং প্যাকেজটি প্লেসহোল্ডার। গবেষকদের ক্ষেত্রে, এমন একটি এন্ট্রির পেছনের প্যাকেজটি ছিল function-color।

.claude/settings.json-এ, এমন একটি API endpoint বা প্রক্সি খুঁজুন যা আপনি রাখেননি। আপনি যদি কখনো ANTHROPIC_BASE_URL সেট না করেন, ফাইলটিতে এটি একেবারেই উল্লেখ থাকা উচিত নয়। যদি সেট করে থাকেন, এটি আপনার বেছে নেওয়া প্রোভাইডারের ঠিকানা হওয়া উচিত। CheapTokens-এর জন্য, Claude Code-এর মতো Anthropic-শৈলীর ক্লায়েন্ট https://api.cheaptokens.dev ব্যবহার করে শেষে /v1 ছাড়া; OpenAI-শৈলীর ক্লায়েন্ট https://api.cheaptokens.dev/v1 ব্যবহার করে।

আপনি সেট করা একটি base URL বনাম আপনি সেট করেননি এমন একটি
একই সেটিং দুবার: বাম ঠিকানাটি আপনার বেছে নেওয়া, ডানটি একটি অপরিচিত হোস্ট (প্লেসহোল্ডার)

আপনি যদি নিজের কী-তে Claude Code চালান, Claude Code-কে CheapTokens-এ সংযুক্ত করার ধাপে ধাপে নির্দেশনা পুরো ফাইলটি দেখায়, এবং ডকুমেন্টেশন উভয় base URL তালিকাভুক্ত করে। দীর্ঘ এজেন্ট লুপের জন্য, DeepSeek-V4-Flash (deepseek-ai/DeepSeek-V4-Flash-0731)-এর 380K কনটেক্সট, প্রতি উত্তরে সর্বোচ্চ 32,768 আউটপুট টোকেন এবং যেকোনো সময়ে একই দাম; বাকিটা মডেল পেজে আছে।

Cline, Aider এবং অন্যান্য এজেন্ট এই গবেষণার অংশ ছিল না, এবং প্রত্যেকে তার সেটিংস নিজের জায়গায় রাখে। অভ্যাস একই: জানুন কোন ফাইলে endpoint আছে এবং একবার পড়ুন।

৫ মিনিটের পরীক্ষা#

একটি টার্মিনাল খুলুন এবং ক্রমানুসারে এগুলো করুন। এখানে কিছুই কোনো ফাইল পরিবর্তন করে না; এটি কেবল পড়ে।

ধাপে ধাপে

আপনার মেশিন পরীক্ষা করুন

অবাঞ্ছিত নির্দেশনা ফাইল খুঁজুন

bash
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"

আপনি লেখেননি এমন যেকোনো ফলাফল: এটি টেক্সট হিসেবে খুলে পড়ুন। কোথা থেকে এসেছে জানা না থাকলে মুছে ফেলুন।

Codex কনফিগ পড়ুন

bash
grep -n "mcp_servers\|base_url" ~/.codex/config.toml

প্রতিটি [mcp_servers.…] লাইন এমন হওয়া উচিত যা আপনি যোগ করার কথা মনে করতে পারেন। "No such file" ঠিক আছে যদি আপনি Codex ব্যবহার না করেন।

Claude Code সেটিংস পড়ুন

bash
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.json

এটি আপনার প্রজেক্ট ফোল্ডার থেকে চালান যাতে উভয় ফাইল কভার হয়। আউটপুটে প্রতিটি ঠিকানা আপনার বেছে নেওয়া প্রোভাইডার হওয়া উচিত।

আপনার শেল দেখুন

bash
env | grep -i "BASE_URL"

এটি পরিবেশ ভেরিয়েবল হিসেবে সেট করা base URL তালিকাভুক্ত করে। একই নিয়ম: প্রতিটি আপনার চেনা উচিত।

ঘটনার প্যাকেজটি খুঁজুন

bash
npm ls -g --depth=0 | grep function-color

আপনি যে প্রজেক্টগুলোতে এজেন্ট ব্যবহার করেছেন সেগুলোর ভেতরে npm ls function-color-ও চালান। এটি দেখা গেলে, মেশিনটিকে আপসকৃত হিসেবে গণ্য করুন।

কিছু ভুল মনে হলে#

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

যে অভ্যাসগুলো এটি আবার ঘটতে দেবে না, সবই গবেষকদের প্রশমন থেকে:

  • এজেন্ট এমন প্রজেক্ট ফোল্ডারে চালু করুন যা আপনি নিজে তৈরি করেছেন, Downloads-এ নয়।
  • আপনি লেখেননি এমন যেকোনো AGENTS.md বা CLAUDE.md এজেন্ট চালানোর আগে পড়ুন, যার মধ্যে ক্লোন বা পুল রিকোয়েস্টের মাধ্যমে আসা ফাইলও অন্তর্ভুক্ত।
  • approval prompt এবং sandboxing চালু রাখুন, এবং এমন যেকোনো নির্দেশনা সম্পর্কে সতর্ক থাকুন যা এজেন্টকে সেগুলো বন্ধ করতে বলে।