⚡Shadow Academy
একাডেমি / অধ্যায় 61
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
অধ্যায় 61 / ১০০গল্প · ল্যাব · কুইজ

অধ্যায় 61: Dependency Security & SBOM

Dependency inventory, provenance ও vulnerability triage.

এই অধ্যায়ে কী শিখবে

⏱ আনুমানিক সময়: ১৫–২০ মিনিট · পূর্বশর্ত: আগের অধ্যায়ের ধারণা

০ / ১০০ অধ্যায়চালিয়ে যাও: অধ্যায় 62

অগ্রগতি এই browser-এ স্থানীয়ভাবে সংরক্ষিত হবে।

গল্প: অধ্যায় 61: Dependency Security & SBOM

স্কুলের coding club-এর app-এ পুরোনো dependency আছে কি না কেউ জানত না। ফারহানা SBOM বানিয়ে component, version, owner ও support status লিখল; severity-র পাশাপাশি বাস্তব exposure ধরে patch plan সাজাল। বৃষ্টি ম্যাম বললেন, “সৌরভ সোনা, আগে সমস্যাটাকে ছোট করে বুঝি—কোন সম্পদ, কার অনুমতি, আর কোন সীমার মধ্যে কাজ?” সৌরভ বোর্ডে একটি data-flow এঁকে সম্ভাব্য ভুলের জায়গা চিহ্নিত করল। তারা বাস্তব কোনো account বা website-এ হাত না দিয়ে synthetic উদাহরণে hypothesis যাচাই করল।

বৃষ্টি ম্যাম জিজ্ঞেস করলেন, “সৌরভ, গল্পের চরিত্রটি কোন সীমা পেরোতে দিচ্ছিল?” তারা বোর্ডে asset, actor, trust boundary আর expected outcome লিখল। ভুলটি শুধু একটি tool-এর সমস্যা নয়; server কী অনুমতি দিচ্ছে, আর সেই সিদ্ধান্ত যাচাই করা যায় কি না—সেটিই মূল প্রশ্ন।

তারপর তারা বাস্তব service ছুঁয়ে না দেখে synthetic record-এ একই decision অনুশীলন করল। প্রথমে স্বাভাবিক অনুমোদিত flow, তারপর ভুল পরিচয়/invalid state, শেষে fix-এর পর retest। বৃষ্টি ম্যাম বললেন, “সোনা, নিরাপদ শেখা মানে কেবল সমস্যা দেখানো নয়—সীমা মেনে প্রতিরক্ষা প্রমাণ করাও।”

বৃষ্টি ম্যাম সহজ করে বলছে

সমস্যা: অদৃশ্য transitive component inventory-র বাইরে থেকে exploit surface বাড়ায়।

মূল নিয়ম: প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই। এই নিয়মটি Dependency inventory, provenance ও vulnerability triage.-এর সঙ্গে মিলিয়ে threat boundary-তে enforce করো; শুধু UI, client-side check বা model instruction-এ ভরসা কোরো না। প্রত্যাখ্যানের কারণ user-কে নিরাপদভাবে জানাও, আর diagnosis-এর জন্য সীমিত redacted event রাখো।

নিরাপদ defensive উদাহরণ

নিচের snippet-টি illustrative pseudocode। এটি কোনো বাইরের target-এ পরীক্ষা চালায় না; control কীভাবে server-side-এ বসে তা দেখায়।

sbom = generate_sbom(lockfile)
review(sbom.components, advisories, owners)

Review checklist: explicit scope, least privilege, malformed/unauthorized negative case, privacy-safe logging এবং post-fix retest।

আজকের অনুশীলন

release-এ vulnerable transitive package আছে কি না কীভাবে জানবে? কেবল isolated mock বা লিখিত অনুমতিপ্রাপ্ত lab-এ চেষ্টা করো। expected result এবং deny case লিখে রাখো।

প্রতিরক্ষা checkpoint

প্রতি release-এ versioned SBOM ও dependency ownership/patch status যাচাই Pinned reviewed dependencies, SBOM, update policy, provenance. remediation-এর owner ও retest ফলাফলও নথিভুক্ত করো।

Review: owner, telemetry, failure behavior ও retest ফলাফল নথিভুক্ত করো।

Portfolio note

Scope, synthetic setup, পর্যবেক্ষণ, ঝুঁকি, remediation ও retest লিখে রাখো। secret বা ব্যক্তিগত তথ্য যোগ কোরো না।

বিশ্বস্ত reference

আরও পড়ার জন্য প্রতিষ্ঠিত security standards ও guidance দেখো; প্রতিটি lab অনুমোদিত বা synthetic environment-এ করো।