Segurança do Hermes Agent: riscos e melhores práticas
Jul 31, 2026
/
Faradilla A.
/
12 min de leitura
A segurança do Hermes Agent é um conjunto de controles de segurança integrados que ajudam a proteger agentes de IA auto-hospedados contra acesso não autorizado, execução de comandos inseguros, exposição de credenciais, ataques de injeção de prompt e outros riscos de segurança.
Os controles de segurança mais importantes do Hermes Agent:
- Autorização de usuários por meio de listas de permissão, emparelhamento de usuários e plataformas de mensagens compatíveis.
- Fluxos de aprovação para comandos de terminal de alto risco.
- Proteção integrada que bloqueia comandos irreversíveis e destrutivos.
- Execução em sandbox com o Docker e outros backends isolados.
- Proteção para chaves de API, tokens e outras credenciais confidenciais.
- Filtragem de variáveis de ambiente e ocultação de credenciais para servidores MCP.
- Detecção de injeção de prompt para arquivos de contexto e conteúdo externo.
- Isolamento de sessão entre usuários e conversas.
- Restrições a sites e proteção contra SSRF para redes privadas.
- Proteções na cadeia de suprimentos para dependências opcionais e pacotes de runtime.
Como funciona a segurança do Hermes Agent
A segurança do Hermes Agent usa várias camadas de segurança independentes que controlam quem pode acessar o agente, quais ações ele pode realizar, quais recursos ele pode acessar e como o conteúdo externo é processado.
Os controles de acesso restringem o uso do agente a usuários autorizados, plataformas autorizadas e conversas autorizadas. As plataformas de mensagens e gateways podem aplicar listas de permissão, fluxos de emparelhamento e políticas de autorização de usuários antes que as solicitações cheguem ao agente.
Quando o Hermes Agent realiza ações potencialmente perigosas, os fluxos de aprovação de comandos podem exigir confirmação humana antes da execução.
Para um pequeno conjunto de operações altamente destrutivas, o Hermes aplica proteções inegociáveis que bloqueiam a execução, independentemente das configurações de aprovação.
Você pode isolar a execução de comandos por meio de backends de terminal em contêineres ou outros ambientes em sandbox.
Executar ferramentas dentro de contêineres Docker ou outros ambientes isolados limita o acesso ao sistema host e reduz o impacto de ações maliciosas, comprometidas ou não intencionais.
O Hermes também protege credenciais confidenciais por meio de filtragem de variáveis de ambiente, ocultação de credenciais, integrações com gerenciadores de segredos e encaminhamento restrito dessas credenciais.
Integrações externas, como servidores MCP, recebem apenas um conjunto limitado de variáveis de ambiente, a menos que um acesso adicional seja explicitamente configurado.
Para reduzir os riscos de injeção de prompt, o Hermes verifica arquivos de contexto compatíveis e conteúdo externo em busca de instruções potencialmente inseguras antes de incorporá-los aos fluxos do agente.
Listas de bloqueio de sites e proteções contra SSRF ajudam a impedir o acesso a redes privadas, endpoints de metadados de provedores de nuvem, serviços localhost e outros recursos confidenciais.
Proteções adicionais incluem isolamento de sessão entre conversas, sanitização de entrada, proteções da cadeia de suprimentos para dependências opcionais e restrições de rede configuráveis.
Juntas, essas camadas reduzem a probabilidade de que um prompt comprometido, uma credencial exposta, uma integração insegura ou um erro de configuração possam levar a um incidente de segurança mais grave.
Práticas recomendadas para proteger o Hermes Agent
Proteja o Hermes Agent combinando controles de acesso, aprovações de comandos, isolamento de execução, proteção de credenciais e restrições de rede.
Depois de configurar o Hermes Agent, comece definindo listas de permissão de usuários e o emparelhamento por mensagens diretas (DMs) para que apenas os usuários autorizados possam interagir com o agente.
Em seguida, configure políticas de aprovação para comandos perigosos, escolha um backend de terminal isolado, como o Docker, restrinja o encaminhamento de credenciais e revise as proteções para conteúdo externo e acesso à rede.
As implantações mais seguras do Hermes Agent combinam configurações em ~/.hermes/config.yaml e ~/.hermes/.env (ou os arquivos equivalentes em um diretório de perfil) com controles de infraestrutura, como firewalls, VPNs, redes privadas, isolamento de contêineres e permissões restritas no host.
Restrinja quem pode acessar o Hermes Agent
O Hermes Agent restringe o acesso por meio de listas de permissão de usuários e controles de emparelhamento. Antes de disponibilizar o Hermes Agent pelo Telegram, Discord, gateways ou outras integrações, defina exatamente quais usuários têm permissão para interagir com ele.
As configurações de controle de acesso são definidas no arquivo ~/.hermes/.env e, quando for o caso, no ~/.hermes/config.yaml.
Para implantações no Telegram, adicione os nomes de usuário aprovados à variável TELEGRAM_ALLOWED_USERS no arquivo ~/.hermes/.env.
As implantações no Discord usam DISCORD_ALLOWED_USERS, enquanto as implantações em gateways usam GATEWAY_ALLOWED_USERS. Qualquer usuário que não estiver nessas listas de permissão tem o acesso negado.
Evite habilitar acesso irrestrito por meio de configurações como GATEWAY_ALLOW_ALL_USERS=true. Embora isso possa ser útil para testes, as implantações em produção devem sempre restringir o acesso a usuários explicitamente aprovados.
Se você usa o emparelhamento por mensagem direta, revise e aprove as solicitações de emparelhamento antes de conceder acesso ao agente.
O Hermes oferece comandos como hermes pairing approve e hermes pairing revoke para gerenciar usuários autorizados e remover o acesso quando ele não for mais necessário.
Os controles de acesso do Hermes funcionam melhor quando combinados com proteções no nível da rede. Restrinja o acesso a redes confiáveis, VPNs, proxies reversos ou infraestrutura privada sempre que possível, especialmente ao expor endpoints de gateway a vários usuários.
Revise regularmente as listas de permissão e os usuários emparelhados. Remover usuários inativos, integrações não utilizadas e regras de acesso desatualizadas reduz a superfície de ataque e ajuda a impedir acessos não autorizados.
Exija aprovação para comandos perigosos
O Hermes Agent inclui um sistema de aprovação integrado que interrompe temporariamente comandos perigosos até que um usuário os revise e aprove. Essa proteção ajuda a evitar alterações acidentais no sistema, execução de comandos inseguros e ações acionadas por prompts maliciosos.
Configure o comportamento de aprovação na seção approvals do arquivo ~/.hermes/config.yaml. O Hermes oferece os modos de aprovação manual, smart e off.
Em ambientes de produção, use approvals.mode: manual ou approvals.mode: smart para que comandos perigosos não possam ser executados sem revisão ou análise de risco.
Evite ativar o modo YOLO em sistemas de produção. Executar o Hermes com hermes --yolo, usar o comando /yolo ou definir HERMES_YOLO_MODE=1 desativa as verificações de aprovação e permite que os comandos sejam executados sem confirmação.
O Hermes ainda aplica uma lista de bloqueio inegociável para operações catastróficas, como a exclusão do sistema de arquivos raiz, fork bombs e comandos que destroem diretamente o disco.
A aprovação baseada em revisão protege contra comandos arriscados, mas potencialmente legítimos. Uma lista de bloqueio inegociável separada impede a execução de operações catastróficas, independentemente das configurações de aprovação.
Analise cuidadosamente as solicitações de aprovação antes de aprová-las. Comandos inesperados, solicitações que excedam o escopo original da tarefa ou ações direcionadas a sistemas sensíveis merecem uma análise mais detalhada antes da execução.
Execute comandos em um ambiente isolado
O Hermes Agent pode executar comandos de terminal por meio de backends isolados, em vez de executá-los diretamente no sistema host. Para implantações de gateway em produção, use um backend como Docker, Singularity, Modal ou Daytona para separar os comandos executados pelo agente da máquina que executa o Hermes.
Aviso! Ao usar backends em contêineres ou ambientes de sandbox na nuvem, o Hermes considera o ambiente isolado como o principal limite de segurança e não aplica verificações de aprovação para comandos perigosos dentro da sandbox.
Defina o backend do terminal em ~/.hermes/config.yaml. Para isolamento com Docker, configure:
terminal: backend: docker docker_image: "nikolaik/python-nodejs:python3.11-nodejs20" docker_forward_env: [] container_cpu: 1 container_memory: 5120 container_disk: 51200 container_persistent: true
O Hermes aplica configurações reforçadas do Docker ao usar o backend de terminal do Docker, incluindo a remoção de capacidades do Linux (Linux capabilities), proteção contra escalonamento de privilégios, limites de processos e sistemas de arquivos temporários restritos.
Limites de recursos como container_cpu, container_memory e container_disk ajudam a impedir que comandos descontrolados consumam os recursos do host.
Deixe docker_forward_env vazio, a menos que uma tarefa precise explicitamente de uma variável de ambiente específica. Qualquer variável adicionada a essa lista é injetada no contêiner e pode ser lida pelo código em execução nele.
Escolha a persistência com cuidado. Com container_persistent: true, o Hermes preserva o sistema de arquivos do contêiner entre as sessões.
Com container_persistent: false, o espaço de trabalho é temporário e é removido durante o processo de limpeza. Use o modo persistente quando as tarefas precisarem de continuidade e o modo efêmero quando o isolamento for mais importante do que o estado salvo.
Para um isolamento de rede ainda maior, execute os comandos em um servidor separado por meio do backend de terminal SSH. Armazene os valores de conexão SSH em ~/.hermes/.env em vez de compartilhá-los por meio de configuração exportada.
Proteja chaves de API e outras credenciais
O Hermes Agent armazena chaves de API, tokens e outros segredos em ~/.hermes/.env por padrão.
O Hermes também oferece suporte ao gerenciamento externo de segredos por meio do Bitwarden Secrets Manager, permitindo que as credenciais sejam armazenadas fora do sistema de arquivos local e recuperadas na inicialização.
Restrinja o acesso ao arquivo ~/.hermes/.env e evite enviá-lo para o controle de código-fonte, compartilhá-lo entre usuários ou expô-lo por meio de backups e logs.
Em sistemas Linux e macOS, limite o acesso ao arquivo com:
chmod 600 ~/.hermes/.env
Isso garante que só o proprietário do arquivo possa ler ou modificar as credenciais armazenadas.
Revise com cuidado as configurações de encaminhamento de variáveis de ambiente ao usar backends de execução isolados. O Hermes só encaminha as variáveis listadas em docker_forward_env ou em outras configurações de encaminhamento específicas do backend.
Mantenha essas listas o mais curtas possível e inclua apenas as credenciais que uma tarefa exige explicitamente.
O Hermes também filtra as variáveis de ambiente antes de expô-las a sessões de terminal, ambientes de execução de código e servidores MCP.
As credenciais não são encaminhadas automaticamente para processos filhos, contêineres ou serviços externos, a menos que isso seja explicitamente permitido por meio das configurações de encaminhamento ou da configuração geral.
Arquivos de credenciais exigem o mesmo nível de proteção. Se você usar o encaminhamento de credenciais por meio de terminal.credential_files, exponha apenas os arquivos necessários para a carga de trabalho.
Ao usar servidores MCP, defina explicitamente quais variáveis de ambiente cada servidor precisa. Revise regularmente as credenciais armazenadas e remova chaves de API, tokens e arquivos de credenciais que não estiverem em uso.
Bloqueie ataques de injeção de prompt
O Hermes Agent inclui várias proteções contra ataques de injeção de prompt, incluindo a verificação de arquivos de contexto, a sanitização de entradas e a verificação de segurança opcional do Tirith.
Esses controles ajudam a identificar instruções maliciosas ocultas em arquivos de contexto, documentos, conteúdo da web e outras fontes externas antes que elas influenciem o comportamento do agente.
Os arquivos de contexto carregados no Hermes são automaticamente verificados em busca de padrões de injeção de prompt, ajudando a detectar instruções que tentam substituir o comportamento do sistema, contornar proteções, acessar credenciais ou forçar o agente a realizar ações não autorizadas.
Ative o Tirith, uma ferramenta opcional de verificação de segurança integrada ao Hermes Agent, no arquivo ~/.hermes/config.yaml para inspecionar comandos e prompts em busca de comportamentos potencialmente perigosos.
O Hermes oferece várias configurações relacionadas ao Tirith, incluindo security.tirith_enabled e security.tirith_fail_open. A configuração security.tirith_fail_open controla o que acontece quando o Tirith não consegue concluir uma verificação de segurança.
Quando ativada, o Hermes permite que o comando prossiga mesmo que a verificação falhe. Quando desativada, o Hermes bloqueia a execução até que a verificação seja bem-sucedida ou o problema seja resolvido.
Analise essa configuração com cuidado antes de implantar o Hermes em ambientes que executam comandos ou interagem com sistemas de produção.
As proteções contra injeção de prompt funcionam melhor quando combinadas com aprovações de comandos e ambientes de execução isolados. Se instruções maliciosas chegarem ao modelo, os fluxos de aprovação e a execução em sandbox reduzem a probabilidade de que elas resultem em ações prejudiciais.
Analise regularmente os comandos bloqueados, as solicitações de aprovação e os avisos relacionados à segurança para identificar atividades incomuns e tentativas de contornar as políticas.
Restrinja o acesso ao conteúdo externo
O Hermes Agent inclui controles que limitam quais sites, URLs e recursos externos o agente pode acessar e ajudam a impedir interações com destinos de rede inseguros ou confidenciais.
Essas proteções reduzem o risco de ataques de injeção de prompt, sites maliciosos e falsificação de solicitação do lado do servidor (SSRF).
Configure as restrições de sites em ~/.hermes/config.yaml usando security.website_blocklist.
Adicione os domínios que o agente nunca deve acessar, como portais administrativos internos, sistemas confidenciais da empresa ou sites que não sejam necessários para as tarefas do agente.
Por padrão, o Hermes bloqueia o acesso a redes privadas, endereços de loopback, endereços link-local, serviços de metadados de provedores de nuvem e outros destinos não públicos.
Essa proteção ajuda a impedir ataques SSRF que tentam usar o agente para acessar serviços internos que não são acessíveis publicamente.
Evite desativar essa proteção, a menos que um caso de uso específico exija isso. A configuração security.allow_private_urls substitui essa proteção e só deve ser ativada depois de avaliar as implicações de segurança.
Revise regularmente as ferramentas de acesso à web, as integrações com navegadores e os serviços externos para garantir que o agente só tenha acesso aos recursos necessários para sua carga de trabalho.
O número e o tipo de integrações necessárias variam bastante entre os casos de uso do Hermes Agent, então as políticas de acesso devem refletir as tarefas que o agente deve realizar.
Limitar o acesso externo reduz o número de fontes pelas quais instruções maliciosas, dados confidenciais ou conteúdo inesperado podem ser introduzidos no sistema.
Ative o registro de logs e o monitoramento
Por padrão, o Hermes armazena logs em ~/.hermes/logs/. Garanta que esse diretório seja acessível aos administradores e esteja incluído nos seus processos de monitoramento operacional.
Analise os logs regularmente em busca de sinais de problemas de segurança ou operacionais, como:
- Tentativas de acesso não autorizado
- Falhas repetidas de comando
- Solicitações de aprovação inesperadas
- Ações bloqueadas
- Problemas de autenticação
- Comportamento incomum do agente
Investigar esses eventos logo no início pode ajudar a identificar configurações incorretas e possíveis problemas de segurança antes que eles se transformem em problemas maiores.
Para implantações em produção, considere encaminhar os logs do Hermes para a plataforma centralizada de logs da sua organização.
A coleta centralizada de logs facilita a pesquisa de eventos históricos, a correlação de atividades entre sistemas e a retenção de registros por períodos mais longos.
O registro de logs é mais eficaz quando combinado com os outros controles de segurança abordados neste guia.
Analise os alertas de segurança e execute o comando hermes doctor periodicamente para identificar problemas de segurança conhecidos, dependências vulneráveis e problemas de configuração que possam exigir atenção.
Ameaças comuns à segurança do Hermes Agent
As práticas de segurança do Hermes Agent protegem contra riscos comuns associados a agentes de IA auto-hospedados e à execução automatizada de comandos, incluindo:
- Acesso não autorizado – Usuários que não deveriam ter acesso ao agente podem enviar solicitações ao agente, executar comandos ou interagir com ferramentas e serviços conectados. Esse risco aumenta quando os endpoints do gateway ficam expostos publicamente ou quando as listas de permissão de usuários não estão configuradas corretamente.
- Vazamento de dados entre sessões – Informações de um usuário, conversa ou sessão podem ficar acessíveis a outro usuário se os limites da sessão não forem aplicados corretamente. O Hermes usa controles de isolamento de sessão para impedir que conversas acessem dados ou estados pertencentes a outras sessões.
- Execução de comandos perigosos – O agente pode gerar comandos que modificam arquivos, realizam instalações de software, excluem dados ou alteram configurações do sistema. Sem fluxos de trabalho de aprovação e controles de execução, essas ações podem afetar o sistema host ou a infraestrutura conectada.
- Ataques de injeção de prompt – Instruções ocultas em documentos, sites, e-mails ou conteúdo recuperado tentam substituir o comportamento pretendido do agente. Ataques de injeção de prompt bem-sucedidos podem influenciar o uso da ferramenta, a execução de comandos ou decisões de acesso a dados.
- Exposição de credenciais – Chaves de API, tokens de acesso e outros segredos podem vazar por meio de prompts, logs, integrações, código gerado ou ambientes de execução mal configurados. Credenciais expostas podem dar acesso direto a serviços externos e dados confidenciais.
- Conteúdo externo malicioso – Documentos, sites, arquivos de contexto, e-mails e outros conteúdos externos podem conter instruções ocultas, comandos perigosos ou links enganosos criados para influenciar o comportamento do agente. O Hermes inclui verificação de conteúdo, restrições de sites e validação de segurança para reduzir esses riscos.
O Hermes Agent é mais seguro que o OpenClaw?
O Hermes Agent e o OpenClaw usam modelos de segurança diferentes e se concentram em requisitos operacionais distintos. A opção mais segura depende de como cada plataforma é implantada, configurada e gerenciada.
O Hermes se concentra em proteger a execução de agentes auto-hospedados por meio de autorização de usuários, aprovações de comandos, isolamento de execução, filtragem de credenciais, defesas contra injeção de prompts e restrições a recursos externos.
O OpenClaw dá mais ênfase à auditoria de implantação, às análises de segurança do gateway, à validação de configurações e aos fluxos de gerenciamento de segredos.
Diferenças de segurança entre o Hermes Agent e o OpenClaw:
Área de segurança | Hermes Agent | OpenClaw |
Controles de acesso de usuários | Listas de usuários autorizados e controles de emparelhamento | Controles de segurança no nível do gateway e auditoria de implantação |
Execução de comandos | Fluxos de aprovação integrados e proteções contra comandos perigosos | Políticas de execução configuráveis com verificações de auditoria de segurança |
Isolamento de execução | Backends Docker, Modal, Daytona, Singularity e SSH | Docker, SSH e backends de execução em ambiente isolado |
Proteção de credenciais | Filtragem de credenciais do MCP e encaminhamento controlado de variáveis de ambiente | Gerenciamento de segredos e auditorias de credenciais baseadas no SecretRef |
Proteção contra ataques de injeção | Verificação com o Tirith, verificação de arquivos de contexto e sanitização de entradas | Concentra-se principalmente em controles de segurança relacionados à implantação e ao ambiente de execução |
Auditoria de segurança | Logs de execução e monitoramento | Comandos integrados de auditoria de segurança e revisões de configuração |
Proteções de rede | Listas de bloqueio de sites e proteções contra SSRF | Reforço da segurança do gateway e verificações de validação de segurança |
O Hermes Agent é mais indicado para operadores individuais e pequenas equipes que querem um agente auto-hospedado capaz de escrever código, executar comandos, interagir com APIs e automatizar fluxos de trabalho, mantendo um controle rigoroso sobre a execução, as credenciais e o acesso externo.
O OpenClaw é a melhor opção para implantações compartilhadas, nas quais vários usuários acessam o mesmo ambiente e os administradores precisam de auditorias de segurança integradas, revisões de configuração, verificações de reforço da segurança do gateway e supervisão centralizada das atividades do agente.
Qual é a maneira mais segura de implantar o Hermes Agent?
A implantação mais segura do Hermes Agent combina infraestrutura isolada, acesso restrito à rede, atualizações regulares e controles de acesso rigorosos.
Existem três maneiras comuns de executar o Hermes Agent:
Opção de implantação | Considerações de segurança |
Máquina local | É fácil de configurar, mas compartilha recursos, credenciais e arquivos com sua estação de trabalho pessoal. |
VPS autogerenciado | Oferece maior isolamento e controle, mas exige que você mesmo configure firewalls, atualizações, backups, monitoramento e controles de acesso. |
Hospedagem gerenciada do Hermes | Oferece um ambiente dedicado para o Hermes sem que você precise criar e manter manualmente a infraestrutura necessária. |
Para implantações de longa duração, use um ambiente dedicado em vez de executar o Hermes no seu computador pessoal. A hospedagem gerenciada do Hermes cuida das atualizações de infraestrutura, patches de segurança, backups e manutenção do servidor, o que a torna a opção mais simples se você não quiser lidar com essas responsabilidades. Um VPS autogerenciado dá a você mais controle sobre as regras de firewall, o acesso à rede, o isolamento de execução e as outras proteções no nível do servidor abordadas neste guia.
Use um backend isolado, como o Docker, se o Hermes executar comandos, escrever código ou interagir com sistemas externos. O isolamento por contêineres limita o impacto de comandos inesperados e reduz o risco de alterações no nível do host.
Se você escolher um VPS autogerenciado, procure um provedor que ofereça recursos compatíveis com uma configuração segura.
A implantação do Hermes Agent com um clique da Hostinger oferece um ambiente pré-configurado com recursos VPS dedicados, proteção de firewall integrada, backups automatizados e ferramentas de gerenciamento do Docker.
Isso reduz a quantidade de configuração manual necessária antes de aplicar os controles de segurança do Hermes e facilita a manutenção de um ambiente dedicado, separado do seu computador pessoal.
Não importa onde o Hermes seja executado, siga estas práticas de implantação:
- Execute o Hermes como um usuário não root.
- Restrinja o acesso por meio de firewalls, VPNs ou redes privadas.
- Mantenha o arquivo
~/.hermes/.envprotegido e fora do controle de versão. - Revise regularmente as listas de permissão e as configurações de aprovação.
- Atualize o Hermes sempre que forem lançadas correções de segurança.
- Use backends de execução isolados para cargas de trabalho com muitos comandos.
Todo o conteúdo dos tutoriais deste site segue os rigorosos padrões editoriais e valores da Hostinger.
Comentários
0 responses