Fail Kunci Bun dan Keselamatan Rantai Bekalan Anda

Fail kunci binari adalah cukai keselamatan—anda akan membayarnya kemudian, bersama faedah.

Bun dahulunya menyimpan kebergantungan dalam fail binari yang dipanggil bun.lockb. Ia pantas dan kecil, tetapi anda tidak dapat membacanya. Anda tidak boleh melakukan diff dalam pull request, dan anda tidak dapat melihat apa yang telah berubah.

Apabila anda tidak dapat menyemak perubahan kebergantungan, anda tidak mempunyai polisi—hanya sekadar gerak hati.

Bun v1.2 menukar tetapan lalai kepada bun.lock berasaskan teks. Itu sahaja sudah merupakan satu kemenangan besar dari segi keselamatan.

Mengapa fail kunci berasaskan teks itu penting

  • diff yang bermakna – penyemak dapat melihat dengan tepat pakej mana yang berpindah atau berubah.
  • Semakan polisi yang mudah – CI boleh mengimbas corak yang dilarang atau daftar (registry) yang tidak dipercayai.
  • Forensik yang lebih pantasgit log menunjukkan komit tepat yang memperkenalkan pakej berniat jahat.

Fail kunci menjamin integriti dan kebolehulangan, tetapi ia bukanlah penyelesaian ajaib. Ia tidak akan menghalang versi berniat jahat yang diterbitkan secara sah, mahupun penyelenggara yang telah diceroboh.

Apa yang ditambah oleh fail kunci teks ialah keterlihatan. Keterlihatan adalah barisan pertahanan pertama anda.

Cara mengamankan aliran kerja Bun anda

  • Jalankan bun install --frozen-lockfile dalam CI. Proses binaan akan gagal jika fail kunci memerlukan kemas kini.
  • Jalankan bun install --lockfile-only dalam CI. Anda mengesahkan resolusi tanpa menjalankan skrip pemasangan yang berat.
  • Migrasikan mana-mana fail bun.lockb kepada bun.lock dengan segera.
  • Wajibkan semakan manusia untuk perubahan fail kunci. Tambahkan pemilik yang sesuai ke dalam CODEOWNERS supaya pihak yang tepat dapat melihat setiap kemas kini kebergantungan.

Berhenti mempercayai alatan secara membuta tuli. Sebaliknya, sahkan setiap perubahan.

Sumber: https://dev.to/kunal_d6a8fea2309e1571ee7/bun-lockfile-bunlockb-format-threat-model-ci-checks-2026-4i3b