top of page

Chainguard Workspaces e Checks colocam agentes de programação com IA atrás de uma barreira de segurança

há 1 hora
14 min de leitura

A Chainguard lançou dois produtos em beta que colocam agentes de programação com IA em ambientes isolados e, em seguida, exigem verificações validadas antes que o trabalho deles chegue a um pull request. Chainguard Workspaces e Checks abordam um conflito que as equipes de desenvolvimento já não podem ignorar. Os agentes precisam de ampla liberdade para trabalhar, mas essa liberdade cria uma fronteira de segurança maior.

O Workspaces fornece sessões remotas de desenvolvimento baseadas em microVMs dedicadas, pequenas máquinas virtuais projetadas para isolar cada carga de trabalho. O Checks executa tarefas de integração contínua em microVMs separadas e devolve resultados estruturados ao agente. Juntos, os produtos criam um ciclo controlado para escrever, testar e revisar código.

O lançamento pressiona um modelo de desenvolvimento conhecido. Ferramentas como Claude Code, GitHub Codespaces e sandboxes locais para agentes já isolam partes do fluxo de programação. Sistemas tradicionais de CI validam commits separadamente depois que desenvolvedores os enviam. A Chainguard quer conectar essas etapas e tornar os testes validados parte do ciclo de trabalho do agente.

A abordagem parece sensata, mas a principal alegação ainda não foi comprovada em escala. A Chainguard precisa mostrar que isolamento mais forte e resultados assinados podem aumentar a confiança sem trocar atrasos de CI por atritos de política, configuração ou plataforma.

Chainguard Workspaces e Checks levam o CI para dentro do ciclo do agente

O lançamento combina um ambiente de execução isolado com um serviço de verificação que pode determinar quando um agente considera sua tarefa concluída.

A Chainguard anunciou Workspaces e Checks em seu evento Assemble London. Ambos os produtos entraram em beta, segundo a cobertura inicial do produto. Eles abordam etapas diferentes do mesmo fluxo de trabalho.

Um Workspace é uma microVM remota na qual um desenvolvedor ou agente de programação pode editar arquivos, instalar pacotes, executar comandos e manter processos ativos. O desenvolvedor inicia uma sessão pelas ferramentas de linha de comando da Chainguard e sincroniza uma árvore de trabalho local com o ambiente remoto.

Essa sincronização pode incluir alterações ainda não commitadas e arquivos não rastreados. A execução se afasta do laptop do desenvolvedor, mas o editor familiar e o fluxo de trabalho com Git podem permanecer locais. Essa separação importa porque, de outro modo, um agente local pode alcançar credenciais, sessões de navegador, serviços em segundo plano e arquivos que não têm relação com sua tarefa.

A sessão pode continuar depois que o desenvolvedor se desconecta. A Chainguard afirma que cria um snapshot e estaciona o ambiente após um período de inatividade, preservando disco, memória, processos e caches. Mais tarde, o desenvolvedor pode retomar a sessão em vez de reconstruir o ambiente.

O Workspaces também oferece suporte a experimentos paralelos. Um desenvolvedor pode iniciar sessões novas a partir do mesmo repositório e pedir que diversos agentes explorem implementações diferentes. Cada agente recebe sua própria microVM, em vez de compartilhar um ambiente gravável com os demais.

O Checks cuida da parte de verificação. Um repositório define os comandos obrigatórios em um arquivo .chainguard/ci.yaml ou em um diretório de configuração relacionado. O serviço então executa verificações individuais em microVMs novas, em vez de confiar nos resultados produzidos dentro do Workspace de vida mais longa.

Essa distinção é essencial. Um Workspace oferece ao agente um ambiente produtivo, mas seu estado muda ao longo da tarefa. Uma verificação limpa fornece um teste mais forte de que o código resultante funciona fora desse estado acumulado.

Desenvolvedores podem acionar o Checks por uma linha de comando, um hook de pré-commit ou uma integração com o GitHub. Agentes podem chamá-lo por meio de um SDK ou de um servidor Model Context Protocol. MCP é um protocolo que permite a um agente de IA invocar ferramentas externas por interfaces definidas.

