Executando agentes de IA em sandboxes com Microsoft Execution Containers

Um dos problemas enfrentados por quem desenvolve agentes hoje, especialmente ao construir agentes que executam sistemas de ponta com uma combinação de IA local e na nuvem, é a confiança: garantir que o código executado nos PCs dos usuários não acesse dados privados ou chame APIs inesperadas. Como podemos manter sob controle sistemas que não têm operações previsíveis, quando é exatamente nessa imprevisibilidade que confiamos, enquanto eles orquestram chamadas em sistemas locais e remotos?

O sandbox de código aberto da Microsoft para execução de código não confiável no Windows, Linux e macOS evoluiu para uma camada de execução multiplataforma baseada em políticas para agentes.

Se você trabalhou com agentes pela primeira vez, na década de 1990, quando eles eram ferramentas projetadas para gerenciar e executar longos fluxos de trabalho para usuários, você reconhecerá o problema. Afinal, os riscos de segurança associados à entrega de código arbitrário a PCs e servidores foram o que impediu a ampla adoção desses primeiros agentes (isso e a complexidade de construir e compartilhar os tempos de execução necessários).

Os sistemas informáticos evoluíram consideravelmente ao longo dessas décadas, especialmente com a chegada do suporte de hardware para virtualização, uma tecnologia que a Microsoft integrou em grande parte da sua plataforma moderna. A virtualização de hardware é fundamental para tecnologias como contêineres seguros, para o próprio modelo de isolamento interno do Windows para componentes críticos do sistema operacional e para ferramentas de plataforma cruzada, como o subsistema Windows para Linux. Novas ferramentas, como a plataforma de contêiner WSL, começaram a estender esse modelo de virtualização com SDKs que permitem que programas iniciem e controlem o ciclo de vida da virtualização.

Isolamento para agentes

A virtualização também sustenta a abordagem da Microsoft para construir uma estrutura confiável para operações de agentes, permitindo-lhes operar de maneira segura, isolando suas operações do sistema operacional como um todo, bloqueando o acesso à funcionalidade e executando-as em contêineres e microVMs seguros. Com os agentes trabalhando de forma autônoma, é essencial mantê-los isolados dos sistemas de desktop, dando-lhes acesso apenas aos serviços de que precisam, como mostram exemplos de agentes mal configurados com solicitações excessivamente amplas para exclusão de arquivos.

Os desenvolvedores precisam de ferramentas para gerenciar esse isolamento, permitindo-lhes desenvolver código em um ambiente permissivo, antes de enviar aplicativos bloqueados que operam com restrições baseadas em políticas. Essa abordagem precisa de ferramentas para criar e gerenciar essas restrições, fornecendo uma estrutura baseada em contêineres gerenciados e isolados. É aqui que os Microsoft Execution Containers (MXC) entram em ação.

MXC e o GitHub Copilot

Projetado para ser multiplataforma, o MXC oferece controles para Windows, macOS e Linux, funcionando com mais de uma estrutura de virtualização. As ferramentas foram projetadas para oferecer uma camada de abstração comum, portanto, você só precisa criar políticas uma vez antes de entregá-las a todos os sistemas operacionais e ambientes de virtualização suportados. Ao usar políticas para controlar cargas, o MXC pode fornecer diferentes níveis de controle para diferentes cargas de trabalho. Um agente projetado para fornecer pesquisa personalizada precisará de menos proteções do que um sistema semelhante ao OpenClaw que está sendo configurado como um assistente pessoal de agente com acesso total aos seus dados e aplicativos.

Um dos primeiros a adotar o MXC é o GitHub Copilot. Aqui, um único comando em qualquer sessão CLI (depois de ativar o modo experimental) muda você para o modo sandbox com acesso limitado ao seu sistema de arquivos (bloqueando-o em seu PATH, seu diretório de trabalho, pastas temporárias do Windows e seu perfil), com conectividade somente de saída. Há uma opção de configuração que permite abrir mais diretórios se você precisar de acesso mais amplo, mas as proteções prontas para uso devem ajudar a reduzir os riscos ao seu código causados por agentes fora de controle.

As informações são do site InfoWorld

Compartilhe este artigo

Continue lendo

Voltar ao Blog