Bun Lock Dosyaları ve Tedarik Zinciri Güvenliğiniz

İkili (binary) lock dosyaları bir güvenlik vergisidir; bedelini daha sonra faiziyle ödersiniz.

Bun, bağımlılıkları eskiden bun.lockb adlı ikili bir dosyada saklıyordu. Hızlı ve küçüktü ancak okuyamıyordunuz. Bir pull request içinde farkları (diff) göremezdiniz ve neyin değiştiğini anlayamazdınız.

Bir bağımlılık değişikliğini inceleyemediğinizde, bir politikanız değil, sadece bir sezginiz vardır.

Bun v1.2, varsayılan formatı metin tabanlı bun.lock formatına geçiriyor. Bu tek başına bile büyük bir güvenlik kazanımıdır.

Metin tabanlı lock dosyaları neden önemlidir

  • Anlamlı farklar (diffs) – inceleyenler hangi paketlerin taşındığını veya değiştiğini tam olarak görür.
  • Kolay politika kontrolleri – CI, yasaklı desenleri veya güvenilmeyen kayıt defterlerini (registries) tarayabilir.
  • Daha hızlı adli inceleme (forensics)git log, kötü amaçlı bir paketi getiren tam commit'i gösterir.

Bir lock dosyası bütünlüğü ve yeniden üretilebilirliği garanti eder ancak sihirli bir değnek değildir. Meşru bir şekilde yayınlanmış kötü amaçlı bir sürümü veya ele geçirilmiş bir bakımcıyı durduramaz.

Metin tabanlı lock dosyasının kattığı şey görünürlüktür. Görünürlük, savunmanızın ilk hattıdır.

Bun iş akışınızı nasıl güvenli hale getirirsiniz

  • CI'da bun install --frozen-lockfile komutunu çalıştırın. Lock dosyası güncellenmesi gerekiyorsa derleme (build) başarısız olur.
  • CI'da bun install --lockfile-only komutunu çalıştırın. Ağır kurulum betiklerini çalıştırmadan çözümlemeyi (resolution) doğrulayabilirsiniz.
  • Tüm bun.lockb dosyalarını derhal bun.lock formatına taşıyın.
  • Lock dosyası değişiklikleri için insan incelemesi şartı koşun. Doğru kişilerin her bağımlılık güncellemesini görmesi için uygun sahipleri CODEOWNERS dosyasına ekleyin.

Araca körü körüne güvenmeyi bırakın. Bunun yerine her değişikliği doğrulayın.

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