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

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

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

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

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

Категории

Все категории
Loading categories
agentbox — Открытая песочница для ИИ-агентов — изоляция gVisor/Docker, хранилище учётных данных, неизменяемый журнал аудита. Создана после CVE-2026-25253. | Kitploit
Инструменты/GitHubGitHub/siyad01/agentbox
Безопасность облачной инфраструктурыБезопасность контейнеровИнструменты шифрования/дешифрованияВиртуализация для безопасностиDevSecOpsУправление идентификацией и доступом (IAM)
GitHubsiyad01/agentbox

agentbox

Открытая песочница для ИИ-агентов — изоляция gVisor/Docker, хранилище учётных данных, неизменяемый журнал аудита. Создана после CVE-2026-25253.

Репозиторий
184 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

🛡️ AgentBox

Открытая песочница для ИИ-агентов

Запускайте ИИ-агентов с уверенностью. Каждый агент получает собственную область разрешений, хранилище учётных данных, журнал аудита и аварийный выключатель.

Build License: Apache 2.0 Go Version Tests Platform


Зачем нужен AgentBox

27 января 2026 года CVE-2026-25253 стал первым CVE, когда-либо присвоенным агентной ИИ-системе. Критическая уязвимость перехвата WebSocket в OpenClaw позволяла выполнить удалённый код в один клик на любом открытом экземпляре — включая те, что были привязаны только к localhost.

В ту же неделю кампания ClawHavoc внедрила 341+ вредоносный навык в маркетплейс OpenClaw. Каждый навык, установленный из ClawHub, работал с теми же правами, что и сам OpenClaw — полный доступ к диску, OAuth-токены, API-ключи. Без песочницы. Без журнала аудита. Без аварийного выключателя.

«Установка навыка из ClawHub предоставляет ему доступ к тем же ресурсам, что и самому OpenClaw. По умолчанию между навыками нет изоляции песочницы.» — Анализ безопасности DEV Community, апрель 2026

Цифры:

  • 138+ CVE в OpenClaw только за 2026 год
  • 135 000+ открытых экземпляров в 82 странах
  • 341 подтверждённый вредоносный навык (12% всего реестра)
  • 1,5 миллиона API-токенов агентов в открытом виде
  • Microsoft: «Нецелесообразно запускать это на стандартной персональной или корпоративной машине.»

AgentBox — это структурное решение. Не заплатка, а среда выполнения.


Что делает AgentBox

Каждый запускаемый агент получает:

ЗащитаКак это работает
Разрешения с нулевым довериемАгенты объявляют ровно то, что им нужно. Всё остальное недоступно.
Изоляция на уровне ядраgVisor перехватывает каждый системный вызов. Инъекция промптов не может пересечь эту границу.
Хранилище учётных данныхШифрование AES-256-GCM. Агенты никогда не видят сырые секреты — только ограниченные токены.
Неизменяемый журнал аудитаХеш-цепочка SHA-256. Каждое действие логируется. Защита от подделки.
Аварийный выключательЗавершение любого агента менее чем за 100 мс. Автоубийство при нарушении лимитов.
Лимиты ресурсовВремя, память, количество запросов — применяются во время выполнения, а не в конфигурации.
root@kitploit:~
До AgentBox                        После AgentBox
─────────────────                  ──────────────
Агент → полный диск ❌             Агент → только разрешённые пути ✅
Агент → вся сеть ❌                Агент → только разрешённые хосты ✅
Агент → сырые секреты ❌           Агент → ограниченные токены ✅
Нет журнала аудита ❌              Каждое действие логируется ✅
Нет аварийного выключателя ❌      Завершение за <100 мс ✅
Навыки работают от root ❌         Песочница с изоляцией ядра ✅

Быстрый старт

root@kitploit:~
# Установка
go install github.com/siyad01/agentbox/cmd/agentbox@latest

# Проверка манифеста перед запуском
agentbox validate manifests/email-sorter.yaml

# Запуск агента в песочнице
agentbox run --manifest manifests/email-sorter.yaml python agent.py

# Просмотр действий агента
agentbox audit --log logs/email-sorter-audit.log

