πŸ”— HIERARKI SUPPLY CHAIN SECURITY β€” Dari npm install (Level 0) sampai SLSA L4 + Formal Provenance (Level 5)

Satu perintah pip install, npm i, atau go get β€” dan kamu mengimpor kode dari puluhan maintainer yang tidak kamu kenal. Supply chain attack adalah vektor kompromi paling efektif 2024–2026: satu backdoor di library populer bisa menjangkau 10.000+ project dalam jam. Hirarki ini memetakan evolusi proteksi dari β€œtidak ada verifikasi” sampai β€œbuild provenance terverifikasi kriptografis.” Untuk taksonomi attack surface + SLSA framework, lihat software-supply-chain-security-deepdive.

Cara Baca

Level 0 = tanpa proteksi (hanya npm install + doa). Level 5 = SLSA L4 + Sigstore + in-toto. Setiap level menambah lapisan verifikasi β€” semakin tinggi level, semakin sulit attacker menyusup, tapi semakin mahal untuk build infrastructure-nya.


Tabel Utama β€” Level 0 sampai Level 5

πŸ”— Level🧠 Approach⚑ Mekanisme☠️ Tembok Kematian🎯 Kapan Cukup
Level 0 β€” Trust by Defaultnpm install, pip install tanpa lockfile, tanpa audit. β€œSiapa pun bisa publish, siapa pun kita percaya”Tidak ada verifikasi. Satu maintainer bisa overwrite version, inject backdoor, atau unpublishSolarwinds (2020), CodeCov (2021), 3CX (2023) β€” semua attacker inject di pipeline/CI yang tidak diverifikasi. 100% exposureDevelopment lokal, prototype, personal project tanpa data
Level 1 β€” Lockfile & Integrity Checkpackage-lock.json, pip freeze > requirements.txt, go.sum, yarn.lock, Cargo.lockHash integrity setiap dependency. npm ci ketat: jika hash berbeda dari lockfile β†’ install gagal. Deteksi perubahan tidak sengajaLockfile masih bisa di-poison (jika attacker compromise registry dan update package + resign hash). Tidak proteksi dari maintainer compromiseStartup, open source project, project dengan dependencies <50
Level 2 β€” Dependency Audit & SCAnpm audit, pip audit, Snyk, Dependabot, Renovate, Trivy, Grype, osv-scannerSoftware Composition Analysis: scan known CVEs di dependency. Dependabot auto-PR update. Snyk: prioritasi berdasarkan reachability. osv-scanner: Google database CVE open-sourceHanya CVE known. Zero-day supply chain tidak terdeteksi. Proteksi dari maintainer compromise β†’ tidak di-cover β†’ harus Level 3+. False positive tinggiMid-size company, staging environment, SDLC tahap awal
Level 3 β€” SBOM + SignatureSPDX/CycloneDX SBOM, Sigstore (Cosign, Fulcio, Rekor), gitsignSBOM (Software Bill of Materials): inventaris semua komponen. Sigstore: sign container/image dengan kunci ephemeral (Fulcio CA) + bukti publik di log Rekor (transparansi). Cosign: sign container imageKunci ephemeral juga bisa expire. SBOM perlu update otomatis (masalah kebanyakan SBOM statis usang). Adopsi kontributor masih rendahRegulated industry, compliance requirement, enterprise production
Level 4 β€” SLSA L3 + Build ProvenanceSLSA L3 (build platform terverifikasi), provenance attestation, hardened build pipelineSLSA L3: build platform terverifikasi (isolasi, reproducibility, no custom steps). Provenance: klaim tentang bagaimana artifact dibangun β€” diverifikasi kriptografis. in-toto: attestation metadata sepanjang pipelineSLSA L3 butuh CI/CD maturity tinggi. Reproducible build kadang sulit (Go bagus, C++ susah). Provenance membutuhkan infrastructure dedicatedTech company mature, platform yang supply chain jadi competitive advantage
☠️ Level 5 β€” SLSA L4 + Formal ProvenanceSLSA L4 (two-person review, hermetic build, reproducible), formal provenance attestationSLSA L4: perubahan hanya melalui two-person reviewed PR. Build hermetic (tidak bergantung pada source eksternal selain yang di-attest). Provenance di-verifikasi setiap deploy. Build bit-for-bit reproducibleMahal sekali. Reproducible build untuk semua dependency (termasuk C, Rust dengan native code) hampir mustahil dalam praktik. Hanya organisasi dengan resources besarMilitary, critical infrastructure, national security software

Peta Visual β€” Proteksi vs Coverage

Proteksi ↑
L5 ─ SLSA L4 + Formal Provenance     ●──●● Security coverage
L4 ─ SLSA L3 + Build Provenance     ●──●●
L3 ─ SBOM + Signature               ●──●
L2 ─ Dependency Audit + SCA        ●──●
L1 ─ Lockfile (Integrity)          ●─
L0 ─ Trust by Default              ●
    └──────────────────────────→ Attack surface coverage
         β”‚               β”‚                 β”‚
    Dependency      Maintainer         Build
    confusion       compromise         pipeline

