Token导航 LogoToken导航

Agent Skill · 效率

powershell-sandbox(powershell 沙箱)

powershell-sandbox 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

powershell-sandbox 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 15,139。

总安装 3,192周安装 133GitHub Stars 公开资料未说明下载 1,064核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.1.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:powershell-sandbox(powershell 沙箱)
来源仓库:https://github.com/yuyonghao-123/powershell-sandbox
安装命令:
openclaw skills install powershell-sandbox
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install powershell-sandbox

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

在受限 PowerShell 环境中安全执行脚本,支持命令白名单、超时控制、输出限制、文件隔离和执行前安全检查。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install powershell-sandbox;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

powershell-sandbox 怎么安装?

在终端执行 openclaw skills install powershell-sandbox。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

powershell-sandbox 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

powershell-sandbox 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

powershell-sandbox 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

powershell-sandbox 用的人多吗?

公开数据是累计安装 3,192 次,近一周安装 133 次,下载 1,064 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

powershell-sandbox 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
powershell-sandbox

powershell 沙箱 · 本页

3,192—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

powershell-sandbox - PowerShell 安全沙箱

版本: 0.1.0 作者: 小蒲萄 (Clawd) 创建日期: 2026-03-18 平台: Windows PowerShell 5.1+ / PowerShell 7+


📖 简介

在受限的 PowerShell 环境中安全执行用户脚本,提供:

  • ✅ 超时控制 - 防止无限循环
  • ✅ 命令白名单 - 只允许安全命令
  • ✅ 输出限制 - 防止日志炸弹
  • ✅ 安全检查 - 执行前扫描危险代码
  • ✅ 审计日志 - 记录所有执行
  • ✅ 文件隔离 - 限制在工作目录内

🚀 快速开始

基本用法

# 执行脚本(默认 30 秒超时)
.\src\sandbox.ps1 -ScriptPath "C:\path\	o\script.ps1"

# 自定义超时时间
.\src\sandbox.ps1 -ScriptPath "script.ps1" -TimeoutSeconds 60

# 指定工作目录
.\src\sandbox.ps1 -ScriptPath "script.ps1" -WorkingDirectory "C:\workspace"

# 允许网络访问(谨慎使用!)
.\src\sandbox.ps1 -ScriptPath "script.ps1" -AllowNetwork

在 OpenClaw 中使用

# 通过 exec 调用
exec(
  command: '.\skills\powershell-sandbox\src\sandbox.ps1 -ScriptPath "C:\Users\99236\.openclaw\workspace\scripts\user-script.ps1"',
  timeout: 60
)

⚙️ 参数说明

参数类型默认值说明
-ScriptPathstring必填要执行的脚本路径
-TimeoutSecondsint30执行超时时间(秒)
-MaxOutputLinesint1000最大输出行数
-MaxOutputCharsint50000最大输出字符数
-WorkingDirectorystring脚本目录工作目录
-AllowNetworkswitch$false允许网络访问(⚠️ 高风险)
-AllowedCommandsstring[]内置白名单自定义允许的命令

🔒 安全特性

1. 命令白名单

允许的命令(部分):

  • 基础输出:Write-Host, Write-Output, Write-Warning
  • 文件操作:Get-Content, Set-Content, Get-ChildItem, Test-Path
  • 路径操作:Join-Path, Split-Path, Resolve-Path
  • 数据处理:Select-Object, Where-Object, ForEach-Object, Sort-Object
  • 格式转换:ConvertTo-Json, ConvertFrom-Json, ConvertTo-Csv
  • 日期时间:Get-Date, Get-TimeSpan, Start-Sleep

禁止的命令:

  • ❌ 网络访问:Invoke-WebRequest, Invoke-RestMethod, Start-BitsTransfer
  • ❌ 进程管理:Start-Process, Invoke-Expression, Get-Process
  • ❌ 远程执行:Enter-PSSession, Invoke-Command, New-PSSession
  • ❌ 注册表:Get-ItemProperty -Path HKLM:*
  • ❌ 服务管理:Get-Service, Start-Service, Stop-Service
  • ❌ 计划任务:Get-ScheduledTask, Register-ScheduledTask
  • ❌ WMI/CIM:Get-WmiObject, Get-CimInstance
  • ❌ 代码执行:Invoke-Expression, Add-Type, IEX

2. .NET 类型限制

允许的类型:

  • System.String, System.Int32, System.DateTime
  • System.IO.Path, System.IO.File, System.IO.Directory
  • System.Math, System.Convert, System.Guid
  • System.Text.StringBuilder, System.Text.RegularExpressions.Regex

禁止的类型:

  • ❌ System.Net.*(网络)
  • ❌ System.Diagnostics.Process(进程)
  • ❌ System.Reflection.*(反射)
  • ❌ System.Management.Automation.*(PowerShell 内部)
  • ❌ System.ServiceProcess.*(服务)
  • ❌ System.Threading.*(线程)

3. 执行前安全检查

沙箱会在执行前扫描脚本内容,检测:

  • 禁止的命令调用
  • 禁止的 .NET 类型
  • URL(可能尝试网络访问)
  • IEX 缩写(Invoke-Expression)

发现违规会立即拒绝执行并报告具体问题。

4. 超时保护

使用 PowerShell Job 机制,超时后自动终止:

$job = Start-Job -ScriptBlock $script
$completed = Wait-Job -Job $job -Timeout $TimeoutSeconds
if (-not $completed) {
    Stop-Job -Job $job
    Write-Error "执行超时!"
}

5. 输出限制

  • 最大行数:1000 行(可配置)
  • 最大字符数:50000 字符(可配置)
  • 超出部分自动截断并提示

6. 文件路径隔离

脚本只能访问工作目录内的文件,防止遍历到系统目录。


📋 退出代码

代码含义
0执行成功
1脚本文件不存在
2安全检查失败
3脚本执行错误
4执行超时

🧪 测试用例

测试 1:安全脚本执行

# test-safe.ps1
Write-Host "Hello from sandbox!"
$numbers = 1..10
$sum = ($numbers | Measure-Object -Sum).Sum
Write-Host "Sum of 1-10: $sum"

执行:

.\src\sandbox.ps1 -ScriptPath "test-safe.ps1"

预期输出:

[2026-03-18 09:15:00] [INFO] 开始沙箱执行
[2026-03-18 09:15:00] [INFO] 安全检查通过 ✓
[2026-03-18 09:15:01] [INFO] 执行完成

========== 执行输出 ==========
Hello from sandbox!
Sum of 1-10: 55

========== 执行统计 ==========
状态:成功
行数:2
字符数:38

测试 2:危险命令拦截

# test-dangerous.ps1
Invoke-WebRequest -Uri "https://example.com"

执行:

.\src\sandbox.ps1 -ScriptPath "test-dangerous.ps1"

预期输出:

[2026-03-18 09:15:00] [INFO] 执行安全检查...
[2026-03-18 09:15:00] [ERROR] 安全检查失败!
[2026-03-18 09:15:00] [ERROR]   - 包含禁止命令:Invoke-WebRequest

测试 3:超时保护

# test-timeout.ps1
Write-Host "Starting..."
Start-Sleep -Seconds 60
Write-Host "Done!"

执行(30 秒超时):

.\src\sandbox.ps1 -ScriptPath "test-timeout.ps1" -TimeoutSeconds 30

预期输出:

[2026-03-18 09:15:00] [INFO] 等待脚本执行(超时:30 秒)...
[2026-03-18 09:15:30] [ERROR] 超时!强制终止执行...

测试 4:文件操作(工作目录内)

# test-file.ps1
$content = Get-Content "data.txt"
Write-Host "File content: $content"
Set-Content "output.txt" "Processed: $content"

执行:

.\src\sandbox.ps1 -ScriptPath "test-file.ps1" -WorkingDirectory "C:\workspace"

📁 文件结构

skills/powershell-sandbox/
├── SKILL.md                 # 技能文档(本文件)
├── src/
│   ├── sandbox.ps1          # 沙箱执行器(核心)
│   ├── test-safe.ps1        # 测试用例 - 安全脚本
│   ├── test-dangerous.ps1   # 测试用例 - 危险脚本
│   └── test-timeout.ps1     # 测试用例 - 超时脚本
└── README.md                # 使用说明(可选)

🔧 自定义配置

扩展命令白名单

编辑 sandbox.ps1 中的 $DEFAULT_ALLOWED_COMMANDS 数组:

$DEFAULT_ALLOWED_COMMANDS = @(
    # ... 现有命令 ...
    "Your-Safe-Cmdlet"  # 添加新命令
)

调整安全级别

更严格(推荐用于不受信任的脚本):

.\src\sandbox.ps1 -ScriptPath "script.ps1" `
    -TimeoutSeconds 10 `
    -MaxOutputLines 100 `
    -MaxOutputChars 5000

更宽松(仅用于可信脚本):

.\src\sandbox.ps1 -ScriptPath "script.ps1" `
    -TimeoutSeconds 300 `
    -AllowNetwork

📊 使用场景

✅ 适合的场景

  • 执行用户提交的数据处理脚本
  • 运行自动化任务(文件整理、日志分析)
  • 测试 PowerShell 代码片段
  • 教学/演示环境
  • 需要隔离的批处理任务

❌ 不适合的场景

  • 需要访问网络的脚本(使用 -AllowNetwork 需谨慎)
  • 需要调用外部程序的脚本
  • 需要管理员权限的操作
  • 长时间运行的任务(>5 分钟)
  • 需要交互式输入的脚本

🛡️ 安全建议

  1. 始终使用沙箱 - 即使脚本来自可信来源
  2. 设置合理超时 - 根据任务复杂度调整
  3. 限制输出大小 - 防止日志炸弹
  4. 审计所有执行 - 记录到 .learnings/sandbox-log.md
  5. 定期更新白名单 - 根据实际需求调整
  6. 不要在外部接口使用 - Feishu/Telegram/WhatsApp 中拒绝执行

📝 更新日志

v0.1.0 (2026-03-18)

  • ✅ 初始版本发布
  • ✅ 命令白名单/黑名单机制
  • ✅ .NET 类型限制
  • ✅ 执行前安全检查
  • ✅ 超时保护(Job 机制)
  • ✅ 输出限制
  • ✅ 审计日志
  • ✅ 退出代码规范

🤝 贡献

欢迎提交 Issue 和 PR 来改进沙箱的安全性和功能!

安全报告:如发现安全漏洞,请优先通过私密渠道报告。


📄 许可证

MIT License


*最后更新:2026-03-18*

平台分布

OpenClaw

73.53%
按下载量换算782

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills