AIKraft/Skills/Песочница seatbelt

Песочница seatbelt

Generates minimal macOS Seatbelt sandbox configurations. Use when sandboxing, isolating, or restricting macOS applications with allowlist-based profiles.

trailofbits official Другое

Что делает навык

Генерирует минимальные конфигурации песочницы macOS Seatbelt на основе allowlist для изоляции приложений. Применяется для ограничения доступа процессов к файлам, сети и системным ресурсам в целях защиты от атак через цепочку поставок.

Когда применять

  • Изоляция или ограничение macOS-приложений с помощью профилей на основе allowlist
  • Создание изоляции уровня defense-in-depth при рисках атак через цепочку поставок
  • Профилирование приложений с несколькими подкомандами (например, Webpack) для создания отдельных профилей
  • Ограничение доступа macOS-процессов к файлам и сети при необходимости строгой безопасности

Как работает

  1. Определить требования приложения к ресурсам (файлы, сеть, процессы, IPC и др.) и специфические пути или сервисы
  2. Начать с базового профиля deny-all, разрешив только необходимые операции процесса (process-exec*, process-fork, sysctl-read, file-read-metadata)
  3. Добавить доступ на чтение файлов через file-read-data с явным указанием путей (subpath, literal, regex) и параметров (HOME, WORKING_DIR)
  4. Настроить доступ на запись (file-write*) строго для рабочей директории, временных папок (/tmp, /var/folders) и устройств вывода (/dev/null)
  5. Настроить сетевой доступ: deny network* для блокировки, localhost-only для локальных сервисов или allow network* (избегать)
  6. Тестировать приложение в песочнице с помощью sandbox-exec, итеративно исправляя профиль при ошибках (SIGABRT, ENOENT, зависания)

Примеры запросов агенту

Создай минимальный профиль Seatbelt для CLI-приложения, которому нужен только доступ к рабочей директории и чтение системных библиотек
Сгенерируй изолированную конфигурацию macOS Seatbelt для веб-сервера, разрешив входящие соединения только на localhost и DNS
Разработай отдельные профили песочницы для подкоманд build и serve приложения Webpack с помощью вспомогательного скрипта

Что понадобится

  • macOS (для использования sandbox-exec и Seatbelt)
  • Доступ к терминалу для запуска sandbox-exec и тестирования

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «seatbelt-sandboxer» из репозитория: # https://github.com/trailofbits/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r seatbelt-sandboxer/ ~/.claude/skills/seatbelt-sandboxer/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.