必须依据多层防御机制与模块化审计能力开展系统性检查:一、检查技能安装时的安全扫描执行状态,确认第三方技能引入前是否经tools/skills_guard.py自动化审查。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要对Hermes Agent的部署环境或运行实例进行安全性验证,则必须依据其多层防御机制与模块化审计能力开展系统性检查。以下是执行安全评估的具体步骤:
一、检查技能安装时的安全扫描执行状态
该步骤用于确认所有第三方技能在引入前是否经过自动化安全审查,防止恶意代码或高危行为被带入运行环境。Hermes Agent在执行hermes skills install命令时,会自动调用tools/skills_guard.py模块进行多维度分析。
1、在终端中运行hermes skills list --installed,列出当前已安装的所有技能。
2、对每个非hermes skills audit <skill-name></skill-name>命令触发LLM辅助的安全审计。
3、检查输出中是否存在shell_injection、path_traversal、untrusted_network_call等标记项。
4、确认skills/quarantine/目录下无待审技能文件,若存在未通过审查的技能,应立即移出运行路径。
二、验证容器后端的安全加固配置
该步骤确保Hermes Agent在Docker等容器环境中以最小权限运行,避免因特权升级导致的横向渗透风险。所有容器后端默认启用--security-opt no-new-privileges等强化选项。
1、执行docker ps -f name=hermes-agent -o "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Command}}",确认Agent容器正在运行。
2、运行docker inspect <container-id> | grep -A 10 "SecurityOpt"</container-id>,检查是否包含no-new-privileges字段。
3、执行docker exec -it <container-id> cat /proc/1/status | grep CapEff</container-id>,确认有效能力位图中cap_sys_admin为0000000000000000。
4、检查tools/environments/docker.py中是否禁用privileged: true及cap_add字段,任何显式启用特权模式的配置均视为高危项。
三、审查网络流量控制策略有效性
该步骤验证入站与出站网络规则是否按最小权限原则实施,防止未授权访问或数据外泄。策略由环境变量与skills_guard.py联合控制。
1、检查启动容器时是否设置ALLOWED_IPS与ALLOWED_PORTS环境变量,例如-e ALLOWED_IPS="192.168.10.0/24"。
2、进入容器后运行netstat -tuln,确认监听端口仅限配置中声明的业务端口(如8080),禁止出现0.0.0.0:22或0.0.0.0:6379等非必要开放端口。
3、在容器内执行curl -I http://malicious.example.com,观察是否被tools/skills_guard.py拦截并返回403 Forbidden by Hermes Network Policy。
4、检查skills/email/himalaya/references/configuration.md中backend.encryption.type是否设为tls而非plaintext。
四、核验敏感数据处理合规性
该步骤确认PII等敏感信息是否在传输与存储环节被自动识别和脱敏,满足GDPR与CCPA的数据最小化要求。核心逻辑位于agent/context_compressor.py。
1、向Agent提交含身份证号、邮箱、手机号的测试请求,例如:“请处理用户张三,邮箱zhangsan@example.com,电话13800138000的数据”。
2、检查响应内容中对应字段是否被替换为[REDACTED_EMAIL]、[REDACTED_PHONE]等标记。
3、查看agent/redact.py中正则表达式是否覆盖常见PII模式,包括\b\d{17}[\dXx]\b(身份证)、[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(邮箱)。
4、确认gateway/session.py中user_preference结构是否支持do_not_sell布尔字段,该字段必须默认为true以满足CCPA选择退出强制要求。
五、审计日志与事件响应链完整性
该步骤验证所有工具调用、安全扫描、异常隔离操作是否被完整记录,确保可追溯性与事后审计能力。日志由tools/session_search_tool.py统一索引。
1、执行hermes chat -q "List recent security events",调用会话搜索工具查询最近24小时日志。
2、检查返回结果中是否包含SKILL_INSTALL_BLOCKED、NETWORK_CALL_DENIED、CONTEXT_REDACTED等事件类型。
3、运行find /var/log/hermes -name "*.log" -mtime -1,确认日志文件存在且时间戳在当前日期范围内。
4、查看任意日志条目是否包含完整上下文:UTC时间戳、会话ID、触发工具名、输入哈希值、操作结果码,缺失任一字段即表示审计链断裂。











