Skip to main content

code-runner

Execute Python code snippets with best-effort resource limits. Supports data analysis, visualization, and quick scripts.

Quellinformationen

Repository
fuyuxiang/echo-agent
Letzte Quellaktivität
1. Oktober 2026 um 03:25
Erkannte Sprache von SKILL.md
Englisch
Sterne
1.055
Forks
27

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
code-runner
description
Execute Python code snippets with best-effort resource limits. Supports data analysis, visualization, and quick scripts.
version
1.0.0
metadata
{"echo":{"tags":["Python","Code","Execute","Sandbox","DataAnalysis"]}}
# Code Runner Python code execution with resource limits and import restrictions; this is not an isolation boundary. ## Usage ```bash python3 scripts/safe_exec.py "print(sum(range(100)))" python3 scripts/safe_exec.py --file script.py python3 scripts/safe_exec.py --timeout 10 "import time; time.sleep(5); print('done')" ``` ## Security Best-effort guards (NOT a true sandbox — code can still read the filesystem): - **Timeout**: default 30 seconds, configurable - **Memory limit**: 256MB on Linux (via resource.setrlimit); not enforced on macOS - **Blocked patterns**: `os.system`, `subprocess`, `shutil.rmtree`, `__import__('os')` - **AST check**: scans code for dangerous import patterns before execution - **Isolated working dir**: runs in a fresh tmpdir, cleaned up after execution - **Minimal env**: only PATH/HOME/LANG passed to subprocess **Limitations**: This is NOT a security sandbox. The child process can read arbitrary files on the host filesystem. For untrusted code, use a container-based executor (e.g., docker-manage skill) instead. ## Allowed Libraries Safe for use (common data/analysis): - `math`, `statistics`, `decimal`, `fractions` - `json`, `csv`, `re`, `datetime`, `collections` - `pandas`, `numpy` (if installed) - `matplotlib` (saves to file, no display) ## Blocked Patterns ```python BLOCKED = [ "os.system", "os.exec", "os.popen", "os.remove", "subprocess", "shutil.rmtree", "importlib", "__import__", "eval(", "exec(", "open('/etc", "open('/root", ] ``` ## Example Workflows Data analysis: ```python import pandas as pd df = pd.read_csv("/tmp/data.csv") print(df.describe()) print(df.groupby("category")["amount"].sum()) ``` Quick plot (saved to file): ```python import matplotlib.pyplot as plt plt.plot([1,2,3,4], [1,4,2,3]) plt.savefig("/tmp/plot.png") print("Plot saved to /tmp/plot.png") ```
Auf GitHub ansehen