Foundationপ্রথম নীতি থেকে
LEVEL 10 · Computer Security

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 নিষিদ্ধ” নীতি