shell-security-ultimate

🛡️ AI命令执行的五级风控中枢

OpenClaw官方安全增强技能,通过五级风险分类和彩色编码审计日志,为AI Agent的Shell命令执行提供透明化管控与危险操作拦截能力。

收藏
6k
安装
2.1k
版本
v2.2.1
CLS 安全性认证2026-04-30
点击查看完整报告 >

使用说明

核心用法

Shell Security Ultimate 是一款专为 AI Agent 设计的命令执行安全管控工具。其核心工作流程分为三个层次:首先,风险分类,将每条待执行的 Shell 命令按照预设的五级标准(SAFE/LOW/MEDIUM/HIGH/CRITICAL)进行自动归类;其次,可视化呈现,通过 cmd_display.py 脚本生成带颜色编码(🟢🔵🟡🟠🔴)的执行报告,包含命令内容、执行目的和输出摘要;最后,分级管控,SAFE 和 LOW 级别可自动执行,MEDIUM 需记录审计,HIGH 仅展示不执行,CRITICAL 则完全禁止并要求人工确认。

用户可通过命令行直接调用格式化脚本::python3 scripts/cmd_display.py <level> "<command>" "<purpose>" "$(<command>)"。对于 OpenClaw 用户,还可选装 patch-openclaw.sh 修补脚本,在系统层面植入 before_tool_call 钩子,实现真正的执行前拦截(当前版本为可选功能,需手动启用)。

显著优点

防御深度设计:该技能采用"提示+代码"的双重防护策略。SKILL.md 中的协议指南属于提示层(Prompted),依赖 Agent 自觉遵守;而 Python 脚本和可选的 OpenClaw 插件则属于代码层(Coded),提供不可绕过的硬性约束。这种分层设计符合安全领域的"纵深防御"原则。

零依赖架构cmd_display.py 仅依赖 Python 标准库(sys/re),无需安装任何第三方包,彻底规避了供应链攻击风险。补丁脚本也仅使用系统原生工具(sed/grep/cp),在最小化攻击面的同时保证了跨平台兼容性。

审计可追溯:所有命令执行均附带目的说明(Purpose)和结构化输出,便于后续安全审计。彩色编码和 Emoji 标识大幅提升了可读性,使高风险操作在视觉上即刻可辨。

渐进式部署:当前版本已提供完整的分类指南和显示工具,用户可立即投入使用;未来的 OpenClaw 插件将实现全自动拦截,用户可按需升级,无需重构现有工作流。

潜在缺点与局限性

执行依赖自觉性:在插件尚未发布前,该技能本质上是"建议性"而非"强制性"的。Agent 可能因上下文遗忘或提示注入攻击而绕过 cmd_display.py 包装器,直接执行原始命令。作者明确承认当前状态为"Mixed approach",真正的硬拦截需等待 before_tool_call 钩子支持。

分类规则僵化:预设的五级分类基于命令关键词匹配(如 rm -rf 自动标记为 CRITICAL),但无法覆盖复杂场景。例如,,git push 到公开仓库与推送到生产环境分支风险迥异,却被统一归类为 MEDIUM;某些看似无害的命令(如 curl | bash)可能因管道而隐含高危操作,但难以被静态规则捕获。

补丁脚本的副作用patch-openclaw.sh 会直接修改 OpenClaw 的 TypeScript 源代码(pi-tool-definition-adapter.ts),尽管有自动备份机制,但仍存在以下风险:目标文件路径依赖环境变量或硬编码默认值;sed 文本替换在复杂代码结构中可能产生意外结果;重建过程(pnpm/npm build)可能因环境差异失败。

输出截断问题summarize_output()() 函数将多行输出强制压缩为单行摘要,这在调试场景下可能导致关键信息丢失,用户需权衡安全性与可观测性。

适合的目标群体

AI Agent 开发者与运维团队:需要将 LLM 集成到自动化工作流中,但又担心"幻觉"导致破坏性操作的技术团队。该技能提供了可落地的安全基线。

