নোট: এই পোস্টটি নাল/ক্র্যাকড ফাইল ব্যবহারে উৎসাহ দেওয়ার জন্য নয়। সম্ভব হলে সবসময় Developer-এর কাছ থেকে Theme, Plugin বা Script কিনে ব্যবহার করুন।
নাল বা ক্র্যাকড PHP Script, WordPress Theme কিংবা Plugin নিয়ে সবচেয়ে বড় সমস্যা হলো এর সোর্স কোডে আগে থেকেই কোনো Malware, Backdoor বা ক্ষতিকর কোড আছে কি না, তা সহজে বোঝা যায় না।
অনেক সময় ফাইলটি স্বাভাবিকভাবেই কাজ করবে, কিন্তু এর ভেতরে এমন কোড থাকতে পারে যা পরে কোনো Remote Server থেকে কন্ট্রোল করা যায়, অপ্রত্যাশিত ফাইল তৈরি করে, এডমিন একাউন্ট তৈরি করে কিংবা ওয়েবসাইটের ডাটা হ্যাকারের কাছে পাঠায়।
তাই কোনো সন্দেহজনক স্ক্রিপ্ট সরাসরি প্রোডাকশন ওয়েবসাইটে ব্যবহার না করে আগে সেটি পরীক্ষা করা গুরুত্বপূর্ণ।
১. প্রথমেই সোর্স যাচাই করুন
কোনো Theme বা Plugin কোথা থেকে পেয়েছেন, সেটি গুরুত্বপূর্ণ।
WordPress-এর অফিসিয়াল Hardening Guide-এও untrusted source থেকে Theme/Plugin না নেওয়ার পরামর্শ দেওয়া হয়েছে। WordPress.org repository বা পরিচিত Developer/Company থেকে নেওয়াই নিরাপদ পদ্ধতি।
নাল ফাইলের ক্ষেত্রে আপনি মূল Developer-এর Official Version-এর সঙ্গে File Structure এবং Code তুলনা করার সুযোগ পেলে সেটিও বেশ কার্যকর।
২. VirusTotal দিয়ে প্রাথমিক স্ক্যান
প্রথম ধাপে সন্দেহজনক ফাইল বা Project-এর Archive VirusTotal-এ পরীক্ষা করতে পারেন।
যদি একাধিক Security Engine কোনো ফাইলকে Malware বা Suspicious হিসেবে শনাক্ত করে, সেটিকে গুরুত্ব দিয়ে যাচাই করুন।
তবে এখানে একটি বিষয় মনে রাখা অত্যন্ত জরুরি:
VirusTotal-এ 0 detection পাওয়া মানেই ফাইল ১০০% নিরাপদ নয়।
VirusTotal বিভিন্ন এন্টিভাইরাসের স্ক্যান রেজাল্ট একত্র করে। কোনো নতুন বা অজানা Malware অনেক Scanner-এর কাছে তখনও শনাক্ত নাও হতে পারে।
আবার কোনো আসল কোডও কখনো কখনো False Positive হিসেবে শনাক্ত হতে পারে।
তাই শুধু Detection Count দেখে সিদ্ধান্ত নেওয়া উচিত নয়।
৩. সন্দেহজনক কোড খুঁজুন
PHP Script বা WordPress Theme/Plugin-এর Source Code কোন কোড ইডিটরে ওপেন করে দেখুন।
বিশেষ করে অস্বাভাবিকভাবে Obfuscated Code, বিশাল এক লাইনের String অথবা এমন কোড খুঁজে দেখুন যার উদ্দেশ্য বোঝা কঠিন।
যেমন:
eval()
base64_decode()
gzinflate()
gzuncompress()
str_rot13()
assert()
এসব Function দেখা গেলেই ফাইলটি Malware—এমন সিদ্ধান্ত নেওয়া যাবে না।
বৈধ ফাইলেও কিছু Sensitive ফাংশন থাকতে পারে। আসল বিষয় হলো ফাংশনটি কীভাবে ব্যবহার করা হয়েছে এবং তার উদ্দেশ্য কী।
উদাহরণস্বরূপ:
eval($code);
এর মতো Dynamic Code Execution এবং তার সঙ্গে আননোন ইনকোডেড ডাটা থাকলে বিষয়টি গভীরভাবে পরীক্ষা করা উচিত।
একইভাবে লম্বা Base64 String পাওয়া গেলেও সেটি একাই Malware-এর প্রমাণ নয়। আগে ডিকোড করে তার ভেতরের কনটেন্ট কী, সেটি বুঝতে হবে।
৪. Obfuscated কোডগুলো যাচাই করুন
Malware লেখার সময় কোড ইচ্ছাকৃতভাবে এমনভাবে পরিবর্তন করা হতে পারে যাতে মানুষ সহজে বুঝতে না পারে।
উদাহরণ:
base64_decode()
↓
gzinflate()
↓
str_rot13()
↓
eval()
এ ধরনের একাধিক Encoding/Transformation একসঙ্গে থাকলে সতর্ক হওয়া উচিত।
তবে কোনো Obfuscated কোড পাওয়া গেলে সেটি সরাসরি Execute করবেন না।
কোড ইডিটরে দেখর সময় আলাদা কপি নিয়ে কাজ করুন এবং সম্ভব হলে এমন Environment ব্যবহার করুন যেখানে সন্দেহজনক কোড Execute হওয়ার সুযোগ নেই।
৫. WordPress-এর গুরুত্বপূর্ণ জায়গাগুলো পরীক্ষা করুন
WordPress Site হলে শুধু “functions.php” পরীক্ষা করলেই হবে না।
Theme এবং Plugin-এর পাশাপাশি নিচের জায়গাগুলোও খেয়াল করুন:
wp-content/plugins/
wp-content/themes/
wp-content/uploads/
wp-content/mu-plugins/
wp-config.php
.htaccess
বিশেষ করে “uploads” Directory-তে অপ্রত্যাশিত PHP File থাকলে সেটি তদন্ত করা দরকার। তবে কোনো File দেখেই Malware ধরে নেওয়া যাবে না—তার উদ্দেশ্য ও ব্যবহারের প্রেক্ষাপট যাচাই করতে হবে।
৬. File Structure তুলনা করুন
যদি আপনার কাছে Theme বা Plugin-এর Official Version থাকে, তাহলে সেটির সঙ্গে সন্দেহজনক Version তুলনা করুন।
যেমন:
Official Version
↓
File List + Hash
↓
Suspicious Version
↓
File List + Hash
↓
Difference
কোনো অতিরিক্ত PHP File, অস্বাভাবিক পরিবর্তন অথবা অপ্রত্যাশিত Code পাওয়া গেলে সেটি আরও পরীক্ষা করুন।
Code Review-এর সময় শুধু “কোন Function আছে” সেটি না দেখে Code-এর Behaviour বোঝার চেষ্টা করুন।
৭. AI দিয়ে Code Review করানো যেতে পারে
বর্তমানে AI Coding Assistant ব্যবহার করে বড় PHP Project-এর Code Review করা অনেক সহজ হয়েছে।
আপনি AI-কে এমনভাবে বলতে পারেন:
এই PHP Project-এর Security Code Review করো।
প্রতিটি সন্দেহজনক Code শনাক্ত করো এবং:
- File Path
- Line Number
- Code কী করছে
- কেন Suspicious
- এর সম্ভাব্য Security Impact
ব্যাখ্যা করো।
কোনো Code নিজে থেকে Delete বা Modify করবে না।
এভাবে প্রথমে AI-এর কাছ থেকে Analysis নিন।
সরাসরি “সব Malware Delete করে দাও” বলা ভালো পদ্ধতি নয়। কারণ AI কোনো আসল কোডকে ভুলভাবে Malicious মনে করে পরিবর্তন করতে পারে।
AI-এর Analysis-এর পর নিজে কোড রিভিও করুন।
৮. ওয়েবসাইএ এফেক্টেড হলে শুধু Theme/Plugin স্ক্যান যথেষ্ট নয়
ধরুন আপনি একটি সন্দেহজনক Plugin সরিয়ে ফেললেন। তবুও ওয়েবসাইট নিরাপদ হয়েছে—এমন নিশ্চয়তা নেই।
যদি Plugin আগে থেকেই Website-এ Backdoor তৈরি করে থাকে, তাহলে সেই Backdoor অন্য কোনো PHP File, Database Entry বা WordPress Account-এর মাধ্যমে থেকে যেতে পারে।
তাই Website আক্রান্ত হওয়ার সন্দেহ থাকলে:
Backup
↓
File Analysis
↓
Database Review
↓
Admin/User Review
↓
Server Log Review
↓
Credential Reset
↓
Clean Source দিয়ে Replacement
↓
Monitoring
এই ধরনের পূর্ণাঙ্গ Incident Response প্রয়োজন হতে পারে।
WordPress-এর Security documentation-এও Backup, Logging, Monitoring এবং নিরাপদ Configuration-এর গুরুত্ব উল্লেখ করা হয়েছে।
৯. Malware পাওয়া গেলে কী করবেন?
যদি নিশ্চিতভাবে Malware পাওয়া যায়, শুধু আক্রান্ত Code-এর কয়েকটি Line Delete করে ওয়েবসাইট চালু করে দেওয়া সবসময় নিরাপদ সমাধান নয়।
সম্ভব হলে একটি বিশ্বস্ত ওয়েবসাইট থেকে Theme/Plugin পুনরায় ইনস্টল করুন।
তারপর:
- WordPress Core আপডেট করুন
- সব Plugin ও Theme আপডেট করুন
- অপ্রয়োজনীয় Plugin/Theme মুছে ফেলুন
- Administrator Account পরীক্ষা করুন
- গুরুত্বপূর্ণ Password পরিবর্তন করুন
- Server এবং WordPress Logs পরীক্ষা করুন
- Backup থেকে Clean Version Restore করার কথা বিবেচনা করুন
WordPress-এর অফিসিয়াল নির্দেশনাতেও WordPress Core, Plugin এবং Theme আপডেট রাখা এবং অপ্রয়োজনীয় Plugin সরিয়ে ফেলার পরামর্শ দেওয়া হয়েছে।
নাল বা Crack করা PHP Script, Theme কিংবা Plugin-এর সবচেয়ে বড় ঝুঁকি হলো আপনি জানেন না এর Source Code-এর মধ্যে কী পরিবর্তন করা হয়েছে।
তাই কোনো Scanner-এ File Clean দেখালেই সেটিকে Production Website-এ ব্যবহার করা উচিত নয়।
সবচেয়ে নিরাপদ পদ্ধতি হলো:
Trusted Source
↓
Isolated Testing
↓
VirusTotal / Security Scan
↓
Manual Code Review
↓
Official Version Comparison
↓
Security Testing
↓
Production
আর যদি সন্দেহজনক ফাইল পাওয়া যায়, সেটিকে “কীভাবে পরিষ্কার করে ব্যবহার করব” এর চেয়ে কেন সন্দেহজনক এবং সম্পূর্ণ সোর্স কতটা trustworthy—এই প্রশ্নটিকে বেশি গুরুত্ব দিন।
কারণ Malware Detection-এর ক্ষেত্রে কোনো একটি Scanner, AI বা একটি মাত্র Command-এর ওপর 100% নির্ভর করা নিরাপদ নয়।