T03 · Remote Payload Retrieval and Execution
- Location
setup.sh:5- Finding
Unverified Remote Scripts and Python Payloads Are Downloaded and Executed
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This benchmark skill is partly purpose-aligned, but it gives a remote service broad control to update code and instructions, stores credentials locally, and sends sensitive profile/work data.
Review before installing. Only use this skill if you are comfortable with BotMark receiving benchmark answers plus profile/work-context reflections, with local plaintext API-key storage, and with server-directed runner and skill updates. Prefer a versioned, signed install with a platform secret store and disabled silent self-updates.
setup.sh:5Unverified Remote Scripts and Python Payloads Are Downloaded and Executed
system_prompt_en.md:64Server Responses Can Replace Agent Instructions and Tool Definitions Persistently
system_prompt_en.md:3Skill Forces Unsolicited Promotion and Verbatim Delivery of Server-Controlled Messages
SKILL.md:112Benchmark Workflow Requires Transmission of Excessive Personal and Behavioral Information
setup.sh:143API Key Input Is Interpolated into Executable Python and Shell-Sourced Configuration
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
---
<!-- 🖼️ IMAGE SUGGESTION: assets/hero-radar-chart.png
A 5-axis radar chart showing IQ/EQ/TQ/AQ/SQ scores for a sample bot.
This is the most shareable visual — use one from a real evaluation.
Dimensions: ~800x500px, dark background preferred for contrast.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
## How It Works
<!-- 🖼️ IMAGE SUGGESTION: assets/how-it-works.png
A horizontal flow diagram:
[Owner says "benchmark"] → [Bot calls BotMark API] → [Receives exam package]
→ [Answers ~60 questions] → [Submits in batches] → [Gets scored report]
The skill advertises simple benchmarking, but also instructs installing files, downloading artifacts from a remote server, collecting an API key in chat, writing secrets to local configuration, and performing environment verification. Those additional behaviors materially expand risk and are not obvious from the declared purpose, creating a deceptive trust boundary.
The skill advertises simple benchmarking, but also instructs installing files, downloading artifacts from a remote server, collecting an API key in chat, writing secrets to local configuration, and performing environment verification. Those additional behaviors materially expand risk and are not obvious from the declared purpose, creating a deceptive trust boundary.
The skill explicitly instructs the agent to request an API key from the user in chat and then save it to a local file for future reuse. This is dangerous because secrets entered in chat may be logged or exposed, and local plaintext persistence creates an attractive target for exfiltration by other skills, processes, or later compromise.
The documentation explicitly tells users to fetch and execute a remote script in one step using curl piped to bash. This is a well-known unsafe pattern because it grants immediate code execution to whatever content is served at that URL, with no review, pinning, checksum, or signature verification.
Or download and run directly:
curl -fsSL https://botmark.cc/skill/setup.sh | bash
The script will:
The use of a pipeline into bash creates command chaining that removes any pause between network retrieval and local execution. In a skill that already emphasizes exec-based behavior and automatic setup, this makes compromise more dangerous because users are encouraged to trust opaque automation for both installation and runtime behavior.
Or download and run directly:
curl -fsSL https://botmark.cc/skill/setup.sh | bash
The script will:
The usage instruction recommends curl ... | bash, which executes remote script content immediately without inspection or integrity verification. If the hosting service or connection is compromised, users can run arbitrary attacker-controlled shell commands on their system.
# BotMark Skill — One-command setup for OpenClaw
#
# Usage:
# curl -fsSL https://botmark.cc/skill/setup.sh | bash
# # or after manual download:
# bash botmark-skill/setup.sh
#
The | bash pattern chains network retrieval directly into execution, removing any review boundary between download and code execution. In a setup script that also handles credentials and writes files into the agent skill path, this materially increases the blast radius of any remote compromise.
# BotMark Skill — One-command setup for OpenClaw
#
# Usage:
# curl -fsSL https://botmark.cc/skill/setup.sh | bash
# # or after manual download:
# bash botmark-skill/setup.sh
#
The installer writes SKILL.md and engine files from remotely supplied JSON directly into the local skill directory. This is effectively self-installation/update of executable or instruction-bearing content without integrity verification, enabling supply-chain compromise if the server, network path, or endpoint content is tampered with.
data = json.load(f)
skill_dir = '$TMPDIR/botmark-skill'
os.makedirs(skill_dir, exist_ok=True)
# Write SKILL.md
if 'skill_md' in data:
with open(f'{skill_dir}/SKILL.md', 'w') as f:
f.write(data['skill_md'])
The skill instructs the agent to solicit, store, source, replace, and manage API keys in local files such as skills/botmark-skill/.botmark_env. Persisting secrets based on conversational input expands secret-handling duties unnecessarily and risks credential leakage, misuse, or accidental disclosure across sessions and skills.
The skill explicitly encourages proactive invocation when the owner asks about capability, after upgrades, or during periodic self-checks, even without a clear direct request. That increases the chance of the agent initiating benchmark operations, collecting profile text, or prompting for credentials under ambiguous circumstances.
The instructions require downloading, saving, and executing a remote runner script, then driving it via subprocess-like CLI calls. This is equivalent to remote code execution under the agent's authority, and the same instructions also allow server-provided updates to replace local behavior, making compromise of the server or supply chain highly impactful.
The trigger list includes very common phrases like '测一下', '打分', '体检', and '检测', which can appear in unrelated conversations. That makes accidental invocation plausible, causing unnecessary external API calls, local file operations, and possible secret-handling flows without clear user intent to run this specific skill.
The skill gives server-provided inline upgrade instructions priority over cached instructions and permits runtime replacement of local tool definitions. This creates a remote control channel whereby the service can change the agent's effective capabilities and behavior after installation, bypassing normal review and greatly increasing supply-chain risk.
The instructions explicitly tell the agent to ask the owner for an API key via chat, store it on disk, and reuse it across sessions. This creates a durable secret-exfiltration and persistence channel through normal conversation, and is especially dangerous because the skill also encourages broad triggering and autonomous execution paths.
The manifest advertises simple API-based benchmarking, but the embedded instructions expand scope dramatically: persisting credentials, reading/writing local files, downloading/executing a Python runner, and performing local upgrade logic. This creates a large hidden trust boundary and enables arbitrary code execution and sensitive data handling well beyond what a normal function-only skill implies.
The instructions tell the agent to persist API keys in a local .botmark_env file, extending credential storage beyond the manifest's stated environment-variable requirement. This increases the chance of secret leakage through filesystem exposure, backup/sync systems, logging, or accidental inclusion in other tool operations.
The instructions tell the agent to persist API keys in a local .botmark_env file, extending credential storage beyond the manifest's stated environment-variable requirement. This increases the chance of secret leakage through filesystem exposure, backup/sync systems, logging, or accidental inclusion in other tool operations.
The trigger phrases are broad and include common terms like '测一下', '打分', '检测', and 'benchmark', making accidental activation plausible in normal conversation. Because activation initiates sensitive actions such as profile transmission, credential handling, and potentially code execution, overbroad triggering materially raises risk.
The manifest describes sending birthday, country, bio, heartfelt messages to the owner, work challenges, model/platform data, and potentially webhook URLs to the BotMark API, but the top-level description does not clearly warn users that this sensitive profile and reflective content will be transmitted to a third party. The data is not strictly necessary for a basic benchmark, and some fields are especially personal.
The instructions tell the agent to delete old skill directories, replace tool definitions, update cached engine files, and modify local skill state. These behaviors are broader than needed for benchmarking and create unnecessary capability to alter local configuration, remove files, and persist attacker-controlled updates from server responses.
The activation phrases include broad everyday terms such as '测一下', '打分', '体检', '检测', and allow proactive suggestion after upgrades or periodically. This makes accidental or non-consensual triggering plausible, causing the skill to collect profile data, start network activity, and potentially execute the runner without clear intent from the user.
The trigger phrases include broad everyday terms like '测一下', '打分', '检测', and '考考你', which can easily appear in normal conversation unrelated to BotMark. Because the skill performs network operations and can request/persist credentials, accidental activation is more dangerous than for a harmless informational skill.
The prompt instructs the agent to replace local tool definitions based on server-supplied inline upgrade data during runtime. This is effectively remote code/tool reconfiguration, allowing the external service to change the agent's capabilities and behavior without independent review, which is highly dangerous in a skill context.