Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gvisor — Изолирует контейнеры через прикладное ядро в пользовательском пространстве, которое перехватывает системные вызовы, ограничивает доступ к ядру хоста и интегрируется с Docker/Kubernetes через OCI runtime. | Kitploit
Инструменты/GitHubGitHub/google/gvisor
Безопасность облачной инфраструктурыОборонительные ИнструментыБезопасность контейнеровВиртуализация для безопасностиБезопасность облачных сред
GitHubgoogle/gvisor

gvisor

Изолирует контейнеры через прикладное ядро в пользовательском пространстве, которое перехватывает системные вызовы, ограничивает доступ к ядру хоста и интегрируется с Docker/Kubernetes через OCI runtime.

Репозиторий
19.1k1.9k1 день назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

gVisor

Build status Issue reviver CodeQL gVisor chat code search

Что такое gVisor?

gVisor обеспечивает надёжный уровень изоляции между работающими приложениями и операционной системой хоста. Это прикладное ядро, реализующее Linux-подобный интерфейс. В отличие от Linux, оно написано на безопасном для памяти языке (Go) и работает в пользовательском пространстве.

gVisor включает среду выполнения Open Container Initiative (OCI) под названием runsc, которая упрощает работу с существующими контейнерными инструментами. Среда выполнения runsc интегрируется с Docker и Kubernetes, что упрощает запуск изолированных контейнеров.

Чем не является gVisor?

  • gVisor — это не фильтр системных вызовов (например, seccomp-bpf) и не обёртка над примитивами изоляции Linux (например, firejail, AppArmor и т. д.).
  • gVisor также не виртуальная машина в общепринятом смысле этого термина (например, VirtualBox, QEMU).

gVisor использует особый третий подход, обеспечивая многие преимущества виртуальных машин с точки зрения безопасности, сохраняя при этом меньшее потребление ресурсов, быстрый запуск и гибкость обычных пользовательских приложений.

Почему существует gVisor?

Контейнеры — это не песочница. Хотя контейнеры произвели революцию в том, как мы разрабатываем, упаковываем и разворачиваем приложения, использовать их для запуска недоверенного или потенциально вредоносного кода без дополнительной изоляции — не лучшая идея. Использование единого общего ядра даёт преимущества в эффективности и производительности, но также означает, что побег из контейнера возможен при наличии одной уязвимости.

gVisor — это прикладное ядро для контейнеров. Оно ограничивает поверхность ядра хоста, доступную приложению, но при этом предоставляет приложению доступ ко всем ожидаемым функциям. В отличие от большинства ядер, gVisor не предполагает и не требует фиксированного набора физических ресурсов; вместо этого он использует существующую функциональность ядра хоста и работает как обычный процесс. Другими словами, gVisor реализует Linux средствами Linux.

gVisor не следует путать с технологиями и инструментами для усиления защиты контейнеров от внешних угроз, обеспечения дополнительных проверок целостности или ограничения области доступа для сервиса. Всегда следует внимательно относиться к тому, какие данные предоставляются контейнеру.

Документация

Пользовательская документация и техническая архитектура, включая краткие руководства по началу работы, доступны на gvisor.dev.

Установка из исходного кода

gVisor собирается на x86_64 и ARM64. Другие архитектуры могут стать доступны в будущем.

Для целей этих инструкций bazel и другие зависимости сборки упакованы в контейнер для сборки. Можно использовать bazel напрямую или ввести make help для получения стандартных целей.

Требования

Убедитесь, что установлены следующие зависимости:

  • Linux 5.6+
  • Docker версии 17.09.0 или новее

Сборка

Соберите release-архив (tarball), содержащий runsc, containerd-шим containerd-shim-runsc-v1 и несколько вспомогательных бинарных файлов (sidecar), которые runsc ожидает найти в каталоге gvisor-bin/ рядом с собой, затем распакуйте его в /usr/local/bin:

root@kitploit:~
make release-tarball DESTINATION=bin/
sudo tar -C /usr/local/bin -xf bin/gvisor.tar.bz2

Чтобы собрать конкретные библиотеки или бинарные файлы, можно указать цель:

root@kitploit:~
make build TARGETS="//pkg/tcpip:tcpip"

Сборка напрямую с помощью Bazel (без Docker)

Использовать Bazel напрямую не рекомендуется из-за дополнительных накладных расходов, но для начала:

  • Посмотрите на dockerfile для сборки — там приведён канонический список необходимых зависимостей.
  • Установите и используйте bazelisk. В противном случае убедитесь, что ваша версия bazel соответствует версии, указанной в файле .bazelversion.

После настройки зависимостей использование Bazel аналогично Makefile:

root@kitploit:~
bazel build -c opt //debian:gvisor-release-tar

Тестирование

Для запуска стандартных наборов тестов можно использовать:

root@kitploit:~
make unit-tests
make tests

Чтобы запустить конкретные тесты, можно указать цель:

root@kitploit:~
# Makefile
make test TARGETS="//runsc:version_test"
# Bazel
bazel test //runsc:version_test

Mac OS

Некоторые пакеты поддерживают запуск тестов непосредственно в macOS. На момент написания gVisor требует bazel 8, который можно установить через homebrew:

root@kitploit:~
brew install bazel@8

# You can then run the tests, e.g.:
$(brew --prefix bazel@8)/bin/bazel test --macos_sdk_version=$(xcrun --show-sdk-version) -- //tools/nogo/... //tools/check{aligned,const,escape,linkname,locks,unsafe}/...

Использование go get

Этот проект использует bazel для сборки и управления зависимостями. Для удобства поддерживается синтетическая ветка go, совместимая со стандартными инструментами go. Это полезно для внешних пакетов и библиотек, которые зависят от подпакетов gVisor (например, пользовательский сетевой стек через Netstack), чтобы импортировать Go-код gVisor в свои проекты на Go.

Выбирайте эту ветку явно с помощью запроса ветки go. @latest указывает на master, который требует Bazel и не совместим со стандартными инструментами Go:

root@kitploit:~
go get gvisor.dev/gvisor/pkg/tcpip/transport/tcp@go

ПРИМЕЧАНИЕ: Сборки runsc из этой ветки не поддерживаются. Для работы gVisor и runsc требуются несколько бинарных файлов (некоторые из них даже не написаны на Go). Ветка go поддерживается по мере возможностей, и прямая разработка в этой ветке не поддерживается. Разработка должна вестись в ветке master, которая затем переносится в ветку go.

Сообщество и управление

См. GOVERNANCE.md с информацией об управлении проектом.

Список рассылки gvisor-users и список рассылки gvisor-dev — хорошие отправные точки для вопросов и обсуждений.

Политика безопасности

См. SECURITY.md.

Участие в разработке

См. Contributing.md.

Скачать инструмент