Quando uma verificação falha, o Workspace pode ser retomado com logs estruturados da falha. O agente pode revisar sua alteração sem reconstruir a sessão ou baixar novamente cada dependência. Os detalhes do lançamento descrevem snapshots aquecidos criados a partir do lockfile do projeto, que registra dependências fixadas.

Uma execução bem-sucedida produz uma atestação assinada vinculada ao ambiente, ao resultado e ao commit. Uma atestação é uma evidência criptográfica que descreve o que foi executado e qual resultado produziu. A Chainguard propõe usar essa evidência em uma barreira de merge, em vez de confiar cegamente na declaração do agente.

Portanto, o evento é maior do que o lançamento de um ambiente remoto de desenvolvimento. A Chainguard está tentando definir uma regra de conclusão para programação autônoma. Um agente só termina depois que um sistema independente valida a alteração exata que ele quer enviar.

A pressão recai sobre agentes locais e o CI convencional

A Chainguard questiona a lacuna entre onde os agentes criam código e onde as organizações decidem se esse código é aceitável.

Agentes de programação precisam de permissões que assistentes de chat comuns nunca exigiram. Eles inspecionam repositórios, alteram vários arquivos, executam comandos de shell, instalam dependências e se comunicam com serviços externos. Sua utilidade aumenta quando conseguem concluir essas ações sem aprovação constante.

A mesma autonomia amplia seu potencial raio de impacto. Uma instrução enganosa em um repositório pode influenciar um agente antes que um desenvolvedor revise seu comportamento. Um pacote comprometido pode ser executado durante a instalação. Uma permissão de rede desnecessária pode transformar um segredo local em dados que um invasor consegue extrair.

A OWASP descreve agência excessiva como o risco criado por funcionalidade, permissões ou autonomia excessivas. Agentes de programação podem incorporar as três condições. Eles recebem ferramentas capazes, operam em repositórios complexos e repetem ações com supervisão limitada.

Prompts locais de permissão oferecem uma resposta incompleta. Eles interrompem o fluxo de trabalho, enquanto aprovações repetidas incentivam usuários a deixar de avaliar cada solicitação com cuidado. A Anthropic relatou que os usuários aprovaram cerca de 93% dos prompts de permissão do Claude Code antes de introduzir controles automatizados adicionais.

Esse padrão ajuda a explicar a mudança em direção a limites impostos. A própria abordagem de contenção da Anthropic enfatiza limitar o que um agente pode alcançar, em vez de tentar prever cada ação insegura. A Chainguard segue o mesmo princípio amplo, embora combine isolamento com verificação externa de CI.

O CI convencional enfrenta um problema diferente. Em geral, ele opera depois que um desenvolvedor ou agente envia uma alteração. Cada tentativa pode entrar em uma fila, reconstruir um ambiente, buscar dependências e devolver logs por uma interface separada.

Essa sequência funciona quando humanos fazem relativamente poucas alterações deliberadas. Ela se torna mais cara quando agentes geram e testam muitas revisões. Agentes paralelos podem multiplicar o número de builds sem melhorar a qualidade da submissão final.

O modelo da Chainguard antecipa a verificação. Um agente pode chamar o Checks enquanto ainda tem o contexto da tarefa e pode responder imediatamente a uma falha. A empresa quer que a evidência de sucesso acompanhe o commit final.

Isso pressiona provedores de CI estabelecidos, mas não os torna obsoletos. Grandes organizações dependem de integrações maduras, aprovações de implantação, históricos de auditoria, runners personalizados e matrizes de testes complexas. Um serviço beta precisa se encaixar nesses sistemas antes de poder substituir qualquer parte deles.

A pressão também alcança fornecedores de agentes hospedados. A Anthropic já oferece isolamento de sistema de arquivos e rede para o Claude Code, incluindo sessões na nuvem que mantêm credenciais importantes fora do sandbox do agente. O GitHub Codespaces fornece ambientes remotos de desenvolvimento e tokens com escopo de repositório.

