Изучение sandbox-exec в macOS для безопасного выполнения приложений

sandbox-exec — это утилита командной строки, встроенная в macOS, предназначенная для выполнения приложений в песочнице. Этот инструмент помогает создать безопасное, ограниченное пространство, где приложения могут работать с ограниченным доступом к системным ресурсам, минимизируя риски, связанные с вредоносным кодом или непреднамеренным поведением.
Ключевые детали
Песочница приложений с использованием sandbox-exec направлена на защиту от вредоносного кода, ограничение ущерба от скомпрометированных приложений и повышение конфиденциальности и контроля над ресурсами. Чтобы использовать sandbox-exec, вам нужен профиль песочницы, который является конфигурационным файлом, определяющим правила для безопасной среды. Основной синтаксис команды:
sandbox-exec -f profile.sb command_to_runЗдесь profile.sb определяет правила, а command_to_run — это приложение, которое будет выполняться в этих ограничениях.
Профили песочницы пишутся с использованием синтаксиса, похожего на Scheme, и включают в себя объявления версий, политики по умолчанию и конкретные правила. Существует два основных подхода к настройке этих профилей:
- Запрет по умолчанию: Изначально ограничивает все операции и разрешает только необходимые. Пример:
(version 1) (deny default) (allow file-read-data (regex "^/usr/lib")) (allow process-exec (literal "/usr/bin/python3"))- Разрешение по умолчанию: Разрешает все, кроме конкретных операций. Пример:
(version 1) (allow default) (deny network*) (deny file-write* (regex "^/Users"))Для практического использования вы можете настроить сеанс терминала песочницы без доступа к сети:
# terminal-sandbox.sb (version 1) (allow default) (deny network*) (deny file-read-data (regex "/Users/[^/]+/(Documents|Pictures|Desktop)")Запустите его с помощью:
sandbox-exec -f terminal-sandbox.sb zshКроме того, macOS предоставляет готовые профили в /System/Library/Sandbox/Profiles для распространенных сценариев ограничений, таких как профиль no-network.
Для кого это
Этот инструмент идеально подходит для разработчиков и специалистов по безопасности, которым необходимо тестировать приложения в контролируемой среде или вводить строгие политики безопасности.
📖 Читать полный источник: HN LLM Tools
👀 Смотрите также

Google PM открывает исходный код Always On Memory Agent с хранением в SQLite, без векторной базы данных
Старший менеджер по продуктам искусственного интеллекта Google Шубхам Сабу открыл исходный код агента «Always On Memory Agent», который хранит структурированные воспоминания в SQLite вместо использования векторных баз данных, работая на Gemini 3.1 Flash-Lite с запланированной консолидацией памяти каждые 30 минут.

Крышка моста: Постоянная двусторонняя передача сообщений между CLI и JavaScript в браузере через CDP
Hubcap Bridge — это новая функция в инструменте командной строки Hubcap CLI, которая создаёт постоянный двусторонний канал обмена сообщениями между локальными процессами и JavaScript, выполняющимся на страницах браузера, через Chrome DevTools Protocol. Это позволяет навыкам Claude Code взаимодействовать с веб-приложениями через их внутренние JavaScript API без необходимости доступа к публичным API.

Анализ акций в реальном времени добавлен в Claude Desktop через MCP-сервер
Разработчик создал MCP-сервер под названием agent-toolbelt, который добавляет возможности анализа акций в реальном времени в Claude Desktop и Claude Code. Инструмент предоставляет пять конкретных аналитических функций и работает с установкой одной командой.

OpenClaw-Superpowers: Нативный порт фреймворка Superpowers от Джесси Винсента без зависимости от Claude Code
Пользователь Reddit портировал obra/superpowers на OpenClaw с выделенными агентами (координатор кодирования, исполнитель, рецензент) и нативными командами, такими как sessions_spawn и update_plan, полностью убрав зависимость от Claude Code.