T09 · Insecure Skill Coding Practices
- Location
schema.md:95- Finding
Remote File Processing Retains User Data in Cloud Storage by Default
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent remote archive tool, but it can send arbitrary file contents to AgentPMT and stores outputs or extracted files in cloud storage by default.
Install only if you are comfortable with selected file contents being sent to AgentPMT and, by default, retained in cloud storage for 7 days with signed URLs. For sensitive files, use store_file: false where possible, avoid broad automatic invocation, and prefer pinned or reviewed setup paths instead of unpinned npx commands.
schema.md:95Remote File Processing Retains User Data in Cloud Storage by Default
SKILL.md:271Unpinned Third-Party Installation Instructions Create Supply-Chain Risk
The skill description emphasizes archive functionality but does not clearly warn at the top level that file contents are transmitted to a remote cloud service and that outputs are stored by default for 7 days. Users or upstream agents may therefore route sensitive files through the skill without informed consent or proper data-handling decisions.
The activation keywords include broad terms like compress and general archive-related phrases, which can cause the skill to trigger on ordinary user requests unrelated to this exact remote tool. In context, overbroad activation is dangerous because this skill sends file data to a remote service and stores outputs by default, increasing the chance of unintended data transmission.
The skill instructs users to run npx skills ... without pinning an exact package version or integrity hash. That creates a supply-chain risk: a future malicious or compromised package release could be executed at install time with the user's privileges.
This installation reference uses npx skills without a pinned version, allowing the resolved package to change over time. If the package or dependency chain is compromised, users may execute attacker-controlled code during setup.
An unpinned npx install command introduces a software supply-chain exposure because the fetched code is not fixed to a reviewed release. The risk is amplified because these commands are presented as setup steps users may copy and execute directly.
The command relies on the latest skills package rather than a reviewed immutable version. That makes the skill instructions vulnerable to upstream package compromise or unexpected behavior changes.
Because this setup command is unpinned, users may install and execute different code than the author originally tested. In a security-sensitive agent environment, that can lead to arbitrary code execution or environment compromise.
The referenced install command uses an unversioned npx package execution path, which is a recognized supply-chain weakness. A malicious update could execute during installation before the user has any chance to inspect behavior.
This is another occurrence of unpinned remote package execution through npx, exposing users to upstream package tampering and nondeterministic installs. Repetition across the document increases the chance that users will follow unsafe setup instructions.
This skill is explicitly designed to transmit user-supplied archive contents to external AgentPMT endpoints. External transmission is not inherently malicious here, but it is a real security concern because the tool handles arbitrary file contents, returns signed URLs, and defaults to cloud storage, creating confidentiality and retention exposure if used with sensitive data.
- What AgentPMT is: ../what-is-agentpmt (ClawHub: `what-is-agentpmt`, page: https://clawhub.ai/agentpmt/what-is-agentpmt; skills.sh: `npx skills add AgentPMT/agent-skills --skill what-is-agentpmt`)
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup (ClawHub: `agentpmt-account-mcp-rest-api-setup`, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`)
- Marketplace product: https://www.agentpmt.com/marketplace/zip-unzip-file-compression-10mb
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase
The REST invocation path sends file content or file references to api.agentpmt.com, which means data leaves the local trust boundary. In this skill's context, that is expected behavior, but it remains security-relevant because users may unintentionally expose proprietary or regulated content to a third-party cloud service.
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup (ClawHub: `agentpmt-account-mcp-rest-api-setup`, page: https://clawhub.ai/agentpmt/agentpmt-account-mcp-rest-api-setup; skills.sh: `npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup`)
- Marketplace product: https://www.agentpmt.com/marketplace/zip-unzip-file-compression-10mb
- AgentPMT main MCP server: https://api.agentpmt.com/mcp/
- AgentPMT REST invoke endpoint: https://api.agentpmt.com/products/purchase
The compress action schema indicates store_file defaults to true, meaning uploaded file contents and generated archives may be persisted to cloud storage without an explicit user-facing warning in the surrounding skill description. This creates a confidentiality and data-handling risk because users or calling agents may assume compression is transient local processing and may send sensitive documents that are silently retained.
The decompress action explicitly states that extracted files are stored in cloud storage, and the schema also defaults store_file to true, but the action lacks a strong warning that decompression of uploaded archives will persist all extracted contents. This is dangerous because archives may contain many sensitive files, multiplying exposure and causing unintended retention or downstream access to confidential material.
No suspicious patterns detected.