M
MercyNews
Home
Back
Fence CLI: Песочница для команд с сетевыми ограничениями
Технологии

Fence CLI: Песочница для команд с сетевыми ограничениями

Hacker News8h ago
3 мин чтения
📋

Ключевые факты

  • Fence — это инструмент командной строки, который оборачивает любую команду в песочницу, блокируя сетевой доступ по умолчанию и ограничивая запись в файловую систему.
  • Инструмент использует встроенные в ОС технологии песочницы, в частности sandbox-exec в macOS и bubblewrap в Linux, для обеспечения изоляции.
  • Сетевая фильтрация обрабатывается через локальный HTTP/SOCKS-прокси, который требует от приложений соблюдения переменной окружения HTTP_PROXY.
  • Изначально он был разработан для изоляции тестируемых сервисов во время воспроизведения API-тестов, блокируя локальные подключения для принудительного использования моков.
  • Fence предлагает режим мониторинга, который позволяет разработчикам видеть, что было бы заблокировано, без фактического применения ограничений.
  • Инструмент может импортировать существующие наборы разрешений из других инструментов, таких как Claude Code, с помощью специальной команды импорта.

Новый уровень безопасности для командной строки

Разработчики часто выполняют команды, которые несут в себе неотъемлемые риски, от установки новых пакетов до выполнения скриптов из незнакомых репозиториев. Новый инструмент командной строки нацелен на снижение этих рисков, оборачивая любую команду в изолированную среду.

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

Основная цель — обеспечить защиту при выполнении полу-доверенного кода. Будь то скрипт сборки, установка пакета или инструмент, который может «звонить домой», Fence предлагает способ выполнения этих команд с предсказуемым, ограниченным поведением.

Основная функциональность и режимы

Fence работает путем перехвата системных вызовов и сетевых запросов, эффективно изолируя целевую команду от хост-системы. По умолчанию он блокирует все исходящие сетевые соединения и предотвращает операции записи вне указанного каталога.

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

  • Режим по умолчанию: Блокирует весь сетевой трафик и ограничивает запись в файловую систему.
  • Режим шаблонов: Применяет предварительно настроенные правила, например, разрешение доступа к конкретным реестрам для менеджеров пакетов.
  • Режим мониторинга: Выполняет команду, регистрируя, что было бы заблокировано, обеспечивая видимость без применения ограничений.

Например, выполнение fence curl https://example.com приводит к заблокированному соединению. В противоположность этому, использование шаблона с fence -t code -- npm install разрешает доступ к необходимым реестрам npm, сохраняя при этом другие ограничения.

«Я быстро понял, что это может быть универсальным инструментом, который также будет полезен в качестве менеджера разрешений для агентов командной строки».

— Разработчик Fence

Техническая архитектура

Инструмент использует встроенные в ОС технологии песочницы для обеспечения изоляции. В macOS он использует sandbox-exec, а в Linux — bubblewrap. Эти базовые механизмы обеспечивают надежную основу для ограничения возможностей процессов.

Для сетевой фильтрации Fence использует локальный HTTP/SOCKS-прокси. Этот прокси перехватывает сетевые запросы и применяет правила фильтрации на основе доменов. Однако этот подход имеет конкретное ограничение: он требует, чтобы программы, помещаемые в песочницу, учитывали переменную окружения HTTP_PROXY.

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

Примеры использования и применение

Инструмент был изначально задуман для решения конкретной проблемы в API-тестировании. Разработчик, стоящий за Fence, работает над системой Tusk Drift, которая записывает и воспроизводит реальный трафик в качестве API-тестов. Во время воспроизведения тестов было необходимо изолировать тестируемый сервис, чтобы блокировать исходящие локальные подключения к базам данных, таким как Postgres и Redis, заставляя приложение использовать моки вместо реальных сервисов.

Эта утилита расширяется на более широкие случаи использования, особенно с AI-агентами для кодирования. Запуск агентов с меньшим количеством запросов на интерактивные разрешения может быть рискованным. Fence позволяет разработчикам изолировать этих агентов, снижая риск непреднамеренных действий.

Например, агент может быть запущен с командой: fence -t code -- claude --dangerously-skip-permissions. Кроме того, Fence может импортировать существующие наборы разрешений, например, из Claude Code, с помощью команды fence import --claude.

«Я быстро понял, что это может быть универсальным инструментом, который также будет полезен в качестве менеджера разрешений для агентов командной строки».

Ограничения и соображения

Хотя Fence обеспечивает ценный уровень безопасности, он не является панацеей. Документация прямо указывает, что он не обеспечивает надежной защиты от вредоносного ПО. Сложный вредоносный код может найти способы обойти фильтрацию на основе прокси или использовать другие уязвимости системы.

Зависимость от фильтрации на основе прокси означает, что приложения, которые не учитывают переменную окружения HTTP_PROXY, не будут подвергаться фильтрации сетевого трафика. Это критический момент для разработчиков, оценивающих инструмент для их конкретного стека.

Несмотря на эти ограничения, Fence представляет собой практический шаг к более безопасному выполнению командной строки. Он обеспечивает баланс между безопасностью и удобством использования, позволяя разработчикам выполнять необходимые, но потенциально рискованные команды с большей уверенностью.

Взгляд в будущее

Fence решает общую больную точку в современных рабочих процессах разработки: необходимость выполнять ненадежный или полу-доверенный код без ущерба для целостности системы. Предоставляя простой интерфейс командной строки для мощных технологий песочницы, он снижает порог входа для безопасного выполнения кода.

