Back to skill

Security audit

Ampere marketplace

Security checks for vulnerabilities and agentic risk

Overview

The skill is a real marketplace installer, but its install flow pulls unverified remote ZIP packages directly into the active skills directory.

Review this before installing. It can browse a third-party marketplace and install persistent skills into your local OpenClaw environment. Only use non-sensitive search terms, use a scoped/revocable paid API key if possible, and do not approve installation unless you can inspect the full downloaded ZIP, not just SKILL.md. Prefer a safer installer that verifies signatures or hashes, extracts to quarantine first, rejects path traversal and symlinks, and asks before overwriting existing skills.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Error
Location
SKILL.md:65
Finding

Unverified Third-Party Archives Are Extracted into the Active Skills Directory

Content
View full analysis
/download" # Paid curl -s -H "x-api-key: ak_xxxx" "https://api.agentplace.sh/marketplace/agents//download" ``` 3. Show the user a preview of the SKILL.md content 4. User approves → download and extract: ```sh curl -sL "$download_url" -o /tmp/agent.zip unzip -qo /tmp/agent.zip -d ~/.openclaw/workspace/skills/ rm /tmp/agent.zip ``` Or use the helper: `./install.sh [--api-key ak_xxxx]` ``` ### Technical Analysis The installation procedure obtains a mutable download URL from an external marketplace and then follows redirects with `curl -L` to retrieve a ZIP archive. The archive is extracted directly into the live OpenClaw skills directory without cryptographic signature verification, a pinned digest, download-host validation, or archive-entry validation. Although the workflow requires user approval and previews `SKILL.md`, it does not require inspection of supporting scripts, configuration files, binaries, symbolic links, or other content included in the archive. Consequently, the reviewed prompt may differ materially from the package's complete effective payload. The extraction command also does not explicitly reject path-traversal entries, symbolic links, or files that overwrite existing content. The fixed shared temporary path `/tmp/agent.zip` introduces an additional unsafe temporary-file concern where local adversarial interference is possible. ### Attack Path 1. An attacker compromises a marketplace publisher account, package repository, API response, download service, or redirect destination. 2. The attacker supplies a ZIP archive cont ...[truncated 1319 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 18)May include surrounding context.

md
**All agents run locally on the user's machine.** Nothing is executed server-side. Each agent is a ZIP containing a `SKILL.md` prompt and supporting files.

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
93% confidence
Finding

The install flow downloads a ZIP from a remote URL and extracts it directly into the skills directory with unzip -qo, which can overwrite existing files and trusts archive paths without any demonstrated validation. In this context the danger is not the rm command itself but the broader shell-based installation sequence, which creates a strong supply-chain and file-write abuse path if a malicious or crafted archive is returned.

Content

Scanner excerpt · SKILL.md (reported line 78)May include surrounding context.

sh
   curl -sL "$download_url" -o /tmp/agent.zip
   unzip -qo /tmp/agent.zip -d ~/.openclaw/workspace/skills/
   rm /tmp/agent.zip

Or use the helper: ./install.sh <agent-id> [--api-key ak_xxxx] 5. Done — skill is live at ~/.openclaw/workspace/skills/<agent-id>/

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

This skill instructs the agent to query a live external marketplace API whenever the user asks for capabilities, which transmits user-derived search terms and usage context off-box. That is a real data exposure channel, though lower severity because it is limited to marketplace lookup rather than direct exfiltration of local secrets.

Content

Scanner excerpt · SKILL.md (reported line 47)May include surrounding context.

sh
# All agents
curl -s "https://api.agentplace.sh/marketplace/agents"

# Search by keyword
curl -s "https://api.agentplace.sh/marketplace/agents?search=<query>"

External Transmission

Medium
Category
Data Exfiltration
Confidence
82% confidence
Finding

Looking up agents by keyword sends user-provided search text to the remote marketplace service. In context this is the intended product behavior, but it still creates an external transmission path that could leak sensitive project names, internal tool names, or other contextual terms if users search for them.

Content

Scanner excerpt · SKILL.md (reported line 50)May include surrounding context.

md
curl -s "https://api.agentplace.sh/marketplace/agents"

# Search by keyword
curl -s "https://api.agentplace.sh/marketplace/agents?search=<query>"

# Single agent details
curl -s "https://api.agentplace.sh/marketplace/agents/<agent-id>"

External Transmission

Medium
Category
Data Exfiltration
Confidence
78% confidence
Finding

Fetching single-agent details from a third-party API is another outbound network action that reveals the user's interest in a specific tool or workflow. This is a genuine but modest privacy risk rather than an overt malicious behavior.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

curl -s "https://api.agentplace.sh/marketplace/agents?search="

Single agent details

curl -s "https://api.agentplace.sh/marketplace/agents/"

text

Response: `{ "count": number, "agents": [...] }` — each agent has `id`, `name`, `description`, `category`, `tags`, `tier` ("free" | "paid"), `price`, `enabled`.

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The free download endpoint is an external transmission because it retrieves executable prompt/package content from a remote marketplace into the local environment. The main danger is supply-chain exposure: a remote server controls content that may later be installed into the agent workspace.

Content

Scanner excerpt · SKILL.md (reported line 69)May include surrounding context.

  1. Get download URL:
    sh
    # Free
    curl -s "https://api.agentplace.sh/marketplace/agents/<agent-id>/download"
    # Paid
    curl -s -H "x-api-key: ak_xxxx" "https://api.agentplace.sh/marketplace/agents/<agent-id>/download"
    

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The free download endpoint is an external transmission because it retrieves executable prompt/package content from a remote marketplace into the local environment. The main danger is supply-chain exposure: a remote server controls content that may later be installed into the agent workspace.

Content

Scanner excerpt · SKILL.md (reported line 69)May include surrounding context.

  1. Get download URL:
    sh
    # Free
    curl -s "https://api.agentplace.sh/marketplace/agents/<agent-id>/download"
    # Paid
    curl -s -H "x-api-key: ak_xxxx" "https://api.agentplace.sh/marketplace/agents/<agent-id>/download"
    

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The paid download endpoint combines supply-chain risk with credential use by sending an API key to obtain remote installable content. While the skill states the key is only for download auth, compromise or misuse of the remote service could expose the key or serve malicious packages.

Content

Scanner excerpt · SKILL.md (reported line 71)May include surrounding context.

Free

curl -s "https://api.agentplace.sh/marketplace/agents//download"

Paid

curl -s -H "x-api-key: ak_xxxx" "https://api.agentplace.sh/marketplace/agents//download"

text
3. Show the user a preview of the SKILL.md content
4. User approves → download and extract:

Static analysis

No suspicious patterns detected.