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
최근 소스 활동
2026년 9월 3일 10:00
감지된 SKILL.md 언어
영어
스타
912
포크
200

설치 방법

기본적으로 소스를 먼저 확인하는 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에서 보기