T08 · Insecure Dependencies
- Location
SKILL.md:51- Finding
Third-Party Packages Are Installed Without Cryptographic Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill appears to be a real sandbox-management tool, but it handles powerful credentials and remote sandbox actions with broader persistence and weaker user controls than users should accept without review.
Install only if you trust the Baidu sandbox service, the custom pip index, and the publisher. Prefer setting secrets through a safer secret manager or tightly permissioned skill-specific file instead of ~/.env, avoid passing real API keys or COMATE tokens on the command line, review the configured E2B_DOMAIN before use, and confirm sandbox kill commands because they destroy sandbox state.
SKILL.md:51Third-Party Packages Are Installed Without Cryptographic Integrity Verification
scripts/configure.py:15Sandbox API Key Is Stored Without Enforced Restrictive File Permissions
scripts/configure.py:45Authentication Secrets Are Accepted Through Command-Line Arguments
scripts/configure.py:9Unrestricted API Domain Configuration Can Redirect Authenticated SDK Traffic
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
python3.9 scripts/configure.py <your_api_key>
echo "E2B_API_KEY=<your_api_key>" > ~/.env echo "E2B_DOMAIN=agent-sandbox.baidu-int.com" >> ~/.env
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
python3.9 scripts/configure.py <your_api_key>
echo "E2B_API_KEY=<your_api_key>" > ~/.env echo "E2B_DOMAIN=agent-sandbox.baidu-int.com" >> ~/.env
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
python3.9 scripts/configure.py <your_api_key>
echo "E2B_API_KEY=<your_api_key>" > ~/.env echo "E2B_DOMAIN=agent-sandbox.baidu-int.com" >> ~/.env
Writing an API key to ~/.env is a credential-handling weakness because .env files are commonly read by many tools and may have overly broad visibility. In this skill's context, the key grants access to remote sandbox resources, so compromise could enable unauthorized sandbox creation, access to exposed services, or abuse of associated billing and internal integrations.
配置 API Key:
# Agent 会自动将 API Key 写入 ~/.env 文件
# 格式如下:
E2B_API_KEY=<your_api_key>
E2B_DOMAIN=agent-sandbox.baidu-int.com
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
api_key: API Key
domain: 沙箱域名
"""
env_path = os.path.expanduser('~/.env')
# 读取现有配置
existing = {}
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
api_key: API Key
domain: 沙箱域名
"""
env_path = os.path.expanduser('~/.env')
# 读取现有配置
existing = {}
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
api_key: API Key
domain: 沙箱域名
"""
env_path = os.path.expanduser('~/.env')
# 读取现有配置
existing = {}
The script instructs the user to let an Agent configure the API key into ~/.env, which can normalize handing secret-management actions to an automated agent with broad local file access. In an agentic environment, this increases the chance of credential exposure, accidental overwrite of existing secrets, or unsafe storage of high-value tokens in plaintext home-directory files.
print("\n请按以下步骤配置:")
print("1. 访问 https://console.cloud.baidu-int.com/aitools/sandbox-square")
print("2. 进入空间后点击『沙箱』→『API Key 管理』")
print("3. 获取 API Key 后,让 Agent 帮你配置到 ~/.env 文件")
return False
print(f"✅ API Key 已配置: {api_key[:10]}...")
The markdown documents executing arbitrary commands in a sandbox and killing a sandbox instance, both of which can affect data or system state. Although later notes mention data loss after sandbox destruction, there is no direct warning near these commands about command risk or confirmation before destructive deletion.
The skill exposes capabilities that can read environment variables and read/write local files, yet it declares no explicit tool scope or permission boundary. In an agent setting, this increases the chance the skill is invoked with broader access than users expect, enabling unintended access to local secrets or filesystem contents.
The trigger list includes broad terms like 'sandbox' and 'aio', which can cause accidental invocation for unrelated user requests. Misrouting to this skill is risky because the skill can install packages, create remote sandbox instances, and manipulate local credential files, so even benign overmatching can lead to unnecessary privileged actions.
The skill states that the agent will automatically write the API key into ~/.env, but it does not clearly warn about the security implications of storing credentials in a general-purpose local file. This can expose secrets to other tools, processes, users, backups, or future agent runs that read the same file.
This script writes API credentials into the user's global ~/.env file, which affects unrelated tools and sessions outside the sandbox-manager skill. Modifying a global environment file for a narrowly scoped sandbox configuration increases the blast radius of mistakes, can overwrite existing values, and may expose credentials to other processes that source ~/.env.
The file’s natural-language interface, help text, and user-facing output are entirely in Chinese, beginning with the module description on these lines. Under the policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is explicitly justified, which is not present here.
The kill_sandbox function unconditionally destroys the target sandbox by calling sbx.kill() after only printing a progress message. Because this is an irreversible operation affecting sandbox state, the script should provide a clear warning or confirmation prompt before proceeding.
The instructions say to speak to the agent using Chinese example phrases only, and the document overall is written as if Chinese is the required interaction language. There is no indication that other languages are supported or that Chinese is optional, which can violate language/locale choice policy.
The user-facing docstrings, argument descriptions, and CLI description are written only in Chinese, which imposes a specific language on users without offering a language choice or documenting a justified locale constraint. This matches the policy category for language or locale restrictions in natural-language content.
The file’s docstrings, CLI description, help text, and runtime messages are written in Chinese, which imposes a specific language on users without any opt-in or stated regional constraint. This matches the language/locale policy concern for natural-language behavior embedded in code.