金融/医疗等合规敏感行业:对操作审计有严格要求的领域,彩色分级和目的说明可直接用于合规报告生成。

OpenClaw 生态用户:已采用 OpenClaw 作为 Agent 框架的开发者,可通过可选补丁获得更深度的系统集成。

安全意识教育场景:五级分类体系本身可作为培训材料,帮助团队建立命令风险认知框架。

使用风险

性能开销:每次命令执行需额外调用 Python 进程进行格式化,在高频自动化场景(如每秒数十次命令)下可能产生可感知的延迟。

依赖项风险:补丁脚本依赖 Node.js 生态(pnpm/npm)进行重建,若构建环境配置不当可能导致 OpenClaw 实例损坏。建议在生产环境部署前于隔离环境充分测试。

版本兼容性:OpenClaw 的 pi-tool-definition-adapter.ts 文件结构可能随版本更新变化,导致补丁失效或产生冲突。当前版本(1.0.2)的补丁逻辑基于特定代码模式,未来需持续维护。

误报与漏报:过于严格的分类可能阻碍正常工作效率(如将必要的 sudo 操作标记为 HIGH 导致频繁人工介入);反之,分类规则更新不及时可能导致新型攻击向量被低估。

安全解读

核心用法

shell-security-ultimate 是一款防御性安全工具,通过五级颜色编码系统(🟢SAFE/🔵LOW/🟡MEDIUM/🟠HIGH/🔴CRITICAL)对Shell命令进行风险分类。核心使用方式是通过 scripts/cmd_display.py 包装命令执行:

python3 scripts/cmd_display.py <level> "<command>" "<purpose>" "$(<command>)"

当前实现为混合模式:分类指南和Agent协议为Prompted行为(~80%可靠性),显示脚本为Coded行为(~100%可靠性)。真正的强制执行(拦截危险命令)需配合OpenClaw插件的 before_tool_call hook使用。

显著优点

| 优势 | 说明 |
|------|------|
| 五级风险体系 | 从只读操作到破坏性命令的完整覆盖 |
| 透明审计 | 每个命令必须声明目的(purpose),输出格式统一含风险等级、命令、目的、结果 |
| 零依赖安全 | 仅使用Python标准库(sys/re),无第三方依赖,供应链攻击风险极低 |
| 渐进式防护 | 当前提供结构约束,未来通过插件实现强制拦截 |
| 合规友好 | 通过GDPR六项检测,无数据收集,无外部API调用 |

潜在缺点与局限性

1. 执行依赖Agent自觉性:当前HIGH/CRITICAL级别仅提示不执行,实际仍依赖Agent选择遵守,非真正强制
2. 插件未完成:核心的 before_tool_call hook拦截功能标记为"Planned",需用户手动执行patch脚本修改OpenClaw源码

3. T3来源风险:个人开发者维护,无组织背书,长期维护能力存疑

4. Patch脚本侵入性patch-openclaw.sh 通过sed修改本地TypeScript源码,虽需主动执行且自动备份,但仍属侵入式操作

适合人群

  • AI Agent开发者:需要为Agent配置命令执行安全边界
  • 自动化运维场景:希望建立可审计的Shell操作日志
  • 安全意识强的团队:愿意接受Prompted+Partial-Coded的折中方案,等待完整插件版本

常规风险

| 风险点 | 等级 | 说明 |
|--------|------|------|
| Patch脚本误操作 | Low | 错误设置`OPENCLAW_DIR`可能导致修改错误目录,需人工确认 |
| 版本维护滞后 | Info | T3来源,安全响应速度可能不及企业项目 |
| 强制执行缺失 | Medium | 当前版本无真正命令拦截,危险命令仍可能被执行 |

安全认证评分:S级(85分),静态/动态/依赖/网络分析均通过,唯一warn项为隐私合规中的本地代码修改行为。

shell-security-ultimate 内容

scripts文件夹
手动下载zip · 7.1 kB
cmd_display.pytext/plain
请选择文件