Dependency Confusion
ডিপেন্ডেন্সি কনফিউশন
একই নামে internal private package আর একটা attacker-প্রকাশিত public package থাকলে, naive 'সর্বোচ্চ version জেতে' resolver ভুলবশত public/malicious প্যাকেজ বেছে নেয়।
also: namespace confusion attack, dependency namespace confusion
private registry: acme-billing-core@1.4.0 (legit, internal)
public registry: acme-billing-core@9.9.9 (attacker-published)
naive resolver -> merge candidates, highest version wins -> picks 9.9.9 (WRONG SOURCE)
- ২০২১-এ Alex Birsan-এর গবেষণায় প্রথম ব্যাপকভাবে প্রমাণিত — Apple, Microsoft-সহ ৩৫+ কোম্পানি প্রভাবিত
- কোনো credential-চুরি বা social engineering লাগে না — শুধু internal package-নাম জানা যথেষ্ট
- ঠিক: scoped/namespaced package (
@acme/...) নির্দিষ্ট registry-র সাথে বাঁধা, বা explicit “known-internal নামের জন্য public fallback নিষিদ্ধ” নীতি