1. “অধ্যায় 64: Secure Code Review & SAST” scenario-তে মূল control কোনটি?
source-to-sink path যাচাই করে false-positive ও reachable risk নথিভুক্ত করা—এটাই অধ্যায় 64: Secure Code Review & SAST-এর প্রধান defensive control.
Review strategy, false positives ও remediation.
অগ্রগতি এই browser-এ স্থানীয়ভাবে সংরক্ষিত হবে।
রোবট ক্লাবের scanner ত্রিশটি warning দিল; সাথী সবগুলোকে সমান সত্য ধরে নিল না। সে data flow ও change context দেখে false positive আলাদা করল এবং peer review-তে বাস্তব secret leak-টি আগে ঠিক করল। বৃষ্টি ম্যাম বললেন, “সৌরভ সোনা, আগে সমস্যাটাকে ছোট করে বুঝি—কোন সম্পদ, কার অনুমতি, আর কোন সীমার মধ্যে কাজ?” সৌরভ বোর্ডে একটি data-flow এঁকে সম্ভাব্য ভুলের জায়গা চিহ্নিত করল। তারা বাস্তব কোনো account বা website-এ হাত না দিয়ে synthetic উদাহরণে hypothesis যাচাই করল।
বৃষ্টি ম্যাম জিজ্ঞেস করলেন, “সৌরভ, গল্পের চরিত্রটি কোন সীমা পেরোতে দিচ্ছিল?” তারা বোর্ডে asset, actor, trust boundary আর expected outcome লিখল। ভুলটি শুধু একটি tool-এর সমস্যা নয়; server কী অনুমতি দিচ্ছে, আর সেই সিদ্ধান্ত যাচাই করা যায় কি না—সেটিই মূল প্রশ্ন।
তারপর তারা বাস্তব service ছুঁয়ে না দেখে synthetic record-এ একই decision অনুশীলন করল। প্রথমে স্বাভাবিক অনুমোদিত flow, তারপর ভুল পরিচয়/invalid state, শেষে fix-এর পর retest। বৃষ্টি ম্যাম বললেন, “সোনা, নিরাপদ শেখা মানে কেবল সমস্যা দেখানো নয়—সীমা মেনে প্রতিরক্ষা প্রমাণ করাও।”
সমস্যা: scanner context জানে না; triage না হলে exploitable issue বা noise দুটোই থাকে।
মূল নিয়ম: source-to-sink path যাচাই করে false-positive ও reachable risk নথিভুক্ত করা। এই নিয়মটি Review strategy, false positives ও remediation.-এর সঙ্গে মিলিয়ে threat boundary-তে enforce করো; শুধু UI, client-side check বা model instruction-এ ভরসা কোরো না। প্রত্যাখ্যানের কারণ user-কে নিরাপদভাবে জানাও, আর diagnosis-এর জন্য সীমিত redacted event রাখো।
নিচের snippet-টি illustrative pseudocode। এটি কোনো বাইরের target-এ পরীক্ষা চালায় না; control কীভাবে server-side-এ বসে তা দেখায়।
for finding in sast_results:
trace_source_to_sink(finding)
assign_owner_and_disposition(finding)Review checklist: explicit scope, least privilege, malformed/unauthorized negative case, privacy-safe logging এবং post-fix retest।
SAST নতুন tainted data flow দেখিয়েছে। কোন review পদ্ধতি ভালো? কেবল isolated mock বা লিখিত অনুমতিপ্রাপ্ত lab-এ চেষ্টা করো। expected result এবং deny case লিখে রাখো।
source-to-sink path যাচাই করে false-positive ও reachable risk নথিভুক্ত করা Layered review, reproducible findings, tracked remediation. remediation-এর owner ও retest ফলাফলও নথিভুক্ত করো।
Review: owner, telemetry, failure behavior ও retest ফলাফল নথিভুক্ত করো।
Scope, synthetic setup, পর্যবেক্ষণ, ঝুঁকি, remediation ও retest লিখে রাখো। secret বা ব্যক্তিগত তথ্য যোগ কোরো না।
Synthetic diff-এর জন্য risk-based review checklist বানাও.
Scenario: SAST নতুন tainted data flow দেখিয়েছে। কোন review পদ্ধতি ভালো?
একটি defensive সিদ্ধান্ত বেছে নিয়ে ল্যাব চালু করো চাপো। এটি synthetic scenario; কোনো network request করা হয় না।
scanner context জানে না; triage না হলে exploitable issue বা noise দুটোই থাকে।—সফল সমাধানে scope, control এবং retest—তিনটিই উল্লেখ করো।
প্রতিটি প্রশ্নে একটি উত্তর বেছে নাও। ব্যাখ্যাসহ স্কোর নিচে দেখা যাবে।
source-to-sink path যাচাই করে false-positive ও reachable risk নথিভুক্ত করা—এটাই অধ্যায় 64: Secure Code Review & SAST-এর প্রধান defensive control.
scanner context জানে না; triage না হলে exploitable issue বা noise দুটোই থাকে। হওয়ায় access, data বা service impact হতে পারে.
Synthetic isolated environment production data বা অন্যের service-কে ঝুঁকিতে ফেলে না.
Negative case control bypass বা fail-open আচরণ ধরতে সাহায্য করে.
এতে তদন্তযোগ্য প্রমাণ থাকে, কিন্তু secret বা customer payload লগ হয় না.
আগে scope স্থির করলে পরীক্ষা অনুমোদিত ও সীমাবদ্ধ থাকে.
validation ব্যর্থতায় fail-closed আচরণ নিরাপদ.
Code/config ও synthetic test control বাস্তবে কার্যকর কি না দেখায়.
Retest fix ও regression দুটোই যাচাই করে.
এই তথ্য remediation-কে actionable করে, sensitive data প্রকাশ না করে.
স্কোর: ০ / ১০
আরও পড়ার জন্য প্রতিষ্ঠিত security standards ও guidance দেখো; প্রতিটি lab অনুমোদিত বা synthetic environment-এ করো।