Edison Watch

Segurança do Modo Código (Beta)

Execução segura de MCP-como-código com sandboxing, análise de AST e rastreamento de contaminação.

O Modo Código permite que agentes executem código TypeScript para encadear múltiplas ferramentas MCP, em vez de fazer chamadas individuais de ferramentas. Essa abordagem reduz significativamente a latência e o uso de tokens, mas introduz novas considerações de segurança.

Recurso Beta: A Segurança do Modo Código está atualmente em beta. Recursos e APIs podem mudar.

O Edison Watch protege o Modo Código com uma arquitetura de defesa em profundidade combinando execução em sandbox, análise estática e rastreamento de dados ciente de contaminação (taint-aware).

Por que Modo Código?

Agentes tradicionais sofrem de deterioração de contexto. A entrada e saída de cada chamada de ferramenta deve ser adicionada à janela de contexto do LLM. Conectar um agente a muitos servidores MCP leva à deterioração de contexto, pois definições de ferramentas consomem tokens mesmo antes de qualquer ação ser tomada. Para processamento de dados complexos (ex: "resuma estes 20 arquivos"), isso pode consumir centenas de milhares de tokens apenas para mover dados.

Modo Código resolve isso permitindo que o agente escreva um script para processar dados dentro do ambiente seguro. O LLM vê apenas o resultado final, frequentemente reduzindo o uso de tokens em mais de 90%.

Gerador MCP-para-TypeScript

Arquitetura de Segurança

O Edison Watch emprega três camadas de defesa para tornar o Modo Código seguro para implantação corporativa.

1. O Sandbox Deno (Proteção RCE)

O código executa em um sandbox Deno seguro com permissões estritas:

  • Sem Acesso à Rede: O script não pode fazer requisições HTTP arbitrárias. Ele só pode chamar ferramentas MCP permitidas.
  • Sem Escrita no Sistema de Arquivos: O script não pode modificar o sistema de arquivos do host.
  • Limites de Recursos: Limites fixos no tempo de execução (90s), memória (256MB) e tamanho de saída (10MB).
Diagrama de Implementação do Modo Código

2. Análise AST (Analisabilidade)

Antes da execução, o Edison Watch analisa a Árvore de Sintaxe Abstrata (AST) do script para impor um subconjunto estrito de TypeScript. Isso previne técnicas de ofuscação que atacantes usam para esconder comportamento malicioso.

Modo Estrito: Bloqueamos recursos dinâmicos como eval(), new Function() e importações dinâmicas (ex: import(variavel)). O código deve ser estaticamente analisável para rodar.

3. Tríade Ciente de Contaminação (Proteção de Dados)

O modelo "Tríade Letal" tradicional (bloquear Dados Privados + Conteúdo Não Confiável + Comunicação Externa) pode ser muito agressivo para execução de código. O Modo Código usa rastreamento de contaminação para ser mais preciso.

A Abordagem "Bisturi"

Em vez de sinalizar a sessão inteira quando uma ferramenta sensível é chamada, o Edison Watch rastreia o fluxo real de variáveis de dados dentro do script.

Exemplo: O Problema do Calendário Imagine que um agente lê um convite de calendário para verificar sua disponibilidade. O corpo do convite contém conteúdo não confiável (potencial injeção de prompt), mas os horários de início/fim são metadados seguros.

  • Tríade Tradicional: Bloqueia a ação porque "Calendário" (Privado) e "Corpo do Convite" (Não Confiável) foram acessados, mesmo que o agente tenha apenas imprimido o horário.
  • Rastreamento de Contaminação do Modo Código: Analisa o script. Se o código console.log(event.startTime) mas nunca registra event.body, o Edison sabe que o conteúdo não confiável nunca deixou o sandbox. A ação é permitida.

Essa precisão reduz falsos positivos enquanto mantém garantias de segurança estritas.

Observabilidade

Cada execução do Modo Código é totalmente auditada. O sistema registra:

  • O código TypeScript exato gerado pelo agente.
  • Resultados de validação e quaisquer erros AST.
  • Saída do console e valores de retorno.
  • Quais caminhos de dados específicos foram marcados como contaminados.

Esses detalhes são armazenados nos logs de auditoria seguros.

Limites Operacionais

Para prevenir negação de serviço (DoS) e abuso, o Modo Código impõe limites rígidos:

MétricaLimite
Tempo de Execução90 segundos
Memória256 MB
Tamanho de Saída10 MB

FAQ


On this page