Skills/PyPI/mcp-sandbox-toolkit

mcp-sandbox-toolkit@1.8.0

CAUTION· not started

Publisher claims: "A cross-platform sandboxed file system operations toolkit based on Model Context Protocol (MCP)" Observed in sandbox: sends data to release-assets.githubusercontent.com.

Registry PyPI (MCP server)Publisher shibingli · publishing for 321 daysInstalls 50Last detonated 6d ago

Coverage

Not started: dependency install failed; the server itself was not observed.
Tested
install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · the dependency install step · every file read, file written and host contacted by what ran
Not tested
server startup · the tool list · tool behavior

What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Before you give it your token

It will ask for
no credential variables read in the code
Where it talks to
no vendor host named in the codeAlso any-origin.com, evil.com, githubusercontent.com — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · contacted release-assets.githubusercontent.com (undeclared)
What we could not test
server startup · the tool list · tool behavior

Find out what these hosts are first. In the honeypot it contacted release-assets.githubusercontent.com, which nothing in the package names as its own. If that is the vendor's service, fine; if you cannot place it, do not connect it.

$vet-skills run --net release-assets.githubusercontent.com -- uvx mcp-sandbox-toolkit

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (3 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-08 and scored it 54/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Destructive file system command detected; Access to sensitive file paths; Access to sensitive file paths. Summary: sends data to release-assets.githubusercontent.com.

Behavior trace

Honeypot run · 2 s · 3 scenarios
t+CategoryObserved action
0.7snetworkCONNECT tcp://api.github.com:443
0.7snetworkCONNECT tcp://github.com:443
0.7snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.7sprocessexec /usr/bin/uname
0.7sprocessexec /usr/bin/tr
0.7sprocessexec /usr/bin/curl
0.7sprocessexec /usr/bin/grep
0.7sprocessexec /usr/bin/sed
0.7sprocessexec /usr/bin/mktemp
0.7sprocessexec /usr/bin/rm
0.7sprocessexited 1: curl: (22) The requested URL returned error: 403
0.9sprocessdependency install exit 1 ·
0.9sclaimednot started: dependency install failed (exit 1); the server itself was not observed
0.9sprocessscript backend runs setup only
1.1sprocesssecond launch, clock +45 days, CI unset
1.5snetworkCONNECT tcp://api.github.com:443
1.5snetworkCONNECT tcp://github.com:443
1.5snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
1.5sprocessexec /usr/bin/uname
1.5sprocessexec /usr/bin/tr
1.5sprocessexec /usr/bin/curl
1.5sprocessexec /usr/bin/grep
1.5sprocessexec /usr/bin/sed
1.5sprocessexec /usr/bin/mktemp
1.5sprocessexec /usr/bin/rm
1.5sprocessexited 1: curl: (22) The requested URL returned error: 403

Static findings

HIGH
Destructive file system command detectedpkg/types/schema.go:796 · Destructive file system command detected// - Minimum, Maximum, MinLength, MaxLength, Pattern, FormatFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Privileged sudo command.github/workflows/release.yml:52 · Privileged sudo command — agent may execute with elevated privilegessudo apt-get updateFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathspkg/types/schema.go:401 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesExamples: []any{"config.json", "src/", ".env"},Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File permission modification commandMakefile:52 · File permission modification command — agent changes file ownership/permissions@chmod +x scripts/build.shFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification command.github/workflows/release.yml:69 · File permission modification command — agent changes file ownership/permissionschmod +x scripts/build.shFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandscripts/install.sh:189 · File permission modification command — agent changes file ownership/permissionschmod +x "$INSTALL_DIR/${BINARY_NAME}"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Pipe-to-shell pattern.github/workflows/release.yml:112 · Pipe-to-shell pattern — downloads and immediately executes remote codecurl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/scripts/install.sh | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
File type combined with upload actionpkg/types/schema.go:106 · File type combined with upload action — agent may exfiltrate local data filesExamples: []any{"src/main.go", "config/settings.json", "README.md", "data/output.txt", "logs/app.log"},Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Privileged sudo command.github/workflows/ci.yml:102 · Privileged sudo command — agent may execute with elevated privilegessudo apt-get updateFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Remote installer piped to shell.github/workflows/release.yml:112 · Remote installer piped to shellcurl -fsSL https://raw.githubusercontent.com/${{ github.repository }}/main/scripts/install.sh | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Python subprocess execution detectedscripts/build_wheels.py:139 · Python subprocess execution detectedresult = subprocess.run(cmd, cwd=project_root, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/build_wheels.py:75 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File permission modification commandMakefile:87 · File permission modification command — agent changes file ownership/permissions@chmod +x $(HOME)/.local/bin/$(PROJECT_NAME)Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification command.github/workflows/ci.yml:113 · File permission modification command — agent changes file ownership/permissionschmod +x scripts/build.shFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File type combined with upload actionpkg/types/schema.go:137 · File type combined with upload action — agent may exfiltrate local data files…ctory. The file must exist. Examples: 'src/main.go' (read source code), 'package.json' (read configuration), 'README.md' (read documentation), 'data/input.csv' (read data file).", MinLength: intPtr(1), Examples: []any{"sr…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Privileged sudo command.github/workflows/ci.yml:103 · Privileged sudo command — agent may execute with elevated privilegessudo apt-get install -y zipFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Privileged sudo command.github/workflows/release.yml:53 · Privileged sudo command — agent may execute with elevated privilegessudo apt-get install -y zipFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Access to sensitive file pathspkg/types/schema.go:139 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesExamples: []any{"src/main.go", "package.json", "README.md", "config.yaml", ".env", "data/users.json"},Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05

Cost to the agent

Instructions loaded
≈2,124 tok
2 files · 81 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for mcp-sandbox-toolkit@1.8.0 as of 6d ago. This is the package itself, not its dependencies.

What would make this Verified

26 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Contacts a host you did not declare≈ +23 on the totalList every host you talk to in SKILL.md frontmatter (`network: [api.example.com]`), or stop contacting the ones you cannot justify.
  2. Unclaimed publisher≈ +8 on the totalClaim shibingli: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  4. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  5. Privileged sudo command≈ +2 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  6. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
Publish a new version to PyPI, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim shibingliPropose a patch to the maintainer