Всем привет!
Одной из причин почему атаки на цепочку поставки ПО актуальны, является неконтролируемое обновление пакетов на «новые версии».
И уже в этих «новых версиях» может быть много чего интересного. Да, пакетные индексы работают над тем, чтобы удалять такие вредоносные пакеты…
Но это случается не сразу и может занимать дни, а то и недели. В текущих реалиях, когда time-to-exploit радикально сокращается благодаря ИИ, это может быть очень критичным.
Для того, чтобы хоть как-то систематизировать и контролировать процесс обновлений, можно обратить своё внимание на проект git-pkgs proxy.
Суть крайне простая: он представляет из себя proxy, который не даёт обновиться на новую версию пакета в течение X дней.
Например, если
lodash обновилась до версии 4.18.0, то в вашей сборке всё ещё будет использоваться версия 4.17.21 в течение 3-х дней.Временной интервал можно настраивать, о чём (и не только) подробно расписано в GitHub-репозитории проекта.
Утилита работает более чем с 20-ю индексами, среди которых
npm, PyPi, Conda, Maven, Debian, Helm и не только.Да, не все они «полностью» готовы, но Автор собирается развивать проект.
А как вы работаете с проблемой отсутствия контроля обновления зависимостей?