# security **Repository Path**: composer-liu-ming/security ## Basic Information - **Project Name**: security - **Description**: hermes skill 仓库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-06 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hermes Agent Security Skills 部署包 ## 概述 Hermes Agent 安全审计工具链的 Docker 部署包。包含 112 个技能(security、creative、devops 等分类),以及 nuclei、afrog、nmap、node.js 等工具。 从 **源码全量安装** Hermes Agent,包含完整的 TUI 组件和 Dashboard 插件,开箱即用。 ## 快速安装(一行命令) ```bash # 交互式(会提示输入 API Key) curl -fsSL https://gitee.com/composer-liu-ming/security/raw/master/migrate-deploy.sh | bash # 非交互式(提前设置环境变量) DEEPSEEK_API_KEY=sk-xxx \ CONTAINER_NAME=hermes-api \ NET_MODE=host \ curl -fsSL https://gitee.com/composer-liu-ming/security/raw/master/migrate-deploy.sh | bash ``` 或者先下载再执行: ```bash curl -O https://gitee.com/composer-liu-ming/security/raw/master/migrate-deploy.sh bash migrate-deploy.sh ``` 脚本会自动: 1. 检查并安装 git(如未安装) 2. 从本仓库拉取 hermes-migrate-package.tar.gz(99MB) 3. 检测 Docker 镜像源(优先国内镜像) 4. 构建 Hermes 镜像(~1GB,无 CUDA/torch)— **从 GitHub 源码全量安装** 5. 配置 DeepSeek API Key 6. 部署 112 个技能 + 记忆系统 7. **自动启动 Dashboard TUI**(浏览器即可对话) ### 从仓库克隆安装 ```bash git clone https://gitee.com/composer-liu-ming/security cd security bash migrate-deploy.sh ``` ## Dashboard TUI 浏览器对话 部署完成后 Dashboard 自动启动,打开浏览器访问: ``` http://<容器IP>:9119 ``` 点击 **Chat** 标签页即可使用 TUI 对话(嵌入浏览器的终端界面,支持工具调用和技能)。 手动管理 Dashboard: ```bash # 启动 Dashboard(自动带 --tui --insecure --skip-build) bash /opt/hermes-deploy/migrate-deploy.sh dashboard # 停止 Dashboard bash /opt/hermes-deploy/migrate-deploy.sh dashboard-stop ``` ### ⚠️ 注意事项 - Dashboard 需要 `TERM` 环境变量才能渲染 TUI → 脚本已通过 `-e TERM=xterm-256color` 处理 - 源码安装的 Hermes 支持 `--skip-build` 参数,避免启动时构建 Web UI(容器内无 npm 时必需) - Dashboard 默认绑定 `0.0.0.0:9119`(`--host 0.0.0.0 --insecure`) - 容器重启后需手动重启 Dashboard:`bash /opt/hermes-deploy/migrate-deploy.sh dashboard` ## ⚠️ 技能完整使用说明 本包包含 112 个技能,但大部分技能(如 security 分类下的 AWVS 验证、ICP 查询、漏洞上传等)需要访问内部网络资源。 **宿主机必须加入 Netbird「云AI安全组」**,容器创建时选择 `host` 网络模式,才能: - 访问内部 AWVS 扫描器(192.168.20.x) - 查询内部 ICP 备案 API - 调用内部漏洞管理平台 - 使用 FOFA/Hunter 等企业内部工具 如果不加入安全组,只有少数不依赖内网的技能可用(如 github-search 等)。 ## 管理命令 部署脚本持久化在 `/opt/hermes-deploy/migrate-deploy.sh`,支持以下管理命令: | 命令 | 说明 | |------|------| | `status` | 容器状态 | | `start` / `stop` / `restart` | 容器生命周期 | | `rm` | 删除容器 | | `logs` | 查看容器日志 | | `shell` | 进入容器 shell | | `dashboard` | 启动 Dashboard TUI(`http://:9119`) | | `dashboard-stop` | 停止 Dashboard | | `gateway` | 启动 Hermes Gateway | | `key ` | 更新 API Key | | `skills` | 列出技能 | | `hermes ...` | 在容器内执行 hermes 命令 | ## 打包并推送更新 在源机器上运行: ```bash bash migrate-pack.sh ``` 脚本会自动打包技能、记忆、Python 依赖、系统工具,然后推送到本仓库。 ## Profile 模式技能部署(容器已运行场景) 对于已运行的多 Profile 容器(如 `xiaozhi` 架构),使用独立脚本向指定 Profile 下发 security 技能: ```bash # 交互式选择容器和 Profile bash deploy-profile-skills.sh # 非交互式(指定容器和 Profile) CONTAINER_NAME=hermes-api \ TARGET_PROFILES=binjiang-cyber-assistant,cixi-pentest-expert \ bash deploy-profile-skills.sh ``` ### 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `CONTAINER_NAME` | 目标容器名 | 交互选择 | | `TARGET_PROFILES` | 目标 Profile(逗号分隔) | 全部 | | `SKILL_FILTER` | 技能列表(逗号分隔) | 全部 11 个 security 技能 | | `SKIP_TOOLS` | 跳过工具安装(node/nuclei/afrog) | false | | `SKIP_DEPS` | 跳过 Python 依赖安装 | false | | `FORCE` | 强制覆盖已有技能 | false | ### 流程 1. **选择目标** — 自动发现运行中的 `hermes-api` 容器和其下的 Profiles,支持交互选择 2. **Phase 1: 工具安装** — 检查容器内已有版本,从本地包或网络安装 node.js / nuclei / afrog 3. **Phase 2: 技能部署** — 根据 Profile 的 `HERMES_PROFILE_SKILLS` 配置,只下发匹配的技能,自动处理 `.pinned_skills` 4. **验证** — 部署完成后展示各 Profile 的技能生效情况 ### 为什么单独一个脚本? `migrate-deploy.sh` 负责**从零搭建**整个容器(构建镜像、创建容器)。`deploy-profile-skills.sh` 负责**给已在运行的容器**追加/更新安全技能,适用于一容器多 Profile 的架构。`migrate-pack.sh` 打包时已自动包含本脚本。 ## 技能分类 - **security/**: 11 个安全审计技能(AWVS、ICP查询、指纹识别、漏洞验证等) - **creative/**: 19 个创意技能(ASCII艺术、信息图、漫画等) - **software-development/**: 11 个开发技能 - **mlops/**: 13 个 ML/推理技能 - 以及其他 60+ 个通用技能 ## 环境要求 - Docker(脚本可自动安装) - 网络连接(用于拉取基础镜像和工具) - DeepSeek API Key(用于 Hermes 对话) - Netbird「云AI安全组」(使用完整技能所需) ## 从 0 部署完整流程 ```bash # 1. 加入 Netbird 安全组(如需要完整技能) # 联系管理员获取加入方式 # 2. 一行命令部署 curl -fsSL https://gitee.com/composer-liu-ming/security/raw/master/migrate-deploy.sh | bash # 3. 按提示输入 DeepSeek API Key 即可 # 4. 验证 docker exec -it hermes-api hermes -z "你好" # 5. 打开浏览器访问 Dashboard # http://<宿主机IP>:9119 ``` ## 常见问题 **Q: Dashboard 浏览器打开后只有光标闪烁,无法对话?** A: 确保 Dashboard 启动时传入 `-e TERM=xterm-256color`。新部署的版本已自动处理,如仍有问题运行:`bash /opt/hermes-deploy/migrate-deploy.sh dashboard` **Q: 容器无法访问内网怎么办?** A: 确保宿主机已加入 Netbird 安全组,部署时选择 `host` 网络模式。 **Q: 镜像构建失败(拉取不到基础镜像)?** A: 脚本会自动检测国内 Docker 镜像源。如果全部不可达,可配置 Docker 代理后重试。 **Q: 脚本报错 "syntax error near unexpected token"?** A: 可能是旧版本,重新下载最新脚本:`curl -fsSL https://gitee.com/composer-liu-ming/security/raw/master/migrate-deploy.sh | bash` **Q: 容器使用 `sleep infinity` 模式,如何进入 Hermes TUI?** A: 使用 `docker exec -it hermes-api bash` 进入 shell 后运行 `hermes`,或直接 `docker exec -it hermes-api hermes`(注意必须带 `-t` 参数)。