# #go #security #package #dependencies #vendoring
Вопрос:
У меня есть приложение, созданное с go
1.16.4, которое использует (импортирует) archive/zip
компонент библиотеки Go std. Я взглянул на примечания к выпуску golang и увидел, что archive/zip
в golang 1.16.5 исправлена уязвимость в системе безопасности. Как мне убедиться, что мое приложение больше не уязвимо? Должен ли я обновить свою версию go
самого себя, а затем перестроиться с этой новой версией go
? Или я мог бы установить более новую версию исправленного компонента, а затем перестроить? Должны ли обновляться файлы в машине сборки $GOROOT
?
Комментарии:
1. Обновите свой инструмент Go, а затем перестройте приложение. Проще, безопаснее, проще всего.
2. Стандартная библиотека является частью Go; вы не можете указать версию или предоставить ее поставщику. Просто обновите и восстановите.
3. Если двоичный файл построен с помощью docker (хорошее решение для создания повторяющихся сборок вместо локальной среды), достаточно просто изменить версию образа на 1.16.5 и перекомпилировать.
4. Забудьте о ГОРООТЕ, он вам не понадобится (никогда).
Ответ №1:
Должен ли я обновить свою версию
go
самого себя, а затем перестроиться с этой новой версиейgo
?
ДА…
- Обновление Продолжается.
- Перестраивать.
Или я мог бы установить более новую версию исправленного компонента, а затем перестроить?
Нет, вы не можете использовать стандартную библиотеку Go.
Должны ли обновляться файлы в машине сборки
$GOROOT
?
GOROOT-это корневая папка установки Go SDK. Он обновляется при обновлении Go на компьютере (или контейнере), который вызывает go build
/ go install
.