📦 代码沙箱
v1.0.0代码沙箱 - 原创技能。安全执行未验证的AI生成代码,防止恶意代码、系统破坏或意外损害。适用于代码审查、安全验证、AI编程辅助等场景。
详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
⚠️ 发布规则 所有发布到 ClawHub 的技能必须严格测试,确认无误后再发布。
技能测试验证清单
- frontmatter 格式正确
- 安全策略完整
- 隔离机制清晰
- 危险模式覆盖全
- 无语法错误
Code Sandbox - 代码沙箱 原创技能 | 激活词:安全执行 / 沙箱运行 / 验证代码
核心问题 AI 生成的代码可能包含:
- 恶意代码
- 破坏性操作
- 无限循环
- 系统调用风险
- 数据泄露风险
沙箱架构 ┌─────────────────────────────────────────────┐ │ 代码沙箱 │ ├─────────────────────────────────────────────┤ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 资源限制 │ │ 网络隔离 │ │ 文件隔离 │ │ │ │ CPU限制 │ │ 无外网 │ │ 只读目录 │ │ │ │ 内存限制 │ │ 无DNS │ │ 临时目录 │ │ │ │ 时间限制 │ │ 无socket│ │ 无敏感路径│ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ 危险API │ │ 进程限制 │ │ 监控审计 │ │ │ │ rm -rf │ │ 禁用fork │ │ 操作日志 │ │ │ │ curl │ │ 禁用spawn│ │ 资源使用 │ │ │ │ system │ │ 子进程数 │ │ 安全告警 │ │ │ └─────────┘ └─────────┘ └─────────┘ │ └─────────────────────────────────────────────┘
安全策略
- 资源限制
- 网络限制
- 文件系统限制
- 危险 API 黑名单
危险模式检测 高危模式 HIGH_RISK_PATTERNS = [ r'rm\s+-rf\s+/', r'format\s+.:', r'drop\s+database', r'chmod\s+777', r'eval\s\(', r'system\s\(', r'shell_exec', ]
中危模式 MEDIUM_RISK_PATTERNS = [ r'fetch\s\(', r'curl\s+', r'wget\s+', r'\.env', r'password', r'secret', ]
沙箱执行流程
- 代码输入
- 静态分析(危险模式检测)
- 修改代码(包装危险调用)
- 沙箱配置(设置资源限制)
- 执行代码(在隔离环境)
- 结果收集(输出/错误/资源)
- 清理环境
执行示例 安全代码 def safe_code(): result = [] for i in range(10): result.append(i * 2) return result # 输出: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
危险代码(被拦截) def dangerous_code(): import os os.system('rm -rf /') # ❌ 拦截! # 错误: 检测到危险操作 "rm -rf /" # 建议: 这是破坏性操作,禁止执行
输出格式
沙箱执行报告
执行状态
- 状态: ✅ 安全通过 / ❌ 已拦截
- 执行时间: 0.23 秒
- 内存使用: 12 MB
- CPU 使用: 0.15 秒
安全检查
✅ 危险模式检测: 通过 ✅ 资源限制: 未超限 ✅ 文件系统访问: 合规 ✅ 网络请求: 已阻止执行结果
``python
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
` 警告
⚠️ 代码访问了临时目录
⚠️ 代码包含循环操作
执行结果处理
通过
`python
SANDBOX_PASS = {
'status': 'passed',
'output': '...',
'execution_time': 0.23,
'memory_used': 12,
'warnings': [],
}
` 拒绝
`python
SANDBOX_REJECT = {
'status': 'rejected',
'reason': 'dangerous_pattern',
'pattern': 'rm -rf /',
'line': 5,
'suggestion': '删除根目录是破坏性操作',
}
`
超时
`python
SANDBOX_TIMEOUT = {
'status': 'timeout',
'reason': 'infinite_loop',
'iteration_count': 100000,
'suggestion': '检查循环终止条件',
}
``
集成建议 配合技能 | 效果 hallucination-detector | 先检测幻觉再沙箱运行 workflow-verifier | 验证安全后执行 iteration-optimizer | 优化时安全执行测试代码
原创性声明 本技能为原创,融合了:
- 容器化隔离技术
- 系统调用过滤
- 资源配额管理
- 危险模式识别
作者: laosi 创建日期: 2026-04-28