Esses produtos podem isolar a execução, mas a Chainguard faz um argumento de segurança mais específico. Ela quer que o workspace, o ambiente de dependências, a configuração de verificações e a evidência de merge formem uma única cadeia. Essa cadeia é o principal diferencial da empresa.

Desenvolvedores devem interpretar o lançamento como uma disputa entre dois desenhos de fluxo de trabalho. Um desenho combina um agente local ou hospedado com sistemas de segurança e CI configurados separadamente. O outro torna o isolamento e a verificação partes do caminho de execução padrão do agente.

O isolamento importa mais do que pedir ao agente que se comporte

A aposta central da Chainguard é que controles de infraestrutura aplicáveis podem conter erros que prompts e políticas de modelo não conseguem impedir de forma confiável.

Cada Chainguard Workspace é executado em uma microVM dedicada, e não em um contêiner de kernel compartilhado. Essa arquitetura estabelece uma fronteira de virtualização entre código não confiável e o host subjacente. Cada tarefa do Checks também recebe uma microVM nova.

A empresa afirma que nenhum diretório do host é montado nessas máquinas. Em vez disso, o conteúdo do repositório é transmitido para o ambiente. Essa escolha reduz a chance de que um processo comprometido passe do diretório do projeto para arquivos não relacionados no host.

A Chainguard também trata o código do repositório como hostil. Essa premissa é útil porque um agente pode encontrar instruções em arquivos de código-fonte, documentação, saída gerada, dependências e ferramentas conectadas. Um usuário confiável não torna confiável todo artefato dentro de um repositório.

O modelo de segurança do sistema separa credenciais persistentes do ambiente convidado. Quando um software precisa de acesso autenticado, um componente fora da microVM adiciona a credencial a uma solicitação aprovada.

Para alguns serviços, o código dentro do Workspace se comunica por um nome de host local. O proxy externo então autentica a solicitação de saída. A Chainguard afirma que ferramentas que esperam credenciais em disco podem receber substitutos criptografados sem valor fora da sessão ativa.

Esse desenho reduz o roubo direto de credenciais, mas não elimina o uso indevido de credenciais. O código dentro da VM ainda pode usar a autoridade associada a uma solicitação aprovada. Um agente malicioso poderia criar um recurso duradouro se a identidade conectada tiver privilégios excessivos.

A Chainguard reconhece esse limite em sua documentação. Ela aconselha clientes a conceder às identidades de carga de trabalho apenas o acesso necessário para cada verificação. As equipes também precisam revisar as credenciais de sessão antes de permitir trabalho sem supervisão.

Os controles de rede acrescentam outra camada. O Checks não recebe acesso à rede por padrão quando a configuração omite uma regra de rede. Proprietários de repositórios podem permitir hosts específicos ou acesso à rede pública quando uma tarefa exigir isso.

Os padrões do Workspace merecem atenção mais próxima. A documentação da Chainguard afirma que uma sessão pode alcançar a internet aberta quando não se aplica uma restrição de saída específica para a verificação. Portanto, equipes que buscam uma postura de negação por padrão precisam configurar a sessão em torno de uma verificação com uma lista de permissões.

Essa diferença ilustra por que isolamento não é um único interruptor. Uma microVM pode separar kernels e ainda permitir ações sensíveis de rede. Um proxy pode proteger valores de credenciais e ainda autorizar solicitações prejudiciais. Um resultado assinado pode provar que os testes passaram sem provar que esses testes foram suficientes.

O modelo se fortalece quando os controles se reforçam mutuamente. A VM limita o alcance local. As regras de saída limitam destinos externos. As credenciais no lado do host reduzem a exposição de segredos. Verificações novas testam o código fora da sessão de desenvolvimento mutável.

As verificações também protegem partes de sua própria política contra a alteração em análise. Segundo a Chainguard, um pull request não pode enfraquecer imediatamente seus próprios requisitos de bloqueio. Remover uma verificação obrigatória ou torná-la meramente consultiva só entra em vigor após a fusão da alteração relevante.

