M
MercyNews
Home
Back
Fence CLI: Comandos de Sandbox com Restrições de Rede
Tecnologia

Fence CLI: Comandos de Sandbox com Restrições de Rede

Hacker News8h ago
3 min de leitura
📋

Fatos Principais

  • Fence é uma ferramenta de linha de comando que envolve qualquer comando em um sandbox, bloqueando o acesso à rede por padrão e restringindo escritas no sistema de arquivos.
  • A ferramenta utiliza tecnologias de sandboxing nativas do sistema operacional, especificamente sandbox-exec do macOS e bubblewrap do Linux, para impor o isolamento.
  • O filtragem de rede é tratada através de um proxy local HTTP/SOCKS, que exige que as aplicações respeitem a variável de ambiente HTTP_PROXY.
  • Originalmente foi desenvolvida para isolar serviços em teste durante replay de testes de API, bloqueando conexões localhost para forçar o uso de mocks.
  • Fence oferece um modo de monitoramento que permite aos desenvolvedores ver o que seria bloqueado sem impor as restrições.
  • A ferramenta pode importar conjuntos de permissões existentes de outras ferramentas, como Claude Code, usando um comando de importação específico.

Uma Nova Camada de Segurança para a Linha de Comando

Desenvolvedores frequentemente executam comandos que carregam riscos inerentes, desde instalar novos pacotes até executar scripts de repositórios desconhecidos. Uma nova ferramenta de linha de comando visa mitigar esses riscos envolvendo qualquer comando em um ambiente isolado.

Chamada Fence, a ferramenta bloqueia o acesso à rede por padrão e restringe escritas no sistema de arquivos. Isso cria um ambiente controlado para executar código, prevenindo efeitos colaterais não intencionais ou transmissão de dados não autorizada.

O objetivo principal é proporcionar uma rede de segurança para executar código semi-confiável. Seja um script de build, uma instalação de pacote ou uma ferramenta que possa "telefonar para casa", Fence oferece uma forma de executar esses comandos com comportamento previsível e limitado.

Funcionalidade Principal e Modos

Fence opera interceptando chamadas de sistema e solicitações de rede, isolando efetivamente o comando alvo do sistema hospedeiro. Por padrão, bloqueia todas as conexões de rede de saída e impede operações de escrita fora de um diretório designado.

A ferramenta oferece vários modos operacionais para diferentes cenários:

  • Modo Padrão: Bloqueia todo o tráfego de rede e restringe escritas no sistema de arquivos.
  • Modo de Modelo: Aplica regras pré-configuradas, como permitir registros específicos para gerenciadores de pacotes.
  • Modo de Monitoramento: Executa o comando enquanto registra o que seria bloqueado, proporcionando visibilidade sem impor restrições.

Por exemplo, executar fence curl https://example.com resulta em uma conexão bloqueada. Em contraste, usando um modelo com fence -t code -- npm install permite acesso aos registros npm necessários enquanto mantém outras restrições.

"Percebi rapidamente que isso poderia ser uma ferramenta de propósito geral que também seria útil como um gerenciador de permissões entre agentes de CLI."

— Desenvolvedor do Fence

Arquitetura Técnica

A ferramenta aproveita tecnologias de isolação nativa do sistema operacional para impor o isolamento. No macOS, utiliza sandbox-exec, enquanto no Linux, depende de bubblewrap. Esses mecanismos subjacentes fornecem uma base sólida para restringir as capacidades do processo.

Para filtragem de rede, Fence emprega um proxy local HTTP/SOCKS. Este proxy intercepta solicitações de rede e aplica regras de filtragem baseadas em domínio. No entanto, essa abordagem tem uma limitação específica: exige que os programas sendo isolados respeitem a variável de ambiente HTTP_PROXY.

A arquitetura é projetada para ser leve e não intrusiva, usando utilitários do sistema padrão em vez de exigir módulos do kernel ou camadas de virtualização complexas.

Casos de Uso e Aplicações

