ShellWard 安全部署指南
一份可交互执行的 OpenClaw/ShellWard 安全部署清单,覆盖网络控制、容器隔离、凭证管理、审计日志与补丁管理。
该技能本身仅为指导性清单,不直接执行高危操作,要求在执行破坏性操作前确认,涉及凭证/日志/权限检查时建议只读检查与最小化容器配置;但确认机制依赖模型自觉、无回滚说明、对扫描结果数据流(如 SIEM 外发)披露不完整,扣 10 分。
静态审查上限 10 分。清单指令自洽、命令示例具体(端口、docker 参数、chmod 600),但 `harden fix`、`/audit` 等命令的实际行为、失败反馈和异常输入处理均在宿主工具中,SKILL.md 未定义失败路径,扣 10 分。
场景明确(OpenClaw 安全部署)、双语(中/英)、按用户语言响应、触发条件(user-invocable)清晰;但未声明不适配边界(非 OpenClaw 环境)、部分建议(OpenClaw 特定端口/路径)在别的安装上不适用,扣 5 分。
结构清晰、分节合理、双语,仓库有 Apache-2.0 许可、SECURITY.md 与版本表;但 SKILL.md 无自身版本/更新记录,描述与 README 的合规扫描主线存在定位偏差,维护责任仅到个人作者,扣 6 分。
静态审查上限 7 分。清单覆盖网络、容器、凭证、日志、插件、补丁六大类并附具体命令,可直接执行,价值高于空泛建议;但无验证过的代表性输出,部分命令(ufw allow from 127.0.0.1)准确性存疑,扣 1 分至 6。
静态审查上限 5 分。仓库有 CI 工作流与多个测试脚本、基准语料,但均针对主程序而非本技能路径;技能本身的建议无可执行的第三方验证证据,扣 1 分至 4。
- 本评估为纯静态源码审查,未执行任何命令,所有结论置信度低。
- 技能描述与仓库主打的合规扫描(PIPL/数据出境)定位不一致,实际内容是通用安全部署清单。
- `/harden fix` 等自动修复命令的破坏性风险与回滚方式未在技能内说明,使用前应逐项审查。
- 建议中存在可疑命令(如 `ufw allow from 127.0.0.1 to any port 19000` 语义与意图可能不符),应自行验证后再执行。
- 发布者未经 FollowSkills 验证,身份不明;技能依赖宿主工具 OpenClaw/ShellWard 的实际行为。
这个 Skill 能做什么,适合哪些场景?
ShellWard 是一个为中国监管环境(网安法、PIPL、等保2.0、数据出境、AI标识)打造的 AI Agent 安全合规网关,本技能则将其安全部署最佳实践封装成一份按需执行的清单。调用时,助手会检查网关端口暴露、容器加固、明文凭证、审计日志状态和插件风险等当前系统状态,并给出每条问题的具体修复命令。仓库本体还包括一个独立于技能的合规扫描器(npx shellward scan),可对项目做数据出境/硬编码密钥/中文 PII 检测并输出红黄绿评分卡。适合需要为 AI Agent 部署安全网关、或需应对中国数据合规要求的团队。
触发后按六项清单逐项检查并给出建议:1) 网络控制——检查 OpenClaw 网关端口(19000/19001)是否暴露公网,建议绑定 127.0.0.1 或加认证反向代理,并给出 ufw/安全组规则;2) 容器隔离——给出带 --cap-drop=ALL、只读文件系统、资源限制的 docker run 加固命令;3) 凭证管理——扫描 .env、.bashrc、环境变量中的明文密钥,建议使用 Vault/doppler 并将敏感文件权限设为 0600;4) 审计日志——验证 ~/.openclaw/shellward/audit.l 是否启用,展示近期安全事件并建议日志轮转与 SIEM 外发;5) 插件安全——列出已装插件并扫描可疑代码模式;6) 补丁管理——检查 OpenClaw 版本与已知漏洞,要求 Node.js ≥ 22.12。它还会提醒用户可用的命令:/security、/audit、/harden(及 /harden fix)、/scan-plugins、/check-updates。
- 运维人员刚在云服务器上部署 OpenClaw/ShellWard,需要确认 19000/19001 端口未暴露公网并配置防火墙规则
- 安全工程师想用受限能力的 Docker 容器运行 OpenClaw,需要一份可直接复制的加固启动命令
- 团队负责人担心 .env、~/.ssh、~/.aws/credentials 等文件权限过松或含明文密钥,想逐项修复
- 合规审计前需要确认 ShellWard 审计日志在记录、并规划日志轮转与 SIEM 转发
- 管理员在升级前想核对当前 OpenClaw 版本是否有已知漏洞(内置 17 条 CVE/GHSA)并确认 Node.js 版本达标
- 对已安装插件不放心,想扫描其中是否有恶意代码模式并关闭自动更新
这个 Skill 有哪些优点和局限?
- 清单覆盖完整部署生命周期:网络、容器、凭证、日志、插件、补丁六面
- 每条问题都附带可直接执行的修复命令,而非抽象建议
- 面向中国合规场景(网安法/PIPL/等保2.0/数据出境/AI标识),这是英文安全工具普遍缺失的视角
- 宿主 ShellWard 本体零依赖、零配置,Apache-2.0 开源
- 技能可自动检测用户语言并给出本地化响应
- 技能本身只是检查清单与建议,不主动执行修复——加固效果取决于用户是否落实
- 深度绑定 OpenClaw/ShellWard 生态(端口、日志路径、命令),对其他 Agent 网关不适用
- README 中的性能与检测指标(如 100% F1)基于作者自建语料库,非第三方评测
- README 中列有 5 条已记录的绕过方式(leetspeak、base64、非中英文语言等),正则启发式无法覆盖
- 仓库中 README 与 SKILL.md 的测试数量描述不一致(328 vs 183),证据不统一
如何安装这个 Skill?
本技能文件位于仓库的 skills/security-guide/SKILL.md。按 Agent Skills 标准将 skills/security-guide/ 目录放入你的 Agent Skills 目录(Claude Code 中为 ~/.claude/skills/ 或项目 .claude/skills/)。前提是已安装 ShellWard(npm install shellward 或通过 openclaw plugins install shellward)。仓库未单独说明技能的安装步骤,以宿主平台的 Skill 安装机制为准。
如何使用这个 Skill?
在支持 Agent Skills 的助手中直接发出触发类请求,例如「帮我做一次 ShellWard/OpenClaw 安全部署检查」或「检查我的 OpenClaw 网关是否暴露公网」。助手会读取 SKILL.md 中的清单,用可用工具检查系统状态,按严重程度排序给出修复命令,并在执行破坏性操作前先征求确认。也可直接使用 ShellWard 自带命令:/security 查看安全状态、/audit 查看审计日志、/harden 扫描并修复、/scan-plugins 扫描插件、/check-updates 检查版本与 CVE。
这个 Skill 与同类方案有什么区别?
README 自比 agentguard(Hook 守护)、pipelock(HTTP 代理架构)、Sage(Hook + 云 API)和 AgentSeal(扫描器),声称 ShellWard 是唯一同时具备 DLP 数据流追踪、中文语言安全和零依赖的方案。对比数据来自作者自述,未经独立验证,选型时建议实测。