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

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

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

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

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

Категории

Все категории
Loading categories
gvisor — Изолирует контейнеры через прикладное ядро в пользовательском пространстве, которое перехватывает системные вызовы, ограничивает доступ к ядру хоста и интегрируется с Docker/Kubernetes через OCI runtime. | Kitploit
Инструменты/GitHubGitHub/google/gvisor
Безопасность облачной инфраструктурыОборонительные ИнструментыБезопасность контейнеровДинамический анализ (песочница)Виртуализация для безопасностиБезопасность облачных средПобег из КонтейнераТоп в Побег из Контейнера №11Топ в Безопасность контейнеров №16
19.5k2.0k719 ч 10 мин назадПроверено Kitploit
Топ в Динамический анализ (песочница) №10
Топ в Виртуализация для безопасности №13
GitHubgoogle/gvisor

gvisor

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

РепозиторийСайт

Популярное

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

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

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

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

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

gVisor

Build status Issue reviver CodeQL 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 или выше

Сборка

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

make release-tarball DESTINATION=bin/
sudo tar -C /usr/local/bin -xf bin/gvisor.tar.bz2

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

make build TARGETS="//pkg/tcpip:tcpip"

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

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

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

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

bazel build -c opt //debian:gvisor-release-tar-bz2

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

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

make unit-tests
make tests

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

# Makefile
make test TARGETS="//runsc:version_test"
# Bazel
bazel test //runsc:version_test

Mac OS

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

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:

go get gvisor.dev/gvisor/pkg/tcpip/transport/tcp@go

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

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

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

См. ADOPTERS.md для списка известных пользователей и внедренцев в продакшене.

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

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

См. SECURITY.md.

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

См. Contributing.md.

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