Ir para o conteúdo
Voltar

Como compilar agentes sem entregar o desktop às dependências

Fixe a fonte, analise o grafo de pacotes e compile sem rede em Docker. O isolamento continua necessário depois que o aplicativo estiver pronto.

Rota Nacional · Publicado · Revisado

Separe obter, instalar, compilar e executar

Um pacote pode executar código durante a instalação ou a compilação. Baixar a fonte oficial e compilar no terminal do usuário ainda expõe os arquivos e as credenciais desse terminal. O primeiro limite deve existir antes desses passos.

Para o Hermes Desktop light, usamos um container de trabalho. A fonte entrou somente para leitura. Uma pasta de saída recebeu dependências e artefatos. Nenhuma chave de modelo, pasta pessoal, sessão SSH ou socket do Docker entrou nesse ambiente.

Registre a origem antes de instalar

  • Escolha uma revisão exata do repositório oficial. Registre o commit, a versão, a licença e o hash do arquivo obtido.
  • Confira se a versão da interface corresponde à do agente. A prova desta série usou a base v0.22.6, commit f0d94882e89ab8d4098b5bb2f166adfb9ee0a0ab. Isso registra uma base testada; não recomenda manter essa versão sem atualizações.
  • Leia os comandos de instalação e os scripts que o projeto executa. Preserve o lockfile de origem antes de uma migração de gerenciador.
  • Fixe também a imagem do compilador por digest. Monte apenas os arquivos necessários e limite memória, CPU, processos e duração.

Analise o grafo e desative scripts automáticos

O fluxo aplicado importou o lockfile para pnpm e manteve uma lista exata de adaptações. O Socket analisou as 1.181 versões do grafo antes da instalação. Alertas de segurança levaram a atualizações específicas de dependências, registradas no patch e no lockfile congelado.

A instalação manteve ignoreScripts ativo. Os passos necessários do Electron e do terminal nativo foram executados depois, de forma explícita, dentro do container. Uma recusa do guard pede análise da causa. Trocar o comando para fugir da verificação retira o controle.

A análise de pacotes ajuda a encontrar riscos conhecidos. Ela não comprova a ausência de código malicioso. Integridade do download, revisão dos scripts e limite de acesso continuam necessários.

Feche a rede antes da compilação final

Prepare antes o Electron, seus cabeçalhos e as ferramentas de empacotamento. Confira os downloads. Depois execute a compilação final com --network none. Não monte o store compartilhado de pacotes nessa etapa se a compilação já tem todos os arquivos.

Um processo contaminado continua podendo alterar os artefatos que produz. Por isso, registre os hashes do pacote, mantenha a origem das alterações e rode também o aplicativo em um ambiente restrito. Compilar sem rede reduz canais disponíveis durante o build; não certifica o resultado.

Prove o pacote que você vai abrir

O primeiro pacote do Hermes desta instalação falhou ao pré-carregar arquivos locais no Electron. O build havia passado. As opções modulePreload: false e cssCodeSplit: false do Vite corrigiram a abertura. A navegação e as configurações foram então conferidas na interface real.

O pacote registra source: local e dirty: true, pois recebeu adaptações. A prova deve registrar também o que ficou de fora: neste caso, o auxiliar opcional de teclas do HUD e uma conversa com modelo. A RN ainda precisava receber uma chave própria pelo aplicativo.

Perguntas frequentes

Um hash comprova que o pacote é seguro?

O hash identifica os bytes conferidos. Ele não avalia o comportamento. Uma origem comprometida também pode distribuir um arquivo com hash consistente.

Posso executar o aplicativo fora do isolamento depois de compilar?

Isso devolve os acessos normais do usuário ao aplicativo. Nesta instalação, a compilação em Docker e a execução em Bubblewrap atendem a momentos diferentes do risco.

Continue a leitura

Procurando outra coisa?AjudaContato