Esse detalhe elimina uma brecha óbvia. Um agente não deve conseguir editar a política que avalia seu trabalho e receber aprovação sob uma política mais fraca. A branch base continua sendo a autoridade que define quais verificações devem ser executadas.

Um ambiente de verificação limpo também evita sucessos acidentais. Um agente pode instalar um pacote não declarado ou alterar um serviço durante o desenvolvimento. Seu código pode parecer funcional naquele Workspace e, depois, falhar para todos os demais.

Executar Checks em microVMs novas expõe essas dependências ocultas. O resultado se assemelha a uma compilação tradicional de CI limpa, mas o serviço retorna as evidências diretamente ao ciclo ativo do agente.

Checks Assinadas Mudam o Significado da Conclusão de um Agente

O recurso mais consequente não é o Workspace remoto. É a tentativa de transformar evidências verificadas de forma independente na condição de saída do agente.

A maioria dos agentes de programação decide que terminou por meio de uma combinação entre julgamento do modelo e saída de ferramentas. O agente vê um comando de teste ser aprovado, resume suas edições e abre um pull request. Essa sequência contém várias lacunas de confiança.

O agente pode executar o teste errado. Pode ignorar uma falha, usar uma saída desatualizada ou testar um ambiente que já não corresponde ao commit enviado. Também pode descrever o resultado com mais confiança do que as evidências permitem.

O Chainguard Checks cria uma autoridade separada. O agente solicita uma execução de verificação definida, recebe um veredito e só pode continuar quando as verificações obrigatórias são aprovadas. O sistema pode vincular um resultado bem-sucedido a um SHA de commit específico, ao ambiente e ao resultado da verificação.

Isso transforma o CI em um controle dentro do ciclo autônomo. Uma execução com falha fornece logs estruturados, que o agente pode usar em outra iteração. Uma execução bem-sucedida produz evidências que outro sistema pode avaliar.

O mecanismo é importante para equipes que executam agentes de manutenção em segundo plano. Considere um agente encarregado de atualizar uma dependência desatualizada em vários repositórios. Ele pode modificar manifests, regenerar lockfiles e executar testes de compatibilidade sem acessar o laptop de um desenvolvedor.

Se uma verificação falhar, a sessão será retomada com seu estado anterior e caches aquecidos. O agente pode inspecionar a falha e tentar uma alteração de versão mais restrita. Ele não precisa que um humano copie logs de uma interface de CI separada.

O mesmo padrão se aplica à refatoração de sistemas legados. Vários agentes podem testar alterações concorrentes em Workspaces separados. Apenas o candidato que passar pelas verificações definidas pelo repositório deve avançar rumo a um pull request.

Atestações assinadas também podem ajudar na governança posterior. Um serviço de merge pode verificar se o commit enviado corresponde ao commit testado. Isso é mais forte do que aceitar um comentário dizendo que um agente executou os testes.

No entanto, uma atestação apenas estabelece fatos sobre o processo que registra. Ela não pode estabelecer que a suíte de testes abrange todas as falhas de segurança. Não pode determinar se o requisito de produto estava correto. Também não pode garantir que uma alteração aprovada merece ser implantada.

Portanto, a abordagem restringe o problema de confiança em vez de resolvê-lo. As equipes não precisam mais confiar no relato de um agente sobre uma execução de testes. Ainda precisam confiar na definição dos testes, na configuração da política, no serviço de execução e na infraestrutura de assinatura.

Esse limite é razoável, mas os compradores precisam compreendê-lo. A expressão "prova criptográfica" pode parecer mais abrangente do que a garantia subjacente. As evidências provam que uma verificação definida produziu um resultado definido para entradas identificadas.

A Chainguard também está entrando em um campo no qual os controles de segurança estão cada vez mais inseridos nas ferramentas de programação. O sistema de sandboxing da Anthropic combina limites de sistema de arquivos com restrições de rede. O GitHub oferece acesso com escopo definido aos repositórios e ambientes remotos por meio do Codespaces.

