Песочница seatbelt
Generates minimal macOS Seatbelt sandbox configurations. Use when sandboxing, isolating, or restricting macOS applications with allowlist-based profiles.
AItrailofbits
official
Другое
Что делает навык
Генерирует минимальные конфигурации песочницы macOS Seatbelt на основе allowlist для изоляции приложений. Применяется для ограничения доступа процессов к файлам, сети и системным ресурсам в целях защиты от атак через цепочку поставок.
Когда применять
- Изоляция или ограничение macOS-приложений с помощью профилей на основе allowlist
- Создание изоляции уровня defense-in-depth при рисках атак через цепочку поставок
- Профилирование приложений с несколькими подкомандами (например, Webpack) для создания отдельных профилей
- Ограничение доступа macOS-процессов к файлам и сети при необходимости строгой безопасности
Как работает
- Определить требования приложения к ресурсам (файлы, сеть, процессы, IPC и др.) и специфические пути или сервисы
- Начать с базового профиля deny-all, разрешив только необходимые операции процесса (process-exec*, process-fork, sysctl-read, file-read-metadata)
- Добавить доступ на чтение файлов через file-read-data с явным указанием путей (subpath, literal, regex) и параметров (HOME, WORKING_DIR)
- Настроить доступ на запись (file-write*) строго для рабочей директории, временных папок (/tmp, /var/folders) и устройств вывода (/dev/null)
- Настроить сетевой доступ: deny network* для блокировки, localhost-only для локальных сервисов или allow network* (избегать)
- Тестировать приложение в песочнице с помощью 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 и совместимые) подхватывает его по описанию и следует шагам.