Safe Exec Wrapper

🛡️ UUID 边界防护·阻断命令输出注入攻击

通过随机 UUID 边界标记隔离不可信命令输出,有效防御提示词注入攻击,适用于 curl、API 调用、用户文件读取等场景

收藏
7.9k
安装
2.1k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

概述

Safe Exec 是一个专为大语言模型(LLM)Agent 设计的 Shell 安全包装器,核心目标是通过密码学安全的随机 UUID 边界标记机制,阻断不可信命令输出中可能隐藏的提示词注入(Prompt Injection)攻击。

核心用法

将任何可能返回外部或不可信数据的命令用 safe-exec 包装:

safe-exec curl -s "https://api.example.com/data"
safe-exec python3 fetch_external.py
safe-exec gh issue view 123 --repo owner/repo

脚本会为每次执行生成唯一的 UUID(2¹²² 种可能),在标准输出/错误流前后插入不可伪造的边界标记,并附加安全规则声明。

显著优点

1. 防御机制简洁有效:UUID 的不可预测性从根本上杜绝了攻击者伪造边界标记的可能性,无需复杂的输出清洗或 LLM 级防护
2. 零依赖轻量实现:纯 Bash 脚本,仅依赖系统标准工具(uuidgen),部署成本极低

3. 流式传输友好:边界标记不影响命令的正常流式输出,实时性无损耗

4. 透明可审计:输出包含完整的安全声明和退出码标记,便于日志审查与故障排查

潜在局限与风险

  • 仅限输出隔离:仅保护 LLM 免受恶意输出影响,不阻止命令本身的恶意执行(如 rm -rf
  • UUID 生成依赖:若底层系统的 UUID 生成存在可预测性缺陷(如低熵环境),安全性将降级
  • 模型配合要求:需要 LLM 系统能理解并遵守边界标记规则,否则防护失效
  • 不适用于二进制数据:主要设计目标为文本输出,二进制流可能破坏标记结构

适合人群

  • 构建 LLM Agent 平台的开发者
  • 需要让 AI 自动执行外部 API 调用、GitHub CLI 操作、文件读取任务的团队
  • 对提示词注入风险敏感,但希望避免复杂输出过滤方案的安全工程师

常规风险提醒

  • 切勿将 safe-exec 视为沙箱或权限隔离工具,它仅解决"输出内容欺骗 LLM"的问题
  • 命令本身的参数注入(如未转义的 URL 变量)仍需独立防护
  • 建议配合最小权限原则使用,避免以高权限账户运行 wrapped 命令

Safe Exec Wrapper 内容

scripts文件夹
手动下载zip · 3.7 kB
safe-exec.shtext/x-shellscript
请选择文件