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
Como limitar um agente de IA com Docker
Separe os arquivos do agente, limite recursos e feche a rede. Veja o perfil aplicado ao Hermes e o papel da Rota Nacional.
Hermes Desktop no Linux com Bubblewrap
Mantenha a interface oficial em uma janela própria, sem entregar a pasta pessoal, o X11 ou os serviços da sua sessão ao aplicativo.
Como ligar um agente à RN com a rede restrita
Use um canal com destino fixo, uma chave própria e o contrato correto. Entenda a diferença entre controle de acesso e barreira de privacidade.