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

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

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

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

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

Категории

Все категории
Loading categories
fence — Легковесная песочница без контейнеров для выполнения команд с ограничениями сети и файловой системы | Kitploit
Инструменты/GitHubGitHub/fencesandbox/fence
Оборонительные ИнструментыУтилиты общего назначенияБезопасность контейнеровДинамический анализ (песочница)Скриптинг и автоматизацияСетевая безопасностьDevSecOpsУтилиты и фреймворки
GitHubfencesandbox/fence

fence

Легковесная песочница без контейнеров для выполнения команд с ограничениями сети и файловой системы

89739481 месяц назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Репозиторий
Сайт
Поделиться
![Fence Banner](https://assets.kitploit.com/production/public/readmes/11239/cd4acc1035a0d62841f2a549cbc143c4dc312228c89f6b55ce68752dcdeab043.png)

<div align="center">

![GitHub Release](https://img.shields.io/github/v/release/fencesandbox/fence)
[![Build and test](https://github.com/fencesandbox/fence/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/fencesandbox/fence/actions/workflows/main.yml)
[![Docs](https://img.shields.io/badge/docs-fencesandbox.com-4c1?logo=bookstack&logoColor=white&color=mediumslateblue)](https://fencesandbox.com/docs)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/fencesandbox/fence)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

</div>

Fence оборачивает команды в изолированную среду (песочницу), которая по умолчанию блокирует сетевой доступ и ограничивает операции с файловой системой на основе настраиваемых правил. Это наиболее полезно для выполнения полудоверенного кода (установка пакетов, скрипты сборки, задачи CI, незнакомые репозитории) с контролируемыми побочными эффектами, а также может дополнять AI-агенты кодирования в качестве защиты на нескольких уровнях.

```bash
# Блокировать весь сетевой доступ (по умолчанию)
fence curl https://example.com  # → 403 Forbidden

# Разрешить определённые домены
fence -t code npm install  # → использует шаблон 'code' с разрешёнными npm/pypi и т.д.

# Блокировать опасные команды
fence -c "rm -rf /"  # → заблокировано правилами запрета команд
```

<p align="center">
    <img src="https://assets.kitploit.com/production/public/readmes/11239/fcd1fc039e748ec60455ad0f3f2cba244840824dc0d96362d18fd29500e46206.gif" alt="Fence Claude Code демо" width="800">
</p>

Fence также является менеджером разрешений для ваших CLI-агентов. **Работает с популярными агентами кодирования, такими как Claude Code, Codex, Amp, Gemini CLI, GitHub Copilot, OpenCode, Factory (Droid) CLI и многими другими** — см. [agents.md](https://github.com/fencesandbox/fence/blob/main/docs/agents.md).

## Установка

> [!NOTE]
> Fence перемещён из `github.com/Use-Tusk/fence` в `github.com/fencesandbox/fence`.
> Если вы устанавливали с помощью Homebrew из старого Tusk tap, переключитесь на новый tap:
>
> ```bash
> brew uninstall use-tusk/tap/fence
> brew untap use-tusk/tap
> brew tap fencesandbox/tap
> brew install fencesandbox/tap/fence
> ```
>
> Если вы устанавливали с помощью `go install`, переустановите из нового пути модуля:
>
> ```bash
> go install github.com/fencesandbox/fence/cmd/fence@latest
> ```

**macOS / Linux:**

```bash
curl -fsSL https://cli.fencesandbox.com/install.sh | sh
```

**Homebrew (macOS):**

```bash
brew tap fencesandbox/tap
brew install fencesandbox/tap/fence
```

**Nix (macOS, Linux, Windows (WSL)):**

```sh
nix run nixpkgs#fence -- --help
```

Эта команда запускает Fence напрямую из репозитория без установки. Если вы хотите установить его, следуйте инструкциям [из NixOS](https://nix.dev) или [nix-darwin](https://github.com/nix-darwin/nix-darwin).

<details>
<summary>Другие способы установки</summary>

**Go install:**

```bash
go install github.com/fencesandbox/fence/cmd/fence@latest
```

**Сборка из исходников:**

```bash
git clone https://github.com/fencesandbox/fence
cd fence
go build -o fence ./cmd/fence
```

</details>

**Дополнительные требования для Linux:**

- `bubblewrap` (для изоляции)
- `socat` (для сетевого моста)
- `bpftrace` (опционально, для видимости нарушений файловой системы при мониторинге с помощью `-m`)

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

### Базовое

```bash
# Запуск команды с полной блокировкой сети (по умолчанию домены не разрешены)
fence curl https://example.com

# Запуск с раскрытием командной оболочки
fence -c "echo hello && ls"

# Включение отладочного журнала
fence -d curl https://example.com

# Использование шаблона
fence -t code -- claude  # Запускает Claude Code с конфигурацией шаблона `code`

# Режим мониторинга (показывает нарушения)
fence -m npm install

# Отправка собственных журналов мониторинга/отладки Fence в файл
fence -m --fence-log-file /tmp/fence.log -- claude
tail -f /tmp/fence.log

# Просмотр цепочки наследования конфигурации и активной объединённой конфигурации
fence config show

# Показать все команды и опции
fence --help
```

> [!TIP]
> Нужно передать флаги запускаемой команде? Используйте `--` для разделения флагов Fence от флагов команды, например:
>
> ```bash
> fence -- claude --dangerously-skip-permissions
> ```

### Конфигурация

Если `--settings` не указан, Fence сначала ищет `fence.jsonc` (или `fence.json`) в текущем каталоге и родительских каталогах. Если не найден, используется резервный путь `~/.config/fence/fence.{jsonc,json}`. Оба расширения обрабатываются как JSONC (допускаются комментарии и завершающие запятые). Подробнее см. в [справочнике по конфигурации](https://github.com/fencesandbox/fence/blob/main/docs/configuration.md).

```json
{
  "$schema": "https://raw.githubusercontent.com/fencesandbox/fence/main/docs/schema/fence.schema.json",
  "extends": "code",
  "network": { "allowedDomains": ["private.company.com"] },
  "filesystem": { "allowWrite": ["."] },
  "command": { "deny": ["git push", "npm publish"] }
}
```

Для локальных переопределений в репозитории поверх обычной конфигурации Fence каждого пользователя используйте:

```json
{
  "extends": "@base",
  "filesystem": { "allowWrite": ["."] }
}
```

Используйте `fence --settings ./custom.json`, чтобы указать другую конфигурацию.

Просмотр активной конфигурации без выполнения команды:

```bash
fence config show
fence config show --settings ./custom.json
fence config show --template code
```

`fence config show` выводит цепочку конфигурации в `stderr`, а полностью разрешённую конфигурацию в виде обычного JSON в `stdout`, что позволяет передавать JSON в такие инструменты, как `jq`.

Создайте начальную конфигурацию с разумными значениями по умолчанию:

```bash
# Создаёт конфигурацию по пути по умолчанию со значениями:
# { "extends": "code" }
fence config init

# Включает массивы-заготовки в качестве редактируемых подсказок
fence config init --scaffold
```

### Импорт из Claude Code

```bash
fence import --claude --save
```

## Возможности

- **Сетевая изоляция** — весь исходящий трафик по умолчанию заблокирован; разрешайте домены через конфигурацию
- **Ограничения файловой системы** — контроль путей чтения/записи
- **Блокировка команд** — запрет опасных команд, таких как `rm -rf /`, `git push`
- **Фильтрация SSH-команд** — контроль того, какие хосты и команды разрешены через SSH
- **Встроенные шаблоны** — предварительно настроенные наборы правил для типичных рабочих процессов
- **Мониторинг нарушений** — уведомления в реальном времени о заблокированных запросах (`-m`)
- **Кроссплатформенность** — macOS (sandbox-exec) + Linux (bubblewrap)

Fence можно использовать как Go-пакет или CLI-инструмент.

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

Полная документация размещена на **[fencesandbox.com/docs](https://fencesandbox.com/docs)**.

Быстрые ссылки:

- [Быстрый старт](https://fencesandbox.com/docs/quickstart) ([исходник](https://github.com/fencesandbox/fence/blob/main/docs/quickstart.md))
- [Справочник по конфигурации](https://fencesandbox.com/docs/reference/configuration) ([исходник](https://github.com/fencesandbox/fence/blob/main/docs/configuration.md))
- [Хуки агентов](https://fencesandbox.com/docs/guides/hooks) ([исходник](https://github.com/fencesandbox/fence/blob/main/docs/hooks.md))
- [Модель безопасности](https://fencesandbox.com/docs/reference/security-model) ([исходник](https://github.com/fencesandbox/fence/blob/main/docs/security-model.md))
- [Использование библиотеки Go](https://fencesandbox.com/docs/reference/library) ([исходник](https://github.com/fencesandbox/fence/blob/main/docs/library.md))
- [Архитектура](https://fencesandbox.com/docs/reference/architecture) ([исходник](https://github.com/fencesandbox/fence/blob/main/ARCHITECTURE.md))

## Атрибуция

Вдохновлено [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) от Anthropic.
Скачать инструмент