FlawOpen

flawopen.com/Referensi/Dependency Confusion

Dependency Confusion: cara kekeliruan sumber paket terjadi

High Severity CWE-829: Inclusion of Functionality from Untrusted Control Sphere Rantai pasok perangkat lunak
Penjelasan sederhana — Pemasok dengan nama mirip

Bayangkan tim Anda memesan komponen dari katalog pemasok, tetapi dua pemasok memakai nama produk yang sama. Jika aturan tidak menentukan pemasok tepercaya, build dapat menerima komponen yang tidak diharapkan. Dependency Confusion adalah kegagalan pemilihan sumber paket: build mengambil paket dari registry atau namespace yang tidak dimaksudkan untuk dipercaya organisasi.

Boundary: Nama paket, namespace, konfigurasi registry, dan asal lockfile
Failure: Resolver dapat memperoleh paket bernama sama dari sumber yang tidak dimaksudkan
Impact: Kode pihak ketiga yang belum ditinjau dapat masuk ke build; skrip instalasi dapat berjalan jika diaktifkan
Remediation: Kebijakan namespace-registry yang jelas, lockfile yang ditinjau, dan build dengan hak minimum

Cara Dependency Confusion terjadi

Perilaku bergantung pada package manager dan konfigurasinya. Dokumentasi pip memperingatkan bahwa menggabungkan --index-url privat dengan --extra-index-url publik dapat membuat paket publik bernama sama terpilih. npm memilih registry berdasarkan scope paket atau konfigurasi default; npm tidak selalu memilih versi yang lebih tinggi dari beberapa sumber. Akar masalahnya adalah kebijakan sumber yang ambigu. Skrip yang diizinkan berjalan dengan hak tugas build.

pip.conf dan requirements.txt (sumber ambigu)Konfigurasi berisiko
[global]
index-url = https://packages.example.internal/simple
extra-index-url = https://pypi.org/simple

corp-auth-utils
.npmrc dan package.json (perutean scope eksplisit)Contoh yang diperkuat
@corp:registry=https://packages.example.internal/repository/npm/

{
  "dependencies": {
    "@corp/billing-engine": "1.2.0"
  }
}

Jalur kegagalan Dependency Confusion

Kontrol rekayasa defensif

Jelajahi topik keamanan dan analisis insiden terkait:Direktori keamanan →

Referensi

Lihat juga Paparan Socket Docker: Risiko dan Perlindungan Injeksi Skrip GitHub Actions: Amankan Input Workflow Cosign GHSA-fx35-mq7g-6g98: bypass verifikasi bundle