Инструмент в настоящее время доступен для macOS и Linux, охватывая большинство сред разработки. Его открытая природа приглашает к обратной связи сообщества и потенциальным вкладам для расширения его возможностей.

Поскольку рабочие процессы разработки все больше включают AI-агентов и сторонние скрипты, инструменты, подобные Fence, вероятно, станут важными компонентами набора инструментов безопасной разработки. Разработчик активно ищет обратную связь и примеры использования от сообщества.

Часто задаваемые вопросы

Какова основная цель инструмента Fence?

Fence разработан для выполнения команд в изолированной среде, блокируя сетевой доступ по умолчанию и ограничивая запись в файловую систему. Это позволяет разработчикам выполнять полу-доверенный код, такой как установка пакетов или скрипты сборки, с контролируемыми побочными эффектами.

Как Fence обеспечивает свою песочницу?

Он использует встроенные в ОС технологии песочницы: sandbox-exec в macOS и bubblewrap в Linux. Для сетевой фильтрации он использует локальный HTTP/SOCKS-прокси для блокировки или разрешения конкретных доменов, хотя это требует, чтобы целевое приложение учитывало настройки прокси.

Каковы основные случаи использования Fence?

Инструмент полезен для запуска AI-агентов для кодирования с уменьшенным риском, безопасного выполнения незнакомых репозиториев и блокировки инструментов, которые «звонят домой». Он был специально создан для изоляции сервисов во время воспроизведения API-тестов, предотвращая подключения к локальным базам данных.

Каковы ограничения Fence?

Он не считается надежной защитой от сложного вредоносного ПО. Кроме того, его фильтрация на основе прокси работает только если программа, помещаемая в песочницу, учитывает переменную окружения HTTP_PROXY, что не является универсальным.

Continue scrolling for more

ИИ преобразует математические исследования и доказательства
Technology

ИИ преобразует математические исследования и доказательства

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

Just now
4 min
314
Read Article
Долгосрочная стратегия Японии: инвестиции и устойчивость
Economics

Долгосрочная стратегия Японии: инвестиции и устойчивость

Как Япония строит устойчивость к глобальным потрясениям через долгосрочные инвестиции и стратегическое планирование — ключевая модель для мира.

2h
5 min
6
Read Article
В Японии ожидают вынесения приговора по делу об убийстве Абэ
Crime

В Японии ожидают вынесения приговора по делу об убийстве Абэ

45-летнему мужчине предстоит вынесение приговора в среду по делу об убийстве бывшего премьер-министра Японии Синдзо Абэ. Общественное мнение в Японии резко разделено по вопросу о надлежащем наказании.

2h
5 min
6
Read Article
Хью Грант и Эстер Гей снова выступают за запрет соцсетей для лиц младше 16 лет
Politics

Хью Грант и Эстер Гей снова выступают за запрет соцсетей для лиц младше 16 лет

Актер Хью Грант и Эстер Гей среди подписавших письмо с требованием запретить соцсети для лиц младше 16 лет. Они призывают парламент Великобритании поддержать поправку 94a к законопроекту о благополучии детей.

2h
5 min
6
Read Article
Android Auto 16.0: Представлен новый дизайн медиаплеера
Technology

Android Auto 16.0: Представлен новый дизайн медиаплеера

Последнее обновление Android Auto 16.0 приносит изящный редизайн медиаплеера, предлагая водителям более интуитивный и визуально привлекательный интерфейс для любимой музыки и подкастов.

2h
3 min
6
Read Article
Расследование BBC привело к задержанию предполагаемого организатора мошеннической схемы
Crime

Расследование BBC привело к задержанию предполагаемого организатора мошеннической схемы

Расследование BBC Eye 2023 года о мошеннических комплексах в Юго-Восточной Азии привело к задержанию предполагаемого организатора Куонга Ли, подчеркнув роль журналистики в борьбе с трансграничной преступностью.

2h
5 min
6
Read Article
Федеральные средства для аэропортов в Фейра-ди-Сантана и Конде в Баии
Politics

Федеральные средства для аэропортов в Фейра-ди-Сантана и Конде в Баии

Министерство портов и аэропортов объявило о новых федеральных инвестициях в инфраструктуру региональных аэропортов на Северо-Востоке Бразилии, с конкретными ассигнованиями для Фейра-ди-Сантана и Конде в Баии.

2h
5 min
6
Read Article
Зури Холл запускает YouTube-шоу 'Not About Sports'
Entertainment

Зури Холл запускает YouTube-шоу 'Not About Sports'

Ветеран развлекательной журналистики Зури Холл запустила новое YouTube-шоу «Zuri Hall's Not About Sports», сместив фокус с спортивных достижений на личную жизнь спортивных звезд.

2h
3 min
7
Read Article
ChatGPT представляет функцию предсказания возраста для защиты молодых пользователей
Technology

ChatGPT представляет функцию предсказания возраста для защиты молодых пользователей

ChatGPT запустил новую функцию предсказания возраста для идентификации молодых пользователей и предотвращения доставки проблемного контента лицам младше 18 лет.

2h
5 min
7
Read Article
Блейк Лайвли против Джастина Балдони: Раскрытые судебные документы выявляют конфликты на съемочной площадке
Entertainment

Блейк Лайвли против Джастина Балдони: Раскрытые судебные документы выявляют конфликты на съемочной площадке

Раскрытые судебные документы выявили обвинения в нарушении границ и творческих разногласиях между Блейк Лайвли и Джастином Балдони во время съемок фильма «It Ends With Us».

2h
5 min
7
Read Article
🎉

You're all caught up!

Check back later for more stories

На главную