A ferramenta foi originalmente concebida para resolver um problema específico em testes de API. O desenvolvedor por trás do Fence trabalha no Tusk Drift, um sistema para gravar e reproduzir tráfego real como testes de API. Durante a reprodução de testes, era necessário isolar o serviço em teste para bloquear conexões de saída localhost para bancos de dados como Postgres e Redis, forçando o aplicativo a usar mocks em vez de serviços reais.

Essa utilidade se estende a casos de uso mais amplos, especialmente com agentes de codificação de IA. Executar agentes com menos prompts interativos de permissão pode ser arriscado. Fence permite que desenvolvedores isolem esses agentes, reduzindo o risco de ações não intencionais.

Por exemplo, um agente pode ser executado com um comando como: fence -t code -- claude --dangerously-skip-permissions. Além disso, Fence pode importar conjuntos de permissões existentes, como os do Claude Code, usando o comando fence import --claude.

"Percebi rapidamente que isso poderia ser uma ferramenta de propósito geral que também seria útil como um gerenciador de permissões entre agentes de CLI."

Limitações e Considerações

Embora Fence forneça uma camada valiosa de segurança, não é uma bala de prata. A documentação afirma explicitamente que não é uma contenção forte contra malware. Código malicioso sofisticado pode encontrar maneiras de contornar a filtragem baseada em proxy ou explorar outras vulnerabilidades do sistema.

A dependência da filtragem baseada em proxy significa que aplicações que não honram a variável de ambiente HTTP_PROXY não terão seu tráfego de rede filtrado. Esta é uma consideração crítica para desenvolvedores avaliando a ferramenta para sua pilha específica.

Apesar dessas limitações, Fence representa um passo prático em direção a uma execução de linha de comando mais segura. Ela oferece um equilíbrio entre segurança e usabilidade, permitindo que desenvolvedores executem comandos necessários, mas potencialmente arriscados, com maior confiança.

Olhando para o Futuro

Fence aborda um ponto de dor comum nos fluxos de trabalho de desenvolvimento modernos: a necessidade de executar código não confiável ou semi-confiável sem comprometer a integridade do sistema. Ao fornecer uma interface simples de linha de comando para tecnologias de sandboxing poderosas, reduz a barreira de entrada para uma execução segura de código.

A ferramenta está atualmente disponível para macOS e Linux, cobrindo a maioria dos ambientes de desenvolvimento. Sua natureza de código aberto convida feedback da comunidade e contribuições potenciais para expandir suas capacidades.

À medida que os fluxos de trabalho de desenvolvimento incorporam cada vez mais agentes de IA e scripts de terceiros, ferramentas como Fence provavelmente se tornarão componentes essenciais de um kit de ferramentas de desenvolvimento seguro. O desenvolvedor está ativamente buscando feedback e casos de uso da comunidade.

Perguntas Frequentes

Qual é o principal propósito da ferramenta Fence?

Fence é projetada para executar comandos em um ambiente isolado, bloqueando o acesso à rede por padrão e restringindo escritas no sistema de arquivos. Isso permite que desenvolvedores executem código semi-confiável, como instalações de pacotes ou scripts de build, com efeitos colaterais controlados.

Como Fence realiza seu isolamento?

Ela aproveita tecnologias de isolamento nativas do sistema operacional: sandbox-exec do macOS e bubblewrap do Linux. Para filtragem de rede, usa um proxy local HTTP/SOCKS para bloquear ou permitir domínios específicos, embora isso exija que a aplicação alvo respeite as configurações de proxy.

Quais são os principais casos de uso para Fence?

A ferramenta é útil para executar agentes de codificação de IA com risco reduzido, executar repositórios desconhecidos com segurança e bloquear ferramentas que telefonam para casa. Foi especificamente criada para isolar serviços durante replay de testes de API, impedindo conexões com bancos de dados locais.

Quais são as limitações de Fence?

Não é considerada uma contenção forte contra malware sofisticado. Além disso, sua filtragem baseada em proxy só funciona se o programa sendo isolado respeitar a variável de ambiente HTTP_PROXY, o que não é universal.

