
Iron Laws কী?
Iron Laws, যা 오철칙 নামেও পরিচিত, AI-উৎপাদিত প্রকল্পে সাধারণত দেখা নিরাপত্তা ও রক্ষণাবেক্ষণ-সংক্রান্ত সমস্যা শনাক্ত করার জন্য তৈরি একটি স্ট্যাটিক ইন্সপেকশন টুল। এটি এন্টারপ্রাইজ ও সরকারি খাতের সিস্টেম ইন্টিগ্রেশন অডিট থেকে প্রাপ্ত অভিজ্ঞতা কাজে লাগায় এবং প্রতিটি শনাক্ত সমস্যার ব্যাখ্যা সহজবোধ্য ভাষায় দেয়।
কোনো অ্যাপ্লিকেশন শুধু চললেই যথেষ্ট কি না, টুলটি তার বাইরে গিয়ে পরীক্ষা করে। এটি হার্ডকোড করা গোপন তথ্য, অনিরাপদ ইনপুট হ্যান্ডলিং, গোপন করা এক্সেপশন, অথেনটিকেশনবিহীন প্রশাসনিক API, অনুপস্থিত Supabase বা Firebase অ্যাক্সেস কন্ট্রোল, কমিট করা .env ফাইল, ডুপ্লিকেট ফাংশন, সার্কুলার ডিপেন্ডেন্সি এবং টাইপ-সেফটি এড়িয়ে যাওয়ার মতো সমস্যা শনাক্ত করে।
Iron Laws AI কোডিং অ্যাসিস্ট্যান্টে পেস্ট করা যায় এমন কাঠামোবদ্ধ মেরামত নির্দেশনাও তৈরি করে। এর ফলে একটি পুনরাবৃত্তিযোগ্য কর্মপ্রবাহ তৈরি হয়:
AI দিয়ে তৈরি করুন → iron-laws check → iron-laws fix-prompt
→ AI-কে সমস্যাগুলো ঠিক করতে বলুন → আবার check চালান
Iron Laws উন্নয়নকালীন পর্যালোচনার সহায়ক, কোনো আনুষ্ঠানিক সার্টিফিকেশন পণ্য নয় এবং কোনো অ্যাপ্লিকেশন নিরাপদ—এর প্রমাণও নয়। এটি টেস্ট, কোড রিভিউ ও অন্যান্য নিরাপত্তা টুলের পাশাপাশি ব্যবহার করুন।
প্রধান বৈশিষ্ট্য
নিরাপত্তা ও গুণমান পরিদর্শন
প্রকল্পটিতে বিভিন্ন ক্ষেত্রজুড়ে ৯০টি নিয়ম রয়েছে:
- রেফারেন্স নিয়ম: উল্লেখিত কোরিয়ান Ministry of the Interior and Safety-এর সফটওয়্যার ডেভেলপমেন্ট সিকিউরিটি গাইডের বাস্তবায়ন-পর্যায়ের ৪৯টি আইটেমের পূর্ণ কভারেজ, যার মধ্যে রয়েছে ইনজেকশন, XSS, SSRF, XXE, দুর্বল ক্রিপ্টোগ্রাফি, সার্টিফিকেট যাচাই বন্ধ করা, অনিরাপদ ডিসিরিয়ালাইজেশন, ত্রুটি হ্যান্ডলিং এবং মেমরি সেফটি।
- AI কোড সংশোধন: হার্ডকোড করা কনফিগারেশন, গোপন তথ্যের ফ্যালব্যাক মান, ফ্রন্টএন্ডে গোপন তথ্য প্রকাশ, অনিরাপদ CORS, অনুপস্থিত অ্যাক্সেস নিয়ম, বিপজ্জনক Docker বা CI সেটিংস, ডিপেন্ডেন্সির টাইপো, পিন না করা ডিপেন্ডেন্সি, সংবেদনশীল লগিং, IDOR এবং কুকি অ্যাট্রিবিউট।
- আর্কিটেকচার পরীক্ষা: অতিরিক্ত বড় ফাংশন ও ফাইল, অনুপযুক্ত লেয়ার ডিপেন্ডেন্সি, রিকোয়েস্ট হ্যান্ডলার থেকে সরাসরি ডেটাবেস অ্যাক্সেস, সার্কুলার ডিপেন্ডেন্সি, ডুপ্লিকেট ফাংশন, পুনরাবৃত্ত স্ট্রিং কনস্ট্যান্ট এবং অনুপস্থিত টেস্ট।
- টাইপ-সেফটি পরীক্ষা: TypeScript-এর
anyও@ts-ignore, Python-এরtype: ignoreও কাস্ট, Java-এর raw type, C#-এরdynamicএবং অন্যান্য সমর্থিত ভাষায় টাইপ সিস্টেম এড়িয়ে যাওয়ার পদ্ধতি।
সহজবোধ্য ফলাফল ও মেরামতের নির্দেশনা
প্রতিটি ফলাফলে সমস্যাটির ব্যাখ্যা, এটি কেন বিপজ্জনক এবং কীভাবে সংশোধন করা যায়—এসব অন্তর্ভুক্ত থাকে। কোনো নিয়ম প্রকাশিত গাইডের কোনো আইটেমের সঙ্গে সম্পর্কিত হলে, প্রতিবেদনে সেই আইটেম নম্বর ও তার CWE ম্যাপিং দেওয়া হয়। প্রকল্প-নির্দিষ্ট গুণমানের নিয়মগুলোকে বাহ্যিক প্রয়োজনীয়তা হিসেবে না দেখিয়ে স্পষ্টভাবে Iron Laws-এর নিয়ম হিসেবে চিহ্নিত করা হয়।
AI-উপযোগী ফিক্স প্রম্পট
fix-prompt কমান্ড ফলাফলগুলোকে গুরুত্ব অনুযায়ী সাজিয়ে AI কোডিং টুলের জন্য নির্দেশনায় রূপান্তর করে। প্রম্পটটি ত্রুটি গোপন না করা, সোর্স কোডে গোপন তথ্য না রাখা, টাইপ চেকিং এড়িয়ে না যাওয়া এবং ডুপ্লিকেট বাস্তবায়ন না করার মতো নীতিগুলোও জোরদার করে।
লোকাল পার্সিং
প্রয়োজনীয় পার্সারগুলো প্যাকেজের মধ্যেই অন্তর্ভুক্ত, তাই ইনস্টলেশনের পর নেটওয়ার্ক অ্যাক্সেস ছাড়াই পরিদর্শন চালানো যায়।
ভাষা ও ফাইল সমর্থন
ভাষা ও ফাইলের ধরন অনুযায়ী সমর্থনের গভীরতা ভিন্ন:
- গভীর সমর্থন: Python, JavaScript, TypeScript, Java ও C#-এর জন্য সিনট্যাক্স বিশ্লেষণ, ইনপুট ট্র্যাকিং এবং সবচেয়ে বিস্তৃত নিয়ম কভারেজ রয়েছে।
- মৌলিক সমর্থন: Go ও PHP-এর জন্য সিনট্যাক্স বিশ্লেষণ এবং গুরুত্বপূর্ণ ইনজেকশন, ত্রুটি হ্যান্ডলিং ও ক্রিপ্টোগ্রাফি পরীক্ষা রয়েছে।
- সীমিত সমর্থন: Rust ও C/C++-এর জন্য ত্রুটি হ্যান্ডলিং, মেমরি ব্যবহার, ফরম্যাট স্ট্রিং, API এবং টাইপ এড়িয়ে যাওয়া সম্পর্কিত পরীক্ষা রয়েছে।
- কনফিগারেশন ও সংজ্ঞা ফাইল: SQL, YAML, JSON,
.env, Dockerfile, Compose, GitHub Actions, MyBatis XML এবং HTML টেমপ্লেটে সংশ্লিষ্ট গোপন তথ্য, অ্যাক্সেস কন্ট্রোল, ডিপ্লয়মেন্ট ও এসকেপিং-সংক্রান্ত সমস্যা পরীক্ষা করা হয়।
ফাংশনের ভেতরে Iron Laws ব্রাঞ্চ, লুপ ও এক্সেপশনের মধ্য দিয়ে প্রবাহ বিশ্লেষণ করে। এটি একই ফাইলের হেল্পার কল সর্বোচ্চ চার স্তর পর্যন্ত অনুসরণ করে। Python-এ ইমপোর্টের মাধ্যমে পরীক্ষামূলক ক্রস-ফাইল ট্র্যাকিংও রয়েছে, তবে তা বিশ্লেষণের সীমার অধীন। অন্যান্য ভাষায় ক্রস-ফাইল প্রবাহ বাদ পড়তে পারে বা পর্যালোচনার প্রয়োজন হিসেবে রিপোর্ট হতে পারে।
ইনস্টলেশন
Iron Laws-এর জন্য Python 3.12 বা পরবর্তী সংস্করণ প্রয়োজন। uv ব্যবহার করে একটি স্বতন্ত্র টুল হিসেবে ইনস্টল করাই সুপারিশকৃত পদ্ধতি:
uv tool install git+https://github.com/JinHo-von-Choi/iron-laws.git
বিকল্পভাবে pip দিয়েও ইনস্টল করতে পারেন:
pip install git+https://github.com/JinHo-von-Choi/iron-laws.git
ইনস্টলেশনের পর বান্ডেল করা নিয়মগুলোর তালিকা দেখিয়ে কমান্ডটি উপলভ্য কি না নিশ্চিত করুন:
iron-laws rules
ভাষা ও নিয়ম অনুযায়ী বাস্তবায়ন এবং যাচাইয়ের অবস্থা দেখতে চালান:
iron-laws support
এই পার্থক্যটি গুরুত্বপূর্ণ, কারণ কোনো পার্সার থাকা মানেই ওই ভাষার প্রতিটি নিয়ম যাচাই করা হয়েছে—এমন নয়।
প্রথম পরিদর্শন চালান
বর্তমান প্রকল্প স্ক্যান করুন
প্রকল্প ডিরেক্টরিতে একটি টার্মিনাল খুলে চালান:
iron-laws check .
ডিফল্টভাবে, HIGH বা তার বেশি গুরুত্বের কোনো ফলাফল পাওয়া গেলে কমান্ডটি ব্যর্থ হয়। এক্সিট কোডগুলো হলো:
- 0: নির্বাচিত গুরুত্ব নীতির অধীনে পরিদর্শন সফল হয়েছে।
- 1: অন্তত একটি ফলাফল কনফিগার করা ব্যর্থতার গুরুত্বে পৌঁছেছে বা তা অতিক্রম করেছে।
- 2: ইনপুট বা কনফিগারেশন অবৈধ ছিল, কোনো ফাইল পরিদর্শন করা যায়নি, অথবা নিয়মের ত্রুটি বা ফাইল পড়তে ব্যর্থতার মতো সমস্যার কারণে পরিদর্শন শেষ করা যায়নি।
অসম্পূর্ণ পরিদর্শনের ক্ষেত্রে নিশ্চিত গ্রেড বা পাস ফলাফল দেওয়া হয় না। এর কারণগুলো diagnostics-এর অধীনে রেকর্ড করা হয়। --allow-empty স্পষ্টভাবে সরবরাহ না করা হলে খালি টার্গেটকেও সফল স্ক্যান হিসেবে গণ্য করা হয় না।
একটি পৃথক নিয়ম বুঝুন
কোনো নিয়মের সহজ ভাষায় ব্যাখ্যা প্রয়োজন হলে explain ব্যবহার করুন:
iron-laws explain IL-501
রেফারেন্স করা ৪৯টি ইমপ্লিমেন্টেশন আইটেমের কোনগুলো কভার হয়েছে, তাও পরীক্ষা করতে পারেন:
iron-laws coverage
রিপোর্ট তৈরি করুন
রেফারেন্স করা ৪৯টি আইটেমের পরিদর্শন-স্থিতি সম্বলিত একটি Markdown রিপোর্ট তৈরি করতে চালান:
iron-laws audit . --format markdown -o report.md
GitHub Code Scanning বা অন্য কোনো সামঞ্জস্যপূর্ণ সিস্টেমের জন্য SARIF ফাইল তৈরি করতে ব্যবহার করুন:
iron-laws audit . --format sarif -o iron-laws.sarif
AI কোডিং সহকারীর জন্য নির্দেশনা তৈরি করুন
ফলাফল পর্যালোচনা করার পর একটি AI-প্রস্তুত মেরামত-প্রম্পট তৈরি করুন:
iron-laws fix-prompt .
তৈরি করা নির্দেশনাগুলো আপনার কোডিং সহকারীতে পেস্ট করুন, প্রস্তাবিত পরিবর্তন পর্যালোচনা করুন, তারপর আবার পরিদর্শন চালান:
iron-laws check .
ফলাফল থাকলেও fix-prompt কমান্ড এক্সিট কোড 0 ফেরত দেয়, কারণ এর উদ্দেশ্য নির্দেশনা তৈরি করা। এটিকে ডিপ্লয়মেন্ট গেট হিসেবে ব্যবহার করবেন না। এনফোর্সমেন্টের জন্য check বা audit ব্যবহার করুন।
চিহ্নিত গোপন মানগুলো রিপোর্ট ও তৈরি করা প্রম্পটে **** হিসেবে আড়াল করা হয়। তবে অচিহ্নিত গোপন তথ্য স্বয়ংক্রিয়ভাবে আড়াল করা যায় না, তাই তৈরি করা লেখা কোনো বাহ্যিক AI সেবায় পাঠানোর আগে পর্যালোচনা করুন।
প্রকল্পের নীতিমালা কনফিগার করুন
প্রাথমিক কনফিগারেশন ফাইল তৈরি করতে চালান:
iron-laws init
প্রকল্পটি .iron-laws.yml ব্যবহার করে। একটি সাধারণ কনফিগারেশন হলো:
fail_on: HIGH
excludes: [".git", "node_modules", "dist"]
disabled_rules: ["ARC-206"]
limits:
max_function_lines: 80
max_file_lines: 600
max_parameters: 7
max_nesting: 5
duplicate_similarity: 0.9
fail_on সেটিং CRITICAL, HIGH, MEDIUM বা LOW গ্রহণ করে। কার্যকর অগ্রাধিকারের ক্রম হলো --fail-on কমান্ড-লাইন অপশন, তারপর কনফিগারেশন ফাইল, এবং শেষে HIGH-এর ডিফল্ট মান। সক্রিয় সীমা কোন উৎস থেকে এসেছে, তা রিপোর্টে রেকর্ড করা হয়।
ডিফল্টভাবে Iron Laws পরিদর্শন করা ডিরেক্টরির কনফিগারেশন ব্যবহার করে। নির্দিষ্ট কোনো ফাইল বেছে নিতে --config, অথবা প্যারেন্ট ডিরেক্টরিগুলোতে খুঁজতে --search-parents ব্যবহার করুন। অজানা কী ও অবৈধ সেটিং নীরবে উপেক্ষা করা হয় না; এগুলো এক্সিট কোড 2 তৈরি করে।
ইচ্ছাকৃত ব্যতিক্রম সামলান
ফলস পজিটিভ বা ইচ্ছাকৃত ব্যতিক্রম কেবল কারণসহ suppression যুক্ত থাকলেই দমন করা যায়। কারণ ছাড়া কোনো কমেন্ট উপেক্ষা করা হয়।
Python-এ একটি ফলাফল দমন করতে:
except ImportError: # iron-laws: ignore[IL-301] Optional dependency disables this feature
yaml = None
একটি সম্পূর্ণ ফাইলের জন্য কোনো নিয়ম দমন করতে প্রথম ৩০ লাইনের মধ্যে একটি ignore-file নির্দেশনা রাখুন:
# iron-laws: ignore-file[IL-102] Pattern definitions intentionally identify weak algorithms
Suppression-এ মেয়াদ শেষ হওয়ার তারিখ যুক্ত করা যায়:
# iron-laws: ignore[IL-101] until=2026-12-31 Temporary exception with documented reason
মেয়াদোত্তীর্ণ suppression কার্যকর হওয়া বন্ধ করে এবং রিপোর্টে দেখা যায়। Iron Laws অব্যবহৃত suppression এবং অজানা নিয়ম ID-এর রেফারেন্সও রিপোর্ট করে।
বিদ্যমান প্রকল্পে Iron Laws গ্রহণ করুন
একটি বেসলাইন তৈরি করুন
বিদ্যমান রিপোজিটরিতে ইতিমধ্যে গৃহীত ফলাফল থাকলে সেগুলো অনুমোদিত কারিগরি ঋণ হিসেবে রেকর্ড করুন:
iron-laws baseline create .
এরপর সংরক্ষিত বেসলাইনের বিপরীতে কেবল নতুন যুক্ত হওয়া ফলাফলগুলো মূল্যায়ন করুন:
iron-laws check . --baseline .iron-laws-baseline.json
পরিবর্তিত ফাইল পরীক্ষা করুন
পরিবর্তিত ফাইলগুলোকেন্দ্রিক pull-request মতামতের জন্য main branch-এর সঙ্গে তুলনা করুন:
iron-laws check . --changed-since origin/main
README পরিবর্তিত-ফাইল পরিদর্শনের সঙ্গে পূর্ণাঙ্গ ও পর্যায়ক্রমিক স্ক্যান চালানোর পরামর্শ দেয়, যাতে পুরো রিপোজিটরির সমস্যা নজর এড়িয়ে না যায়।
পর্যালোচনার মতামত রেকর্ড করুন
পর্যালোচনা প্রয়োজন হিসেবে চিহ্নিত ফলাফল শ্রেণিবদ্ধ করা এবং সেগুলোর পর্যালোচনা-সময় নির্ধারণ করা যায়:
iron-laws feedback add IL-501 src/a.py:3 --verdict false-positive --minutes 10
AI-তৈরি প্যাচ যাচাই করুন
AI কোড পরিবর্তন করার পর কী যাচাই করা হয়েছে এবং কী হয়নি, তার প্রমাণ সংরক্ষণের জন্য Iron Laws-এ একটি উন্নত কর্মপ্রবাহ রয়েছে।
একটি প্রমাণ-চুক্তি পরীক্ষা করুন
একটি প্রমাণ-চুক্তি সম্পন্ন স্ক্যান এবং প্রকৃতপক্ষে প্রয়োজনীয় প্রমাণ তৈরি করা স্ক্যানের মধ্যে পার্থক্য করে:
iron-laws check . --contract .iron-laws-contract.yml
অমীমাংসিত ইনপুট উৎসগুলোকে স্বয়ংক্রিয়ভাবে পরিষ্কার ফলাফলে রূপান্তর করা হয় না। বর্তমান প্রমাণ-চুক্তি কভারেজের মধ্যে Python কমান্ড এক্সিকিউশন, পাথ অ্যাক্সেস এবং SQL নির্মাণ-সংক্রান্ত পরিবার রয়েছে।
একটি প্যাচ যাচাইকরণ রসিদ তৈরি করুন
প্রস্তাবিত প্যাচ পরীক্ষা করে একটি যাচাইকরণ রসিদ সংরক্ষণ করতে, এ ধরনের কমান্ড চালান:
iron-laws verify-patch . --patch fix.diff \
--finding IL-504@app.py:6 \
--runner docker \
--image IMAGE_NAME \
-o receipt.json
যাচাইকারী একই নীতি ব্যবহার করে মূল সংস্করণ ও প্রার্থী সংস্করণের তুলনা করে। মুছে ফেলা টেস্ট, অতিরিক্ত skip, নতুন ignore কমেন্ট বা দুর্বল করা নীতির মতো সন্দেহজনক পরিবর্তন আলাদাভাবে রিপোর্ট করা হয়। কোনো সতর্কতা অদৃশ্য হয়ে যাওয়াই বৈধ সমাধানের প্রমাণ হিসেবে বিবেচিত হয় না।
পরীক্ষাগুলো কেবল শংসাপত্রবিহীন, একবার ব্যবহারযোগ্য বিচ্ছিন্ন পরিবেশে চালানো হয়। বিচ্ছিন্নতা নিশ্চিত করা না গেলে Iron Laws হোস্টে নীরবে পরীক্ষাগুলো চালায় না; ফলাফল অনির্ধারিত রেখে দেয়।
পার্থক্য নির্ণয়কারী রিগ্রেশন পরীক্ষা প্রস্তাব করুন
কোনো finding-এর জন্য একটি সম্ভাব্য রিগ্রেশন-পরীক্ষার স্পেসিফিকেশন তৈরি করতে পারেন:
iron-laws regression propose . --finding IL-504@app.py -o spec.yml
প্রত্যাশিত যাচাইকরণ পদ্ধতিতে পরীক্ষা করা হয় যে ত্রুটির কারণে মূল সংস্করণটি ব্যর্থ হয়, প্রস্তাবিত সংস্করণটি পাস করে এবং সংশোধনটি ফিরিয়ে দেওয়া মিউট্যান্ট আবার ব্যর্থ হয়। README-তে এই ধারাটি তিনবার পুনরাবৃত্তি করার কথা বলা হয়েছে। তৈরি করা পরীক্ষাটি নিশ্চিত না করা পর্যন্ত কেবল একটি প্রস্তাব হিসেবে থাকে।
মানব অনুমোদন নথিভুক্ত করুন
কারণসহ একটি অনুমোদন সংরক্ষণ করুন:
iron-laws approvals add . \
--finding IL-504@app.py \
--reason "Documented review reason" \
--store approvals.jsonl
স্ক্যানের সময় বৈধ অনুমোদন প্রয়োগ করুন:
iron-laws check . --approvals approvals.jsonl
অনুমোদনের অনুমানগুলো কার্যকর থাকা পর্যন্তই সেগুলো বৈধ থাকে। কলার, ডেটা প্রবাহ, স্যানিটাইজার, অ্যাক্সেসের পরিধি বা নিয়মের অর্থে পরিবর্তন হলে পুনরায় পর্যালোচনার প্রয়োজন হতে পারে। একই দুর্বল কোডের অনুলিপি বিদ্যমান অনুমোদন উত্তরাধিকারসূত্রে পায় না।
GitHub Actions-এর সঙ্গে একীভূত করুন
নিচের ওয়ার্কফ্লোটি Iron Laws ইনস্টল করে, একটি SARIF রিপোর্ট আপলোড করে এবং এরপর উচ্চ-তীব্রতার ডিপ্লয়মেন্ট গেট প্রয়োগ করে:
name: Iron Laws
on: [push, pull_request]
jobs:
audit:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv tool install git+https://github.com/JinHo-von-Choi/iron-laws.git
- run: iron-laws audit . --format sarif -o iron-laws.sarif || true
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: iron-laws.sarif
- run: iron-laws check . --fail-on HIGH
ফলাফল থাকলেও যাতে SARIF ফাইল আপলোড করা যায়, সে জন্য রিপোর্ট তৈরির ধাপে || true ব্যবহার করা হয়েছে। প্রকৃত পাস-অথবা-ব্যর্থতার গেট প্রদান করে শেষের check কমান্ডটি।
ব্যবহারিক সীমাবদ্ধতা
- পরিষ্কার ফলাফলের অর্থ হলো বাস্তবায়িত নিয়ম এবং সমর্থিত বিশ্লেষণ-পরিধির মধ্যে কোনো সমস্যা পাওয়া যায়নি। এর অর্থ এই নয় যে অ্যাপ্লিকেশনটি দুর্বলতামুক্ত।
- Python-এর জন্য ক্রস-ফাইল ইনপুট ট্র্যাকিং পরীক্ষামূলক এবং অন্যান্য ভাষার ক্ষেত্রে সীমিত। কিছু প্রবাহ বাদ পড়তে পারে বা ম্যানুয়াল পর্যালোচনার প্রয়োজন হিসেবে রিপোর্ট হতে পারে।
- স্যানিটাইজার কেবল যে প্রসঙ্গটি সুরক্ষিত করে, সেই প্রসঙ্গেই শনাক্ত করা হয়, যেমন HTML, SQL, শেল কমান্ড বা পাথ।
- README অনুযায়ী প্যাচ যাচাইকরণ, রিগ্রেশন পরীক্ষা এবং অনুমোদন ট্র্যাকিং এখনো স্বাধীন মূল্যায়ন বা বাস্তব জগতে পাইলট পরীক্ষার মধ্য দিয়ে যায়নি।
- প্রকল্পে উদ্ধৃত OWASP Benchmark-এর ফলাফল কয়েকটি বিভাগে উন্নতি দেখায়, তবে নিরাপদে স্যানিটাইজ করা SQL এবং কমান্ড-ইনজেকশন কেসসহ false positive এখনো রয়েছে।
- প্যাকেজ রিপোজিটরির সঙ্গে পরামর্শ না করলে টুলটি প্রতিটি জাল নির্ভরতা নির্ভরযোগ্যভাবে শনাক্ত করতে পারে না। এর পরিবর্তে এটি জনপ্রিয় প্যাকেজের মতো দেখতে নামগুলো রিপোর্ট করে।
- সংকুচিত এবং তৈরি করা ফাইল বাদ দেওয়া হয়; কারণগুলো
skipped_files-এর অধীনে নথিভুক্ত থাকে।
আরও বিস্তারিত জানতে প্যাচ যাচাইকরণ, নির্ভুলতার পরিমাপ, ভাষা ও নিয়মের সমর্থন এবং রিপোর্টের ফরম্যাট বিষয়ে রিপোজিটরির ডকুমেন্টেশন দেখুন।
উপসংহার
গোপন নিরাপত্তা ও রক্ষণাবেক্ষণ-সংক্রান্ত সমস্যা প্রোডাকশন ঘটনায় পরিণত হওয়ার আগে AI-উৎপাদিত সফটওয়্যার পর্যালোচনা করার জন্য Iron Laws একটি কাঠামোবদ্ধ পদ্ধতি প্রদান করে। iron-laws check . দিয়ে শুরু করুন, ব্যাখ্যাগুলো পর্যালোচনা করুন, মেরামতের প্রম্পট তৈরি করুন, AI-এর পরিবর্তনগুলো পর্যালোচনা করুন এবং আবার স্ক্যান করুন। প্রকল্পটি পরিণত হওয়ার সঙ্গে সঙ্গে প্রক্রিয়াটিকে পুনরাবৃত্তিযোগ্য ও অডিটযোগ্য করতে কনফিগারেশন, বেসলাইন, SARIF রিপোর্টিং, প্যাচ রসিদ এবং মানব অনুমোদন যোগ করুন।
প্রকল্পটি MIT লাইসেন্সের অধীনে উপলব্ধ। এর ফলাফল পরীক্ষা, ম্যানুয়াল কোড পর্যালোচনা এবং বিস্তৃত নিরাপত্তা মূল্যায়নের সহায়ক হওয়া উচিত, বিকল্প নয়।