Level 2 (SCA) Adalah Baseline Minimum 2026

Di 2026, tidak ada alasan untuk tidak menjalankan SCA. npm audit + Dependabot gratis untuk GitHub. osv-scanner gratis untuk semua. Level 0 adalah reckless untuk project yang digunakan orang lain atau menyimpan data. Level 2 adalah minimum viable security.


Kenapa Hirarki Ini Penting

1. Supply Chain Attack Tidak Bisa Dideteksi Di Aplikasi

Backdoor di library populer akan:

  • Lolos code review (reviewer tidak audit full library β€” hanya API call yang dipakai)
  • Lolos SAST (static analysis tidak deteksi backdoor intent)
  • Lolos unit test (backdoor path tidak dipanggil di test β€” hanya di production)
  • Lolos runtime monitoring (sampai beacon call out)

Satu-satunya pencegahan adalah preventive controls di pipeline: signed artifact, provenance, SLSA.

2. Attack Surface Bukan Cuma Open Source Dependency

VectorContohLevel Mitigasi
Typosquattingrequets vs requestsL1 (lockfile)
Maintainer takeoverCompromise developer npm accountL3 (signature + SBOM)
Build pipeline CI/CDInject di GitHub Actions workflowL4 (SLSA L3)
Hardware supply chainMalicious chip di serverL5+ (beyond scope)
Registry compromisenpm/PyPI attacked directlyL3 (signature)
Dependency confusionInternal package name diambil attacker di public registryL1 (lockfile + prefix)

3. SLSA = Standar Emas Untuk Supply Chain

SLSA (Supply-chain Levels for Software Artifacts) adalah framework yang dipakai Google, GitHub, OpenSSF. Empat level:

SLSABuild RequirementProteksi Dari
L1Documentation of build processβ€” (awareness only)
L2Hosted build + signed provenanceDependency confusion
L3Hardened build (isolation, no custom steps)Build pipeline poisoning
L4Two-person review + hermetic + reproducibleMaintainer compromise

SLSA L4 + Sigstore + in-toto = gold standard. Tapi SLSA L2 + signature sudah mencegah 90% supply chain attack.


Plot Twists

Plot Twist 1: Solarwinds (2020) Adalah Bukti SLSA L4 Penting

Solarwinds: attacker inject backdoor di build pipeline (not source code). Produk Orion di-sign certificate resmi β€” signature valid, tapi binary berisi backdoor. Jika SLSA L4 di-enforce: two-person review + hermetic build β†’ inject di pipeline mustahil karena perubahan ke build system harus lewat PR reviewed. SLSA L4 bukan teori β€” dampak langsung ke real incident.

Plot Twist 2: SBOM (L3) Wajib Secara Regulasi di 2025+

US Executive Order 14028 (2021): semua software yang dijual ke government harus punya SBOM. EU Cyber Resilience Act (2024): supply chain transparency wajib. SBOM bukan opsional lagi untuk regulated industry. Indonesia? Belum β€” tapi global trend tidak terhindarkan untuk export/global product.

Plot Twist 3: Open Source Maintainer Burnout β†’ Attack Surface Naik

58% open source maintainer unpaid (2024 survey). Satu maintainer handle 10+ library. Burnout β†’ security update lambat β†’ attacker exploit window. Supply chain security harus di-support organisasi yang bergantung padanya β€” via sponsorship, contribution, atau dedicated security team. xz utils backdoor (2024) nyaris sukses karena maintainer tunggal yang kewalahan.

Plot Twist 4: Reproducible Build Susah β€” Tapi Paling Powerful

Reproducible build: source yang sama β†’ always binary yang identik (bit-for-bit). Jika build tidak reproducible, attacker bisa inject di kompilasi tanpa terdeteksi. Go, Rust bagus untuk reproducible. C/C++ (makro, DATE, PCH) sangat sulit. Tapi reproducible build adalah ultimate verification bahwa build kamu bersih.


Rekomendasi Minimum per Profile

ProfilLevel MinimumAlasan
Personal projectL1 (lockfile)Gratis, proteksi dari accidental change
Open source libraryL2 (SCA) + publish dengan signatureTanggung jawab ke konsumen library
Startup MVPL2 (SCA) + DependabotProteksi dari known CVEs
Enterprise productionL3 (SBOM + Sigstore)Compliance + incident response
Regulated / FintechL4 (SLSA L3 + provenance)Audit requirement + risk management
Critical infrastructureL5 (SLSA L4 + formal)Zero trust supply chain

Sumber & Telusur Lebih Lanjut


Hirarki supply chain security adalah biaya trust. Level 0 gratis β€” tapi membayar dengan trust buta. Level 5 mahal β€” tapi feedback-nya: β€œsetiap baris kode yang masuk ke production bisa diverifikasi asal-usulnya.” Pilih level yang sepadan dengan risiko yang bisa ditoleransi.

Supply Chain Security Hierarchy | Level 0 (npm install + Doa) β†’ Level 5 (SLSA L4 + Formal Provenance) Β· Semakin Tinggi, Semakin Terverifikasi Asal-Usul Kode