应启用anomaly数据扩散防护策略:一、启用扩散拦截器并配置敏感模式;二、设置技能级白名单;三、开启pty输出净化;四、部署日志审计钩子;五、强制技能输入沙箱。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用Hermes Agent执行数据处理任务时,发现敏感字段、日志内容或配置信息意外传播至非预期目标(如公开API响应、第三方工具输出、终端回显或文件写入路径),则可能是由于Anomaly模块未启用数据扩散防护策略。以下是解决此问题的步骤:
一、启用Anomaly数据扩散拦截器
Anomaly模块内置扩散拦截器可实时识别并阻断含PII、密钥、路径、凭证等高风险模式的数据外泄行为,基于正则匹配与语义指纹双重校验机制生效。
1、进入Hermes Agent主目录,打开anomaly/config.yaml文件。
2、将enable_diffusion_guard字段值修改为true。
3、在patterns节点下确认已包含以下关键规则:"secret_key|api_key|sk-[a-zA-Z0-9]{32}|/root/.ssh/|PASSWORD=|TOKEN=|AWS_ACCESS_KEY_ID"。
4、保存文件后执行hermes anomaly reload命令重载配置。
二、配置技能级扩散白名单
针对确需跨域传递的合法数据流(如调试用测试ID、脱敏后的用户编号),可通过技能白名单绕过全局拦截,避免误杀正常业务逻辑。
1、定位至skills/目录下对应技能的SKILL.md文件(例如skills/file_operations/SKILL.md)。
2、在metadata区块中添加diffusion_whitelist字段。
3、填入允许扩散的字段名列表,格式为:["user_id", "order_ref", "trace_id"]。
4、确保该技能调用前已通过hermes skill validate --name=file_operations验证语法合法性。
三、启用PTY输出内容净化
Hermes Agent通过PTY执行系统命令时,原始stdout/stderr可能携带未过滤的敏感上下文;启用输出净化可在终端回显前自动擦除匹配扩散模式的内容。
1、编辑environments/pty_config.py文件。
2、将sanitize_output参数设为True。
3、确认sanitize_rules列表中包含lambda x: re.sub(r"(?i)(password|token|key)\s*[:=]\s*\S+", "[REDACTED]", x)。
4、重启Hermes Agent服务使变更生效:hermes service restart。
四、部署Anomaly日志审计钩子
通过在log pipeline中注入Anomaly审计钩子,可捕获所有出向数据流快照,用于离线比对与扩散溯源,不干预实时执行但提供完整可观测性。
1、在config/logging.yaml中找到handlers.console.filters节点。
2、追加anomaly_audit_filter至filters列表。
3、在filters区块下新增anomaly_audit_filter定义,type设为AnomalyAuditFilter,level设为INFO。
4、确保log_dir路径具备写权限,且磁盘剩余空间≥512MB。
五、强制启用技能输入沙箱
防止恶意构造的输入参数触发隐式扩散(如通过--output参数指定/tmp/secrets.txt),技能输入沙箱可限制所有路径、URL、环境变量引用仅限预授权范围。
1、运行hermes config set sandbox_mode strict。
2、编辑tools/skills_guard.py,在ALLOWED_PATH_PREFIXES中添加["/tmp/hermes-", "/var/log/hermes/", "./data/"]。
3、执行hermes skill compile --all重新编译全部技能以加载沙箱策略。
4、验证沙箱生效:尝试调用file_operations.write_file --path="/etc/shadow",应返回Permission denied: path outside sandbox。