A anterior integração com Cursor da Chainguard concentrou-se em orientar projetos gerados para pacotes e imagens de contêiner validados. Workspaces e Checks ampliam essa estratégia, da seleção de dependências para a execução e a verificação.

A competição mais ampla não se resume à Chainguard contra um único fornecedor. Trata-se de uma corrida para controlar o limite confiável em torno do código gerado por agentes. Empresas de modelos, plataformas para desenvolvedores, provedores de CI e fornecedores de segurança têm todos reivindicações plausíveis sobre essa camada.

A Beta Ainda Tem Questões de Segurança e Adoção

A arquitetura da Chainguard aborda riscos críveis, mas suas alegações operacionais mais fortes ainda precisam de evidências independentes provenientes de cargas de trabalho empresariais reais.

Ambos os produtos permanecem em versão beta. A Chainguard descreve Workspaces como uma prévia tecnológica, e a documentação atual informa que o Claude Code recebe suporte integrado a credenciais de modelo. Outros agentes podem ser executados em uma sessão, mas o mesmo fluxo de credenciais ainda não se aplica a eles.

Essa limitação importa porque as frotas de agentes empresariais estão se tornando heterogêneas. Uma equipe pode usar um agente para implementação, outro para revisões e ferramentas especializadas para migração ou testes. A política de segurança se torna mais difícil quando cada agente exige um comportamento de integração diferente.

O desempenho é outra questão em aberto. Snapshots aquecidos e dependências pré-compiladas devem reduzir o trabalho repetido de configuração. No entanto, o anúncio não fornece benchmarks comparativos em relação a serviços de CI estabelecidos ou a outros ambientes de desenvolvimento remotos.

As equipes precisam de medições em repositórios realistas. Evidências úteis incluiriam tempo de inicialização a frio, tempo de retomada a quente, taxas de acerto de cache, comportamento de sessões simultâneas e o atraso entre uma verificação com falha e a retomada do trabalho do agente.

A confiabilidade importa tanto quanto a velocidade. Um serviço de verificação se torna um gargalo de desenvolvimento quando os agentes não conseguem concluir tarefas sem ele. As organizações vão querer compromissos de nível de serviço, disponibilidade regional, comportamento de recuperação diante de falhas e regras claras para operação degradada.

O sistema de assinatura também precisa de escrutínio. Os clientes precisam saber como as chaves são protegidas, rotacionadas, auditadas e revogadas. Precisam de um método para verificar atestações de forma independente e decidir em quais emissores seus gates de merge confiam.

A InfoQ observou que a Chainguard não havia publicado detalhes mostrando como os clientes deveriam validar a alegada resistência à adulteração de seus logs. Isso não invalida o design. Identifica uma parte necessária da avaliação de um produto de segurança.

As credenciais do Workspace criam outro risco sutil. Manter um token fora da VM impede que o código leia seu valor bruto. Não impede que o código solicite ao proxy a execução de uma ação autorizada.

Um agente comprometido poderia usar indevidamente o acesso ao GitHub, permissões de nuvem ou uma credencial de LLM por meio de rotas permitidas. A defesa depende de escopos restritos, validação de solicitações, restrições de egress e monitoramento. As equipes não podem delegar esse trabalho de política à microVM.

As integrações no lado do host também merecem atenção. Pesquisadores de segurança mostraram que um sandbox pode perder seu valor quando um componente confiável do host consome uma saída controlada por um invasor. Um arquivo de configuração modificado pode acionar um comportamento privilegiado depois de sair do sandbox.

A arquitetura de streaming e proxy da Chainguard reduz parte da exposição do host, mas os clientes devem testar todo o caminho dos dados. Isso inclui sincronização local, operações Git, extensões de IDE, servidores MCP, automação de merge e qualquer sistema de notificação que receba saída de agentes.

Há também uma contrapartida de adoção. Desenvolvedores querem que os agentes instalem ferramentas, pesquisem documentação, chamem APIs e explorem código desconhecido. Políticas rígidas de egress e credenciais podem interromper essas tarefas. Permissões amplas restauram a conveniência, mas enfraquecem a contenção.

