Skip to main content

sandbox-shell

Use when a task requires shell-level work inside the sandbox, including environment setup, script writing, code execution, preinstalled programs, bounded network diagnostics, or browser/tool CLIs.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
Aethena-Lab/Z3r0
آخر نشاط في المصدر
٣ سبتمبر ٢٠٢٦ في ١٠:٠٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٨٩١
التفرعات
١٩٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
sandbox-shell
description
Use when a task requires shell-level work inside the sandbox, including environment setup, script writing, code execution, preinstalled programs, bounded network diagnostics, or browser/tool CLIs.
# sandbox-shell Use sandbox command tools for authorized task work inside the selected sandbox container. ## Skill loading required - Before using any domain-specific tool, load and follow that tool's matching skill when one exists. - Loading only `sandbox-shell` is not enough for specialized tools such as `agent-browser-cli`, `apktool`, `binwalk`, `checksec`, `dnsx`, `gdb-pwndbg`, `ghidra`, `httpx`, `jadx`, `nmap`, `openssl`, `pwntools`, or `strace-ltrace`. - If no dedicated skill exists for a needed command, use this skill plus the installed command help as the source of truth. ## Usage rules - Prefer the sandbox image's preinstalled tools. Do not install, upgrade, reinstall, or replace a tool that is already available. - Check an existing command with `command -v`, `--version`, or installed help before considering any install step. - Use `uv` only for missing Python dependencies, task-scoped virtual environments, or tools that are not already present and are required for the task. - Treat the preinstalled network inventory as the normal execution boundary. Use its listed tools with small reviewed inputs and conservative rates; do not add network CLIs during ordinary task work. - Keep environment changes task-scoped. Do not use `apt`, global `pip`, curl-piped installers, or language package managers to overwrite bundled tools unless the user explicitly asks. ## Tool contract Command tools return compact JSON metadata; raw output is captured to `output_file`: - `execute_sync_command` returns `status`, `output_file`, `output_bytes`, `output_lines`, and optional `exit_code`. - `execute_async_command` returns only `status` and `run_id`; its terminal `status`, `exit_code`, and `output_file` are delivered later when the runtime resumes you. - Status values: `running`, `completed`, `failed`, `canceled`. - Read output with `read_sandbox_command_output` using `output_file` and `start_line: 1`, at most 200 lines per call. Do not use `cat`. ## Choosing execution Use `execute_sync_command` for short, local, bounded commands expected to finish within 30 seconds: - file inspection, small scripts, local parsing, `command -v`, `test`, `sed -n`, `head`, `tail`, `wc`, bounded `grep` - one sync command per assistant response unless the previous result requires an immediate bounded read Use `execute_async_command` for anything slow, remote, stateful, or externally dependent: - HTTP requests, downloads, bounded network diagnostics, browser automation, missing dependency installs, builds, servers, watchers, REPLs - loops around network, browser, dependency setup, build, diagnostics, or other external resources - consolidated scripts that run several slow checks and write structured output Always pass timing arguments explicitly via `timeout_seconds`. ## Async jobs Dispatching `execute_async_command` ends the current turn immediately. - After dispatching, do not continue working, run follow-up steps, or take any further action — your turn is over. - The runtime resumes you automatically when the job finishes, delivering its `status`, `exit_code`, and `output_file` as fresh context. - Never poll, read, or check a running job, and never use `sleep`, shell wait loops, or filler progress messages — there is nothing to do but wait to be resumed. - Use `cancel_sandbox_async_job` only when cancellation is requested or the job is no longer useful. ## Output handling - When metadata has terminal `status` and `output_lines > 0`, read needed chunks with `read_sandbox_command_output`. - Continue with the next `start_line` only when the next chunk is needed. - Do not re-run a command just to inspect an existing `output_file`. - Use a new bounded command only when file-side filtering/counting is more efficient than reading chunks. - Keep generated files and installed packages scoped to the task. ## Python packages - Use `uv` only when the required Python package or CLI is not already preinstalled, or when task isolation is necessary. - Create task virtual environments with `uv venv --python /usr/bin/python3 <dir>` when a script needs dependencies outside the bundled toolset. - Install missing Python dependencies with `uv pip install --python <dir>/bin/python ...`. - Run one-off Python commands with missing dependencies using `uv run --python /usr/bin/python3 --with <package> python ...`; avoid this for packages already provided by preinstalled tool environments. - Run temporary CLI tools with `uvx --python /usr/bin/python3 <tool>` or `uv tool run --python /usr/bin/python3 <tool>` only when no preinstalled equivalent exists. - Install persistent Python CLI tools with `uv tool install --python /usr/bin/python3 --no-python-downloads <tool>` only when repeated use is required and the tool is not already in the image. - Prefer the existing `/usr/bin/python3`; `UV_PYTHON_DOWNLOADS=never` is set in the image, and another Python should be downloaded only when the user explicitly asks. - Do not use global `pip install` or assume `pip3` is available unless the user explicitly asks and the reason is recorded. ## Available tools - Archives: `7z`, `unzip`, `tar` - Shell/runtime: `python3`, `uv`, `uvx`, `node`, `npm`, `jq`, `rg`, `git`, `sha256sum` - Network: `curl`, `wget`, `nc`, `dig`, `nslookup`, `whois`, `openssl`, `httpx`, `dnsx`, `nmap` - Android/reversing: `jadx`, `apktool`, `ghidra`, `analyzeHeadless` - Reverse/pwn: `gdb`, `pwndbg`, `strace`, `ltrace`, `pwntools`, `checksec` from `pwntools` - File/firmware: `file`, `binwalk`, `readelf` - Browser: Chrome for Testing (`google-chrome`, `chrome`) and `agent-browser-cli` ## Tool selection boundaries - `checksec` is provided by `pwntools`; do not install a separate checksec package. - Use `dnsx` only for bounded batch DNS validation; use `dns-whois` tools for targeted manual DNS or registration triage. - Use `httpx` for bounded HTTP liveness and normalization, and `nmap` for targeted port or service checks. - Use `gdb`/`pwndbg` for debugger state, `strace`/`ltrace` for runtime traces, and `pwntools` for repeatable binary interaction. ## Skill resource paths Use `.agents/skills/<skill-name>/...` paths in sandbox commands for skill-shipped files: - Ghidra wrapper: `.agents/skills/ghidra/scripts/ghidra-analyze.sh` ## Output Report only meaningful results: changed files, commands run, relevant output, and failures that affect completion.
عرض على GitHub