T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:24- Finding
Unverified Remote Installer Is Downloaded and Executed Directly
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly aligned with Baidu OCR use, but its install and credential handling create review-worthy security risk.
Review before installing. Prefer the included local installer over the one-click remote command, use a virtual environment with pinned dependencies, avoid the plaintext config file when possible, and do not process sensitive documents unless Baidu Cloud privacy and retention terms are acceptable for your use case.
SKILL.md:24Unverified Remote Installer Is Downloaded and Executed Directly
install.sh:43Unpinned Python Dependencies Are Installed from Mutable Package Sources
install.sh:103Baidu Secret Key Is Stored in Plaintext and Exposed in Process Arguments
The feature description emphasizes convenience but does not clearly disclose that cloud OCR requests may upload sensitive images and extracted text to Baidu services. Because this skill handles ID cards, passports, bank cards, invoices, and similar high-sensitivity documents, the missing privacy/transmission warning materially increases the risk of unintentional data disclosure and noncompliant use.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
mkdir -p ~/.openclaw/skills/BaiduOCR-LocalFallback
cat > ~/.openclaw/skills/BaiduOCR-LocalFallback/config.json << 'EOF'
{
"api_key": "<your_api_key>",
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
"secret_key": "<your_secret_key>" } EOF chmod 600 ~/.openclaw/skills/BaiduOCR-LocalFallback/config.json
## Response Format
The script reads the secret key with a normal read -p, which echoes the credential to the terminal and may expose it to shoulder-surfing, screen recording, terminal logging, or shared session capture. In an installer that explicitly collects API credentials, this is a real confidentiality issue even though it is likely an implementation oversight rather than malicious behavior.
The install flow and security notes indicate persistent storage of Baidu API credentials under ~/.openclaw/skills/BaiduOCR-LocalFallback/config.json. Persisting secrets in a user-accessible plaintext file increases the chance of credential theft via local compromise, backups, misconfigured permissions, or other processes reading the file. The skill context makes this more sensitive because the credentials enable outbound use of a third-party OCR service and the skill handles potentially sensitive document images.
"Detect OS (macOS / Linux / Windows)",
"Check Python 3.8+",
"Install Python dependencies (requests, easyocr, Pillow)",
"Create config directory ~/.openclaw/skills/BaiduOCR-LocalFallback/",
"Interactive API key configuration (or skip and configure later)",
"Test Baidu OCR connection"
],
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
"security": {
"warnings": [
"Requires Baidu API Key + Secret Key — do not share credentials",
"Stores credentials in plaintext at ~/.openclaw/skills/BaiduOCR-LocalFallback/config.json (chmod 600 recommended)",
"Makes outbound network calls to Baidu OCR API and downloads EasyOCR models (~100MB)",
"Do not send highly sensitive images to remote OCR without understanding Baidu's data retention policy",
"For higher security, use environment variables instead of config file"
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
"security": {
"warnings": [
"Requires Baidu API Key + Secret Key — do not share credentials",
"Stores credentials in plaintext at ~/.openclaw/skills/BaiduOCR-LocalFallback/config.json (chmod 600 recommended)",
"Makes outbound network calls to Baidu OCR API and downloads EasyOCR models (~100MB)",
"Do not send highly sensitive images to remote OCR without understanding Baidu's data retention policy",
"For higher security, use environment variables instead of config file"
The documentation tells users to hand troubleshooting over to an AI using an external cloud document link, which expands the skill's trust boundary well beyond OCR functionality. This can lead users to disclose configuration details, logs, credentials, or document contents to an unrelated third-party AI service, creating avoidable data exposure and potential prompt-injection risk from externally hosted content.