O produto precisa tornar políticas seguras mais fáceis de manter do que configurações locais improvisadas. Caso contrário, as equipes podem criar allowlists permissivas, reutilizar identidades excessivamente privilegiadas ou contornar o sistema para trabalhos urgentes.

O uso, pela Chainguard, de uma configuração compartilhada para Workspaces e Checks pode reduzir a duplicação. Ainda assim, as organizações precisam mapear as dependências, os serviços e os requisitos de teste de cada repositório. Esse esforço de migração moldará a adoção tanto quanto a tecnologia subjacente.

A conclusão cautelosa é direta. A arquitetura contém vários controles bem pensados, especialmente ambientes de verificação novos e credenciais mantidas fora do convidado. A versão beta ainda não estabeleceu como esses controles se comportam em pipelines de produção diversos.

Três Sinais Mostrarão se o Modelo Funciona

O próximo teste é saber se a Chainguard consegue transformar um design de segurança coerente em evidências repetíveis, amplo suporte a agentes e adoção empresarial prática.

O primeiro sinal é a validação técnica publicada. A Chainguard deve fornecer benchmarks reproduzíveis para tempo de inicialização, execução de verificações, comportamento de cache e sessões paralelas. Avaliações independentes do proxy de credenciais, do sistema de atestação e da integridade dos logs teriam ainda mais peso.

Resultados sólidos sustentariam a alegação de que os controles de segurança podem entrar no ciclo do agente sem desacelerá-lo além do uso prático. Resultados ausentes ou selecionados de forma restrita deixariam sem resolução o principal argumento de desempenho.

O segundo sinal é uma integração mais ampla com agentes. Atualmente, Workspaces oferece ao Claude Code o caminho documentado mais claro, enquanto o suporte a agentes adicionais continua planejado. O suporte nativo a outros agentes de programação amplamente usados testaria se a arquitetura é realmente neutra em relação a agentes.

Essa expansão precisa preservar as mesmas propriedades de segurança. Uma lista maior de compatibilidade pouco significa se alguns agentes exigem segredos dentro da VM ou contornam o caminho de verificação previsto.

O terceiro sinal é a evidência de uso empresarial rotineiro. Os estudos de caso mais fortes mostrariam agentes concluindo atualizações de dependências, refatorações ou trabalhos de manutenção em muitos repositórios. Eles deveriam relatar taxas de falha, intervenções humanas, exceções de política e tempo economizado.

O comportamento dos clientes revelará se as verificações assinadas se tornam gates de merge genuínos ou apenas outro indicador de status. Também mostrará se as equipes de segurança conseguem manter restrições úteis sem transformar cada nova ferramenta em uma solicitação de política.

Chainguard Workspaces e Checks chegam enquanto o setor passa de supervisionar o comportamento de agentes para limitar suas capacidades. Essa direção está alinhada às orientações de fornecedores de agentes e grupos de segurança. Ela não garante que esta implementação específica vencerá.

Desenvolvedores que avaliam a versão beta devem começar com um repositório contido e uma identidade restrita. Devem definir regras explícitas de egress, exigir verificações limpas e confirmar que um commit enviado corresponde à sua atestação. As equipes de engenharia também podem documentar essas descobertas em uma base de conhecimento técnica compartilhada.

A questão final é operacional, e não filosófica. O sistema consegue permitir que os agentes trabalhem de forma independente enquanto mantém credenciais, política e autoridade de merge fora de seu controle? A resposta surgirá de dados de verificação, amplitude de integração e prática dos clientes, não apenas do anúncio de lançamento.

 
 

Comece grátis

Um assistente de IA local-first com gestão de conhecimento pessoal

Para oferecer uma experiência de IA melhor,

atualmente, o remio é compatível apenas com Windows 10+ (x64) e M-Chip Macs.

Seu parceiro de IA no trabalho
Faça mais com o remio

Planeje. Crie. Entregue.
Tudo em um só lugar.

bottom of page