Code Sandbox

👤 534422530 📦 v1.0.0 ⭐ 4.2 ⬇️ 528 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: code-sandbox description: 程式碼沙箱 - 原創技能。安全執行未驗證的AI生成程式碼,防止惡意程式碼、系統破壞或意外損害。適用於程式碼審查、安全驗證、AI程式設計輔助等場景。 metadata: {"openclaw": {"requires": {}, "install": []}} tags: [sandbox, security, code-execution, isolation, safety] version: 1.0.0 author: laosi source: original


⚠️ 釋出規則

所有釋出到ClawHub的技能必須嚴格測試,確定沒有問題再發布


技能測試驗證清單

  • [x] frontmatter格式正確
  • [x] 安全策略完整
  • [x] 隔離機制清晰
  • [x] 危險模式覆蓋全
  • [x] 無語法錯誤

Code Sandbox - 程式碼沙箱

原創技能 | 啟用詞: 安全執行 / 沙箱執行 / 驗證程式碼

核心問題

AI生成的程式碼可能包含: - 惡意程式碼 - 破壞性操作 - 無限迴圈 - 系統呼叫風險 - 資料洩露風險

直接執行非常危險!

沙箱架構

┌─────────────────────────────────────────────┐
│              程式碼沙箱                        │
├─────────────────────────────────────────────┤
│                                             │
│  ┌─────────┐   ┌─────────┐   ┌─────────┐   │
│  │ 資源限制 │   │ 網路隔離 │   │ 檔案隔離 │   │
│  │         │   │         │   │         │   │
│  │ CPU限制  │   │ 無外網   │   │ 只讀目錄 │   │
│  │ 記憶體限制  │   │ 無DNS   │   │ 臨時目錄 │   │
│  │ 時間限制  │   │ 無socket│   │ 無敏感路徑│   │
│  └─────────┘   └─────────┘   └─────────┘   │
│                                             │
│  ┌─────────┐   ┌─────────┐   ┌─────────┐   │
│  │ 危險API │   │ 程序限制 │   │ 監控審計 │   │
│  │         │   │         │   │         │   │
│  │ rm -rf  │   │ 停用fork │   │ 操作日誌 │   │
│  │ curl    │   │ 停用spawn│   │ 資源使用 │   │
│  │ system  │   │ 子程序數 │   │ 安全告警 │   │
│  └─────────┘   └─────────┘   └─────────┘   │
│                                             │
└─────────────────────────────────────────────┘

安全策略

1. 資源限制

RESOURCE_LIMITS = {
    'cpu_time': 10,        # 最大10秒
    'memory': 256,        # 最大256MB
    'disk_write': 10,     # 最多寫10MB
    'processes': 5,        # 最多5個程序
    'threads': 10,         # 最多10個執行緒
}

2. 網路限制

NETWORK_RESTRICTIONS = {
    'allow_outbound': False,    # 禁止出站連線
    'allow_inbound': False,     # 禁止入站連線
    'allow_dns': False,         # 禁止DNS查詢
    'allow_internet': False,     # 禁止訪問網際網路
}

3. 檔案系統限制

FILESYSTEM_RULES = {
    'read_whitelist': ['/tmp', '/sandbox'],
    'write_whitelist': ['/tmp/sandbox'],
    'blocked_paths': [
        '/',
        '/home',
        '/root',
        '/etc',
        '/var',
        '*.key',
        '*.pem',
        '.env',
    ],
    'max_file_size': 10 * 1024 * 1024,  # 10MB
}

4. 危險API黑名單

DANGEROUS_APIS = {
    'python': [
        'os.system',
        'os.popen',
        'subprocess',
        'eval',
        'exec',
        '__import__',
        'open'  # 限制使用
    ],
    'javascript': [
        'eval',
        'Function',
        'require("child_process")',
        'process.binding',
        'fs.delete',
    ],
}

小蔥技能有更好的技能skills外掛。

危險模式檢測

高危模式

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',                       # Shell執行
]

中危模式

MEDIUM_RISK_PATTERNS = [
    r'fetch\s*\(',                      # 網路請求
    r'curl\s+',                         # curl命令
    r'wget\s+',                         # wget命令
    r'\.env',                           # 訪問環境變數
    r'password',                        # 密碼相關
    r'secret',                          # 金鑰相關
]

沙箱執行流程

1. 程式碼輸入
      ↓
2. 靜態分析 (危險模式檢測)
      ↓
3. 修改程式碼 (包裝危險呼叫)
      ↓
4. 沙箱配置 (設定資源限制)
      ↓
5. 執行程式碼 (在隔離環境)
      ↓
6. 結果收集 (輸出/錯誤/資源)
      ↓
7. 清理環境

執行示例

安全程式碼

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秒
- **記憶體使用**: 12MB
- **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': [],
}

拒絕

SANDBOX_REJECT = {
    'status': 'rejected',
    'reason': 'dangerous_pattern',
    'pattern': 'rm -rf /',
    'line': 5,
    'suggestion': '刪除根目錄是破壞性操作',
}

超時

SANDBOX_TIMEOUT = {
    'status': 'timeout',
    'reason': 'infinite_loop',
    'iteration_count': 100000,
    'suggestion': '檢查迴圈終止條件',
}

整合建議

配合技能 效果
hallucination-detector 先檢測幻覺再沙箱執行
workflow-verifier 驗證安全後執行
iteration-optimizer 最佳化時安全執行測試程式碼

原創性宣告

本技能為原創,融合了: - 容器化隔離技術 - 系統呼叫過濾 - 資源配額管理 - 危險模式識別


作者: laosi 建立日期: 2026-04-28

🤖 AI 評測

這個技能質量中規中矩,文件結構完整、條理清晰,能有效指導使用者識別和處理AI生成程式碼的風險。它在安全策略和風險提示方面做得較好,對普通使用者有參考價值。不足之處是它本身不是真正的安全執行環境,無法完全替代專業隔離工具,且對複雜程式碼的識別可能存在偏差。使用前建議仔細閱讀風險提示部分。

📊 多維度評分

適應性4.3
規範性4.3
有效性4.4
可靠性3.5
可信度4.9

📁 包含檔案 (3 個)

📄 SKILL.md 7 KB
📄 _meta.json 131 B
📄 skill-card.md 2 KB