O SPACE, a plataforma de sandboxes por detrás do Computer, passa a ser de código aberto

A Perplexity disponibiliza em código aberto o SPACE, a plataforma de sandboxes por detrás do Computer, para ajudar os programadores a criar agentes de IA autónomos mais seguros

Abstract glass panel with illuminated edges separating light and shadow against a dark background.

Desde o lançamento do Computer em fevereiro, a Perplexity tem sido pioneira nos agentes pessoais. Estamos empenhados em resolver os problemas difíceis da governação de agentes, detetando comportamentos inseguros e prevenindo atividades de agentes descontrolados. Em julho, substituímos o nosso fornecedor comercial de sandboxes por uma solução interna mais robusta e resiliente, a que demos o nome de SPACE.

O SPACE proporciona um elevado nível de segurança para sistemas agênticos avançados. Aliás, uma recente bateria de testes de segurança comprovou que o SPACE é resiliente a técnicas de contorno de rede como as utilizadas no incidente da OpenAI/Hugging Face.

Hoje, disponibilizamos o SPACE em código aberto para dar aos programadores uma base para criarem sistemas de agentes mais seguros e contribuírem para proteções mais robustas em todo o setor. Os programadores podem aceder ao repositório aqui.

A governação de agentes é um problema de engenharia e o código aberto é essencial para o resolver. Quando os programadores têm sistemas que podem inspecionar, adaptar e usar como base, encontram mais vulnerabilidades e criam ferramentas melhores. Disponibilizar o SPACE em código aberto dá aos programadores uma base testada em produção para ambientes de execução de agentes, com isolamento, recuperação de estado e controlos de credenciais e de rede integrados.

Criar uma base para outros criadores

As sandboxes mantêm os agentes seguros, permitindo-lhes aceder às ferramentas e aos ficheiros de que precisam para concluir estas tarefas, ao mesmo tempo que mantêm protegidas as informações sensíveis.

Disponibilizar o SPACE em código aberto dá aos programadores um ponto de partida para os ambientes onde os seus agentes executam código e trabalham com ficheiros. As equipas podem ver como funciona a plataforma de sandboxes SPACE e desenvolver a partir da sua implementação. Também a podem adaptar às suas necessidades, em vez de recriarem a infraestrutura subjacente.

No Computer, o SPACE suporta a execução isolada de código, a pausa e a retoma, a recuperação e a ramificação de sessões. Estas capacidades constituem a base para assistentes que poderiam:

  • Analisar dados: Limpar uma folha de cálculo, executar cálculos e criar gráficos num espaço de trabalho separado.
  • Retomar o trabalho: Fazer uma pausa para que alguém reveja um rascunho ou forneça informações em falta e, depois, retomar com os ficheiros e o estado de execução preservados.
  • Explorar alternativas: Testar duas formas de limpar um conjunto de dados em cópias separadas do espaço de trabalho ou restaurar um ficheiro anterior após um erro.

Estes exemplos ilustram como os programadores poderiam utilizar os controlos de isolamento e de sessão documentados do SPACE. Os engenheiros de plataformas e de segurança também podem rever o modelo de isolamento e os exemplos de segurança antes de integrarem o SPACE nos seus próprios sistemas.

Reforçar a segurança do trabalho autónomo

Quando damos aos agentes mais margem para resolver problemas, precisamos de limites claros sobre a forma como o fazem. Sabemos que os agentes que executam tarefas legítimas podem, ainda assim, ultrapassar limites de segurança quando tentam contornar ficheiros em falta, pedidos falhados ou recusas de permissão.

Podemos implementar salvaguardas no modelo para reduzir a probabilidade de comportamentos inseguros. Adicionar controlos independentes no sistema envolvente ajuda a conter os danos caso essas salvaguardas falhem. Estes controlos limitam aquilo a que um agente pode aceder, independentemente do que decida fazer.

O SPACE aplica esses controlos em torno de um espaço de trabalho separado para o código e os ficheiros gerados pelos agentes. Concebemo-lo para combinar isolamento, recuperação e execução eficiente. Isto permite que os agentes realizem trabalho útil ao longo de sessões longas sem dependerem apenas do modelo para respeitar os limites de segurança.

Execução no seu próprio sistema operativo

Cada sandbox do SPACE é executada dentro de uma pequena máquina virtual com o seu próprio sistema operativo, criando uma fronteira de isolamento entre o trabalho do agente e o sistema anfitrião. Um plano de controlo central coordena quando estes espaços de trabalho são criados, pausados, retomados ou removidos.

O SPACE trata a sandbox como não fidedigna e gere o acesso à rede e as credenciais detidas pela plataforma fora da sandbox. Os agentes podem ligar-se a serviços autorizados sem que essas credenciais fiquem armazenadas no seu ambiente de trabalho.

Instantâneos frequentes de ficheiros e pontos de controlo de todo o ambiente em execução preservam o progresso em caso de interrupção. Para manter estas operações eficientes, o SPACE armazena as alterações em vez de copiar repetidamente ambientes inteiros. Isto reduz o trabalho necessário para criar, restaurar ou ramificar uma sandbox.

Melhorar o desempenho em produção

Desde julho, o SPACE está na base de todas as sessões do Computer e tem gerido milhões de criações de sandboxes por dia. Numa comparação feita com o mesmo tráfego de produção, a criação de sandboxes foi três a cinco vezes mais rápida do que com o nosso fornecedor anterior.

Também testámos o SPACE contra agentes que tentavam deliberadamente violar os seus limites. A nossa avaliação de segurança publicada não encontrou nenhuma fuga da máquina virtual para o anfitrião em 108 tentativas, mas alguns agentes encontraram formas de contornar as restrições de rede. Corrigimos essas vulnerabilidades e nenhum dos dois métodos de ataque identificados teve êxito nos testes de acompanhamento.

Também comunicámos aos respetivos fornecedores vulnerabilidades relacionadas que encontrámos noutras plataformas de sandboxes, alargando esse trabalho para além da nossa própria infraestrutura.

Contribuir para uma IA agêntica mais segura

O SPACE faz parte de um esforço mais amplo para reforçar os sistemas de que as pessoas dependem à medida que a IA assume mais trabalho. Através do Secure Intelligence Institute, realizamos investigação em segurança e colaboramos com a comunidade em geral, transformando as conclusões em defesas práticas.

Acreditamos que disponibilizar ferramentas de segurança em código aberto dá aos programadores mais formas de testar defesas, encontrar vulnerabilidades e criar sistemas de IA mais seguros. Partilhámos ferramentas que abordam diferentes partes desse trabalho:

  • BrowseSafe, um modelo e um benchmark para detetar instruções maliciosas ocultas em páginas web.
  • Numbat, um conjunto de ferramentas de segurança disponibilizado em código aberto em julho, que ajuda a detetar, investigar e prevenir comportamentos perigosos de agentes em computadores
  • Bumblebee, um scanner disponibilizado em código aberto em maio, que verifica as máquinas dos programadores em busca de pacotes de software, extensões e configurações de ferramentas de IA que representem riscos

Disponibilizar estas ferramentas permite que outras equipas inspecionem o nosso trabalho, o adaptem às suas necessidades e contribuam com melhorias. Com o SPACE, estamos a alargar essa abordagem aos ambientes onde os agentes executam código e trabalham com ficheiros.

Implementação em sistemas de agentes

A Akamai testou e lançou o SPACE na sua plataforma de cloud e está a trabalhar com a Perplexity para o disponibilizar aos seus clientes. A Crusoe também está a trabalhar em parceria com a Perplexity para adicionar o SPACE ao seu portefólio de Managed AI Services. A CoreWeave publicou um guia de configuração para os programadores que pretendam implementar o SPACE para avaliação no CKS.

Os programadores podem começar pelas instruções de configuração e pelas orientações de segurança do SPACE para o implementar nos seus próprios sistemas de agentes. O repositório e a documentação definem as configurações suportadas e os componentes incluídos.