Continue scrolling for more

IA transforma a pesquisa e as provas matemáticas
Technology

IA transforma a pesquisa e as provas matemáticas

A inteligência artificial está se tornando uma realidade na matemática. Modelos de aprendizado de máquina agora geram teoremas originais, forçando uma reavaliação da pesquisa e do ensino.

Just now
4 min
314
Read Article
Japão: O Longo Jogo - Investimento e Resiliência
Economics

Japão: O Longo Jogo - Investimento e Resiliência

Enquanto líderes globais discutem preparação para riscos geopolíticos e climáticos, a abordagem estratégica do Japão ao investimento de longo prazo e resiliência emerge como modelo-chave para navegar um mundo incerto.

2h
5 min
6
Read Article
Japão aguarda sentença no caso do assassinato de Abe
Crime

Japão aguarda sentença no caso do assassinato de Abe

O homem que admitiu assassinar o ex-primeiro-ministro japonês Shinzo Abe está agendado para ser sentenciado nesta quarta-feira, em um caso que dividiu a opinião pública japonesa.

2h
5 min
6
Read Article
Hugh Grant e Esther Ghey voltam a defender proibição de redes sociais para menores de 16 anos
Politics

Hugh Grant e Esther Ghey voltam a defender proibição de redes sociais para menores de 16 anos

Uma coalizão proeminente, incluindo Hugh Grant e Esther Ghey, pressiona líderes partidários a apoiar a proibição de redes sociais para menores de 16 anos antes de uma votação crucial na Casa dos Lordes.

2h
5 min
6
Read Article
Android Auto 16.0: Redesign do Player de Mídia Chega
Technology

Android Auto 16.0: Redesign do Player de Mídia Chega

A Google está lançando o Android Auto 16.0 com um redesign do player de mídia, oferecendo uma interface mais intuitiva e visualmente atraente para músicas e podcasts durante a direção.

2h
3 min
6
Read Article
Investigação da BBC leva à prisão de suposto cérebro de golpe
Crime

Investigação da BBC leva à prisão de suposto cérebro de golpe

Investigação da BBC Eye de 2023 sobre compósitos de golpes no Sudeste Asiático leva à prisão do suposto cérebro Kuong Li, destacando o poder do jornalismo no combate ao crime transnacional.

2h
5 min
6
Read Article
Recursos federais impulsionam aeroportos em Feira de Santana e Conde, na Bahia
Politics

Recursos federais impulsionam aeroportos em Feira de Santana e Conde, na Bahia

O Ministério dos Portos e Aeroportos anunciou novos investimentos federais para infraestrutura aeroportuária regional no Nordeste, com alocações específicas para Feira de Santana e Conde, na Bahia.

2h
5 min
6
Read Article
Zuri Hall lança programa de entrevistas 'Not About Sports' no YouTube
Entertainment

Zuri Hall lança programa de entrevistas 'Not About Sports' no YouTube

A jornalista Zuri Hall lançou um novo programa de entrevistas no YouTube, 'Zuri Hall's Not About Sports', que foca nas vidas pessoais de personalidades do esporte, em vez do desempenho atlético.

2h
3 min
7
Read Article
ChatGPT introduz previsão de idade para proteger jovens usuários
Technology

ChatGPT introduz previsão de idade para proteger jovens usuários

O ChatGPT lançou uma nova função de previsão de idade para identificar e proteger usuários com menos de 18 anos de conteúdo problemático, representando um avanço na segurança de IA.

2h
5 min
7
Read Article
Blake Lively vs. Justin Baldoni: Documentos judiciais revelam conflitos nos bastidores
Entertainment

Blake Lively vs. Justin Baldoni: Documentos judiciais revelam conflitos nos bastidores

Documentos judiciais revelados mostram alegações de ultrapassagem de limites e conflitos criativos entre Blake Lively e Justin Baldoni durante a produção de 'It Ends With Us'.

2h
5 min
7
Read Article
🎉

You're all caught up!

Check back later for more stories

Voltar ao inicio