# Проверка, что журнал не был изменён
agentbox verify logs/email-sorter-audit.log

# Управление секретами
agentbox vault add ANTHROPIC_API_KEY
agentbox vault list

Манифест

Каждый агент объявляет ровно то, что ему нужно. Всё, что не указано, недоступно.

root@kitploit:~
name: "email-sorter"
version: "1.0.0"
description: "Читает входящие, сортирует письма по категориям, записывает в отсортированную папку"
runtime: docker        # или: gvisor (уровень ядра), firecracker (MicroVM)

permissions:
  filesystem:
    read:
      - "~/Documents/inbox"
    write:
      - "~/Documents/sorted"
    deny:                      # ВСЕГДА заблокировано — даже если есть в списке чтения
      - "~/.ssh"
      - "~/.aws"
      - "~/.config"
      - "/etc"

  network:
    allow:
      - "api.anthropic.com"
      - "gmail.googleapis.com"
    deny:
      - "*"                    # заблокировать всё остальное

  tools:
    allow:
      - "read_file"
      - "write_file"
      - "list_*"
    deny:
      - "execute_shell"        # никакого доступа к оболочке, никогда
      - "*_delete"             # никаких инструментов удаления

  credentials:
    - ANTHROPIC_API_KEY        # внедряется из хранилища во время выполнения
    - GMAIL_TOKEN              # агент никогда не видит сырое значение

limits:
  max_tokens:    50000         # бюджет токенов LLM
  max_duration:  "30m"         # завершение через 30 минут
  max_memory_mb: 256           # потолок ОЗУ
  max_requests:  500           # максимум вызовов инструментов

audit:
  log_level: full
  alert_on:
    - filesystem_deny
    - network_deny
    - token_budget_80pct
  log_path: "logs/email-sorter-audit.log"

Как это работает

root@kitploit:~
agentbox run --manifest agent.yaml python agent.py
         │
         ▼
┌─────────────────────────────────────────────────────┐
│                 Policy Engine                        │
│  Разбирает манифест → строит списки разрешений/запретов │
│  Проверяет подписи → отклоняет неподписанные навыки  │
│  Внедряет учётные данные из хранилища                │
└──────────────────────┬──────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────┐
│              Isolation Layer                         │
│                                                     │
│  Docker  → контейнер + seccomp + cap-drop           │
│  gVisor  → ядро в пользовательском пространстве, перехват системных вызовов │
│  Firecracker → выделенное ядро MicroVM для каждого агента │
│                                                     │
│  Файловая система: только объявленные пути          │
│  Сеть:    только объявленные хосты доступны         │
│  Возможности: ВСЕ отброшены, ничего не добавлено    │
└──────────────────────┬──────────────────────────────┘
                       │
          ┌────────────┼────────────┐
          ▼            ▼            ▼
   Audit Logger   Credential    Resource
   (hash-chain)     Vault       Monitor
   каждое действие AES-256-GCM  автоубийство
   логируется     ограниченные  при превышении
                  токены        лимита

Почему gVisor останавливает инъекцию промптов

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

gVisor перехватывает каждый системный вызов до того, как он достигнет ядра хоста:

root@kitploit:~
Агент пытается: write("/home/user/.ssh/id_rsa")
                    │
                    ▼
         Ядро gVisor в пользовательском пространстве
                    │
         Путь в списке запретов? → ДА
                    │
                    ▼
         EPERM возвращается немедленно
         Ядро хоста никогда не видит этот системный вызов
         Инъекция промптов не может пересечь этот слой

Справочник CLI

root@kitploit:~
agentbox <command> [options]

Команды:
  run       Запустить агента в песочнице
  validate  Проверить файл манифеста
  kill      Завершить работающего агента
  audit     Просмотреть журналы аудита агента
  verify    Проверить целостность журнала аудита
  vault     Управлять зашифрованными учётными данными
  serve     Запустить сервер REST API
  version   Показать версию

