Back to skill

Security audit

ucloud-deepseek-ocr

Security checks for vulnerabilities and agentic risk

Overview

This OCR skill appears purpose-built, but it needs Review because it uploads image contents and an API key to a configurable remote endpoint and executes a local env file as shell code.

Install only if you are comfortable sending selected images to the configured remote OCR API. Avoid using it on IDs, invoices, secrets, private screenshots, or regulated data unless you have approved that provider. Check DEEPSEEK_OCR_API_URL before use, keep the API key narrowly scoped, and treat ~/.openclaw-env as executable shell code rather than a passive config file.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
script/ocr.sh:7
Finding

Arbitrary Shell Execution Through Sourced Configuration File

Content
View full analysis
Remediation
View remediation
&2 exit 1 fi ``` ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
script/ocr.sh:54
Finding

API Credential and Image Exfiltration Through Unrestricted Endpoint Override

Content
View full analysis
Remediation
View remediation
&2 exit 1 ;; esac ``` ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill documents execution of a shell script and requires command-line binaries, but it does not declare any explicit tool scope such as allowed tools or permissions. That makes the runtime capabilities broader and less auditable, increasing the chance that an agent can invoke shell access unexpectedly or with more privilege than intended.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill description presents OCR functionality without clearly warning that supplied images are transmitted to a third-party remote API for processing. Users may provide screenshots, IDs, invoices, or other sensitive images under the assumption of local processing, creating a privacy and data-handling risk through uninformed disclosure.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The skill sends image data to an external endpoint, which is a real data egress pathway because OCR requires uploading base64-encoded image contents to a remote service. In this skill's context, external transmission is expected functionality, but it still poses confidentiality and compliance risks if sensitive images are processed or if the endpoint is overridden to an untrusted URL.

Content

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

}

text

Default API URL: `https://api.modelverse.cn/v1/chat/completions`
Override with `DEEPSEEK_OCR_API_URL` if needed.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · script/ocr.sh (reported line 55)May include surrounding context.

sh
IMAGE_BASE64=$(base64 -w 0 "$IMAGE_PATH" 2>/dev/null || base64 "$IMAGE_PATH" | tr -d '\n')

# API 地址
API_URL="${DEEPSEEK_OCR_API_URL:-https://api.modelverse.cn/v1/chat/completions}"

# 构建提示词
PROMPT="convert to $FORMAT"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script uploads the full image contents to a remote OCR endpoint, but provides no explicit warning, consent step, or data-handling notice to the user. Because OCR inputs often contain sensitive screenshots, IDs, documents, or secrets, silent transmission to a third-party service creates a real privacy and data-exposure risk in this skill context.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

The script performs external transmission of user-supplied image data and an authorization token to a remote API via curl. In an OCR skill, this behavior is expected functionally, but it remains security-relevant because sensitive image contents leave the local environment and are processed by a third party, especially without validation of endpoint trust beyond a configurable URL.

Content

Scanner excerpt · script/ocr.sh (reported line 61)May include surrounding context.

sh
PROMPT="convert to $FORMAT"

# 发送请求
RESPONSE=$(curl -s "$API_URL" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_OCR_API_KEY" \
  -d @- <<EOF

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The script's comments, usage guidance, and error messages are presented in Chinese only, which imposes a specific language on users. There is no opt-in, alternate locale, or documented justification that this skill is intended solely for a Chinese-speaking or region-specific environment.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.