Lock-файлы Bun и безопасность вашей цепочки поставок

Бинарные lock-файлы — это налог на безопасность, который вы оплатите позже, причем с процентами.

Раньше Bun хранил зависимости в бинарном файле под названием bun.lockb. Он был быстрым и компактным, но его нельзя было прочитать. Вы не могли сделать diff в pull request и не видели, что именно изменилось.

Когда вы не можете проверить изменение зависимости, у вас нет политики — только интуиция.

Bun v1.2 меняет формат по умолчанию на текстовый bun.lock. Одно это уже является огромным преимуществом для безопасности.

Почему текстовые lock-файлы важны

  • Понятные diff'ы — рецензенты точно видят, какие пакеты переместились или изменились.
  • Простота проверки политик — CI может сканировать файлы на наличие запрещенных паттернов или недоверенных реестров.
  • Более быстрое расследованиеgit log показывает конкретный коммит, который привел к появлению вредоносного пакета.

Lock-файл гарантирует целостность и воспроизводимость, но он не является панацеей. Он не остановит вредоносную версию, которая была опубликована легально, или скомпрометированного мейнтейнера.

Текстовый lock-файл добавляет прозрачность. Прозрачность — это ваша первая линия обороны.

Как обезопасить ваш рабочий процесс с Bun

  • Запускайте bun install --frozen-lockfile в CI. Сборка завершится ошибкой, если lock-файлу требуется обновление.
  • Запускайте bun install --lockfile-only в CI. Это позволит проверить разрешение зависимостей без выполнения тяжелых скриптов установки.
  • Немедленно переведите все файлы bun.lockb в формат bun.lock.
  • Требуйте ручной проверки изменений lock-файлов. Добавьте соответствующих владельцев в CODEOWNERS, чтобы каждое обновление зависимостей попадало на глаза нужным специалистам.

Перестаньте слепо доверять инструментам. Вместо этого проверяйте каждое изменение.

Источник: https://dev.to/kunal_d6a8fea2309e1571ee7/bun-lockfile-bunlockb-format-threat-model-ci-checks-2026-4i3b