Примеры:
  agentbox validate manifests/email-sorter.yaml
  agentbox run --manifest manifests/email-sorter.yaml python agent.py
  agentbox kill agent-abc123
  agentbox audit --log logs/email-sorter.log --deny
  agentbox audit --log logs/email-sorter.log --last 1h
  agentbox verify logs/email-sorter.log
  agentbox vault add ANTHROPIC_API_KEY
  agentbox vault list
  agentbox vault delete OLD_KEY
  agentbox serve :8081

REST API

Запустите с помощью agentbox serve (по умолчанию: :8081).

МетодКонечная точкаОписание
GET/healthПроверка работоспособности
GET/dashboardВеб-панель управления
GET/api/agentsСписок всех агентов
POST/api/agentsЗапуск нового агента
DELETE/api/agents/:idЗавершить агента
GET/api/auditЗапрос журнала аудита

root@kitploit:~
# Список работающих агентов
curl http://localhost:8081/api/agents

# Запуск агента
curl -X POST http://localhost:8081/api/agents \
  -H "Content-Type: application/json" \
  -d '{"manifest":"manifests/email-sorter.yaml","command":["python","agent.py"]}'

# Завершение агента
curl -X DELETE http://localhost:8081/api/agents/abc123

# Запрос журнала аудита
curl "http://localhost:8081/api/audit?deny=true&agent=email-sorter"

Журнал аудита

Каждое действие агента логируется в файл JSON Lines с добавлением только в конец и хеш-цепочкой:

root@kitploit:~
{"id":1,"hash":"a3f2...","prev_hash":"genesis","timestamp":"2026-05-05T09:00:00Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"agent_start","allowed":true,"resource":"manifests/email-sorter.yaml"}
{"id":2,"hash":"b7c1...","prev_hash":"a3f2...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_allow","allowed":true,"resource":"read:/home/user/Documents/inbox/mail.txt","rule":"filesystem.read: ~/Documents/inbox"}
{"id":3,"hash":"d9e4...","prev_hash":"b7c1...","timestamp":"2026-05-05T09:00:01Z","agent_id":"abc123","agent_name":"email-sorter","event_type":"filesystem_deny","allowed":false,"resource":"read:/home/user/.ssh/id_rsa","rule":"filesystem.deny: ~/.ssh","reason":"path is explicitly denied"}

Обнаружение подделки:

root@kitploit:~
agentbox verify logs/email-sorter-audit.log

✅ Журнал аудита не повреждён
   Записей: 47 (ID 1–47)
   Хеш-цепочка: неразрывна

Измените любой символ в любой записи — и проверка немедленно завершится ошибкой: цепочка разорвана.


Хранилище учётных данных

root@kitploit:~
# Сохранить секрет (никогда не логируется, никогда в открытом виде в env)
agentbox vault add ANTHROPIC_API_KEY

# Список имён сохранённых учётных данных (значения никогда не показываются)
agentbox vault list

# Проверить, что учётные данные можно расшифровать
agentbox vault test ANTHROPIC_API_KEY

# Ротация учётных данных
agentbox vault add ANTHROPIC_API_KEY   # add обновляет существующие

Учётные данные шифруются с помощью AES-256-GCM. Главный ключ выводится из вашего пароля хранилища — никогда не хранится на диске. При запуске агента AgentBox внедряет учётные данные как ограниченные переменные окружения. Агент вызывает os.getenv("ANTHROPIC_API_KEY") обычным образом — он никогда не касается хранилища.


Лимиты ресурсов

AgentBox завершает агентов, превышающих объявленные лимиты:

root@kitploit:~
# Этот агент настроен с max_duration: 5s
agentbox run --manifest manifests/timeout-test.yaml python long_running_agent.py

Agent started
tick 1
tick 2
tick 3
tick 4
tick 5
🛑 Killing agent timeout-test: duration limit exceeded: 5s
⚠️  Agent timeout-test exited code 137 in 5.2s

Код выхода 137 = SIGKILL. Чистое завершение, финальная запись аудита записывается.


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

root@kitploit:~
# Клонирование
git clone https://github.com/siyad01/agentbox
cd agentbox

# Сборка
go build -o agentbox ./cmd/agentbox/

# Запуск тестов (27 тестов, все проходят)
go test ./...

# Глобальная установка
go install ./cmd/agentbox/

Требования:

  • Go 1.26+
  • Docker (для бэкендов Docker и gVisor)
  • Ядро Linux 5.15+ (для gVisor — определяется автоматически, откат на Docker)

Структура проекта

root@kitploit:~
agentbox/
├── cmd/agentbox/main.go          ← точка входа CLI
├── internal/
│   ├── policy/
│   │   ├── manifest.go           ← схема YAML-манифеста
│   │   ├── parser.go             ← проверка + значения по умолчанию
│   │   └── engine.go             ← движок решений с приоритетом запретов (20 тестов)
│   ├── audit/
│   │   ├── logger.go             ← журнал с добавлением в конец и SHA-256 хеш-цепочкой
│   │   ├── verifier.go           ← обнаружение подделки
│   │   └── reader.go             ← запрос + фильтрация
│   ├── vault/
│   │   ├── store.go              ← хранилище учётных данных с шифрованием AES-256-GCM
│   │   └── injector.go           ← внедрение во время выполнения (7 тестов)
│   ├── sandbox/
│   │   ├── sandbox.go            ← интерфейс Sandbox
│   │   ├── docker.go             ← бэкенд Docker
│   │   ├── gvisor.go             ← бэкенд gVisor (уровень ядра)
│   │   ├── manager.go            ← управление жизненным циклом агента
│   │   └── util.go               ← обнаружение WSL2, вспомогательные функции путей
│   ├── monitor/
│   │   └── enforcer.go           ← лимиты ресурсов + автоубийство
│   └── api/
│       └── server.go             ← REST API на :8081
└── manifests/
    ├── email-sorter.yaml         ← производственный пример
    └── timeout-test.yaml         ← пример применения лимитов

Модель безопасности

Запрет по умолчанию. Агенты запускаются с нулевыми разрешениями. Каждая возможность должна быть явно объявлена.

Список запретов всегда побеждает. Даже если путь есть и в списке чтения, и в списке запретов, список запретов имеет приоритет. Без исключений.

Принудительное применение на уровне ядра с gVisor. Фильтры seccomp и отбрасывание возможностей работают на границе системных вызовов. Вывод модели — который контролируется атакующим — выполняется в пользовательском пространстве и не может изменить политику на уровне ядра.

Изоляция учётных данных. Главный ключ хранилища никогда не хранится на диске. Учётные данные внедряются как кратковременные ограниченные токены при запуске песочницы и отбрасываются при выходе. Компрометация процесса агента не приводит к компрометации хранилища учётных данных.

Неизменяемый журнал аудита. Хеш-цепочка SHA-256 означает, что ретроактивное изменение журнала обнаружимо. Любое изменение любой записи разрывает цепочку с этого момента.

См. SECURITY.md для сообщения об уязвимостях.


Сравнение

ВозможностьAgentBoxOpenClaw sandboxDocker onlyAccuKnox
Открытый исходный код (Apache 2.0)✅✅✅❌
Самостоятельное размещение✅✅✅Только K8s
gVisor / изоляция ядра✅❌❌✅
Хранилище учётных данных✅❌❌✅
Неизменяемый журнал аудита✅❌❌✅
Автоубийство при нарушении лимитов✅❌❌✅
Независимость от фреймворка✅❌ (только OpenClaw)✅✅
Развёртывание одним бинарником✅❌✅❌

Дорожная карта

  • Бэкенд Firecracker MicroVM (выделенное ядро Linux для каждого агента)
  • Мониторинг системных вызовов eBPF (анализ поведения в реальном времени)
  • OPA/Rego политика-как-код (сложные наборы правил в Git)
  • Конечная точка метрик Prometheus
  • AgentBox Cloud (управляемый хостинг, готовность к SOC2)
  • Подпись манифестов (Ed25519, проверка происхождения)
  • DLP (защита от утечки данных — сканирование вывода агента на PII)

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

См. CONTRIBUTING.md.

Лицензия

Apache 2.0 — свободно для использования, изменения и распространения. См. LICENSE.


Создано на Go · Ноль внешних зависимостей для основных функций безопасности · Самостоятельное размещение одной командой

Если CVE-2026-25253 вас беспокоил, это решение. Поставьте ⭐

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