No ano passado, vimos uma mudança no que os clientes do Deno Deploy estão construindo: plataformas onde os usuários geram código com LLMs, e esse código é executado imediatamente sem revisão. Esse código frequentemente chama o próprio LLMs, o que significa que precisa de chaves de API e acesso à rede.
Este não é o problema tradicional de “executar plugins não confiáveis”. É mais profundo: código gerado pelo LLM, chamando APIs externas com credenciais reais, sem revisão humana. Colocar a computação em sandbox não é suficiente. Você precisa controlar a saída da rede e proteger os segredos contra exfiltração.
Deno Sandbox oferece ambos. E quando o código estiver pronto, você poderá implantá-lo diretamente no Deno Deploy sem reconstruí-lo.
Assista ao vídeo de anúncio completo aqui.
Caixas de areia?
Você não deseja executar código não confiável (gerado por seus LLMs, LLMs de seus usuários ou mesmo escrito à mão pelos usuários) diretamente em seu servidor. Isso comprometerá seu sistema, roubará suas chaves de API e chamará evil.com. Você precisa de isolamento.
O Deno Sandbox oferece microVMs Linux leves (executando na nuvem Deno Deploy) para executar código não confiável com segurança de defesa profunda. Você cria ou programaticamente por meio de nossos SDKs JavaScript ou Python, e eles inicializam em menos de um segundo. Você também pode interagir com eles via SSH, HTTP ou até mesmo abrir uma janela do VS Code diretamente na sandbox.
import { Sandbox } from "@deno/sandbox";
await using sandbox = await Sandbox.create();
await sandbox.sh`ls -lh /`;Segredos que não podem ser roubados
Mas há mais. No Deno Sandbox, os segredos nunca entram no ambiente. O código vê apenas um espaço reservado:
import { Sandbox } from "@deno/sandbox";
await using sandbox = await Sandbox.create({
secrets: {
OPENAI_API_KEY: {
hosts: ["api.openai.com"],
value: process.env.OPENAI_API_KEY,
},
},
});
await sandbox.sh`echo $OPENAI_API_KEY`;
A chave real se materializa somente quando o sandbox faz uma solicitação de saída para um host aprovado. Se o código injetado imediatamente tentar exfiltrar esse espaço reservado para
evil.com? Inútil.
Controle de saída de rede
Você também pode restringir com quais hosts o sandbox pode se comunicar:
await using sandbox = await Sandbox.create({
allowNet: ["api.openai.com", "*.anthropic.com"],
});Qualquer solicitação para um host não listado é bloqueada no limite da VM.
Ambos os recursos são implementados por meio de um proxy de saída semelhante ao coder/httpjail. Isso nos dá um ponto de estrangulamento para a aplicação de políticas. Planejamos adicionar mais recursos aqui: análises para conexões de saída e ganchos programáticos para código confiável para inspecionar ou modificar solicitações.
Se você estiver executando JavaScript ou TypeScript não confiável, combine isso com o Deno
--allow-net sinalizador para defesa em profundidade: restrições de rede em nível de VM mais permissões em nível de tempo de execução.
Sandbox para produção
sandbox.deploy() implanta o código do seu sandbox diretamente no Deno Deploy.
const build = await sandbox.deploy("my-app", {
production: true,
build: { mode: "none", entrypoint: "server.ts" },
});
const revision = await build.done;
console.log(revision.url);Uma chamada para passar do sandbox para a implantação de produção. Sem reconstrução em um sistema de CI diferente, sem reautenticação com uma ferramenta diferente. Basta transformar seu ambiente de desenvolvimento diretamente em uma implantação sem servidor, pronta para produção e com escalonamento automático.
Persistência
Os sandboxes são efêmeros por padrão, mas quando você precisar de um estado, nós ajudamos você:
- Volumes: armazenamento de leitura e gravação para caches, bancos de dados, dados do usuário
- Instantâneos: imagens somente leitura para conjuntos de ferramentas pré-instalados e base de volume
Correr apt-get install uma vez, faça um snapshot e cada sandbox futuro será inicializado com tudo já instalado. Crie volumes de leitura e gravação a partir dos snapshots para criar um novo ambiente de desenvolvimento em segundos.
Detalhes técnicos
| Especificações | Valor |
|---|---|
| Regiões | Amsterdã, Chicago |
| vCPUs | 2 |
| Memória | 768MB – 4GB |
| Vida | Temporário ou tempo limite (suporta extensão sob demanda) |
| Vida útil máxima | 30 minutos |
| Tempo de inicialização | <1 segundo |
Perfeito para agentes de IA que executam código, ambientes de codificação de vibração, sistemas de plug-ins seguros, executores de CI efêmeros e código fornecido pelo cliente.
Preços
O Deno Sandbox está incluído em seu plano Deno Deploy com preços competitivos baseados no uso. Você paga pelo tempo de computação, não pelo tempo do relógio de parede.
- US$ 0,05/hora Tempo de CPU (40h incluído no Pro)
- US$ 0,016/GB-h memória (1000 GB-h incluída no Pro)
- US$ 0,20/GiB-mês armazenamento de volume (5 GiB incluído no Pro)
Veja detalhes completos de preços →
Preços empresariais disponíveis – entre em contato com deploy@deno.com.
Comece
O Deno Sandbox é lançado hoje em versão beta, juntamente com a disponibilidade geral do Deno Deploy.
Estamos entusiasmados para ver o que você (ou seus agentes de IA) construirá com o Deno Sandbox.
Fonte: theverge

