T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:15- Finding
Mutable Remote Installers Are Executed Without Integrity Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s document-extraction purpose is coherent, but its install path asks users to execute mutable remote installer scripts without integrity verification.
Review this skill before installing. The main risk is not the mineru command wrapper itself, but the documented installer commands that execute remote scripts directly. Prefer a pinned, verifiable installer or inspect and verify downloads before running them. Also avoid sending confidential documents or internal URLs to the MinerU API unless that is acceptable for your data policy.
SKILL.md:15Mutable Remote Installers Are Executed Without Integrity Verification
CONTRIBUTING.md:23Contribution Workflow Repeats Unverified Remote Script Execution
The curl -fsSL .../install.sh | sh command fetches an external script and executes it immediately, creating a direct remote code execution path. Because this appears in contributor guidance, the skill context increases risk: readers are explicitly encouraged to run it locally while troubleshooting, so a compromised CDN, replaced script, or malicious redirect could execute arbitrary shell commands on their machine.
Install the latest version:
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh
Test the command in your terminal to isolate the issue:
The | sh shell pipe is the risky mechanism that turns a network fetch into immediate command execution, removing any review step and amplifying the danger of script substitution or tampering. In this skill's documentation context, it is especially risky because it is presented as a routine prerequisite, which normalizes unsafe copy-paste behavior for contributors.
Install the latest version:
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh
Test the command in your terminal to isolate the issue:
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.
## Adding New Commands to the Skill
Update SKILL.md when the upstream CLI adds new commands or flags:
- Keep the Installation and Authentication sections current
- Add new commands in the correct category (extract/crawl/auth/status)
The skill instructs users to execute a remote shell script directly from the network with curl | sh. If the CDN, origin, DNS, TLS termination, or distribution pipeline is compromised, arbitrary code will run immediately on the user's machine with the user's privileges.
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh
The use of a shell pipeline to fetch and immediately execute remote content creates a chaining pattern that removes opportunities for validation, review, or integrity checks. In an agent context, this is especially dangerous because automated tooling may execute the command non-interactively, turning a documentation snippet into instant remote code execution.
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh
The document instructs contributors to install software by piping a remotely fetched script directly into sh, which executes unreviewed code from the network immediately. In a contributor-facing skill, this is dangerous because users may copy-paste it without inspecting the script, enabling compromise if the hosting endpoint, transport path, or upstream script is malicious or altered.
The skill repeatedly encourages extraction of local files, stdin content, remote documents, and crawled web pages via a third-party API, but does not clearly warn that document contents, URLs, and possibly embedded sensitive data are transmitted to MinerU servers. This can lead users or agents to exfiltrate confidential documents or internal URLs off-host without informed consent.
The file first documents that without -o, output goes to stdout and shows multiple examples of stdout-mode operation (L73, L84, L107, L190-L193). Later, the agent guidelines say the agent MUST generate a default output directory when the user does not specify -o, which changes the command's behavior from stdout streaming to file-writing. This is an active contradiction between the documentation's stated default behavior and the prescribed usage.
The documentation states that the language defaults to ch (Chinese), which imposes a specific locale behavior by default. The file does not present this as an opt-in choice or justified region-specific constraint, so it may violate language/locale policy expectations.
No suspicious patterns detected.