T08 · Insecure Dependencies
- Location
SKILL.md:33- Finding
Unpinned npm Package Is Downloaded and Executed Automatically
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s purpose is coherent, but it runs an unpinned npm MCP package with an API key, so the executable code could change after review.
Review and pin the MCP package version before installing, preferably through a lockfile-controlled deployment. Use a narrowly scoped, revocable Inbox Check API key, avoid broad environment exposure to the MCP process, and require explicit approval for paid test creation or deletion.
SKILL.md:33Unpinned npm Package Is Downloaded and Executed Automatically
The publish instructions invoke npx -y clawhub without pinning an exact package version, so whoever runs the command will fetch and execute whatever version is current at that time. If the upstream package is compromised, typo-squatted, or a breaking release is published, this can lead to arbitrary code execution on the operator's machine during login or publish operations.
The command npx -y clawhub skill publish ... also executes an unpinned package from the registry, creating a supply-chain risk each time the skill is published. Because publishing often occurs in privileged developer or CI environments, a malicious or compromised package version could exfiltrate credentials, alter the published artifact, or execute arbitrary commands.
The command npx -y clawhub skill publish ... also executes an unpinned package from the registry, creating a supply-chain risk each time the skill is published. Because publishing often occurs in privileged developer or CI environments, a malicious or compromised package version could exfiltrate credentials, alter the published artifact, or execute arbitrary commands.
The README instructs users to run an MCP server directly via npx -y ldm-inbox-check-mcp without pinning a specific version, which causes execution of whatever package version is current at install time. Because MCP servers run code locally and are granted access to sensitive configuration such as INBOX_CHECK_API_KEY, a compromised upstream package, malicious maintainer update, or dependency hijack could lead to arbitrary code execution and secret exfiltration.
The skill installs and runs an MCP server via npx using the package name ldm-inbox-check-mcp without a pinned version or integrity control. That means future executions can pull whatever package version is currently published, creating a supply-chain risk where a malicious or compromised update could execute arbitrary code and access the configured INBOX_CHECK_API_KEY or manipulate outbound email workflows.
This manifest defines an MCP server configuration but provides no description of when it should be invoked, what user intents it is meant to handle, or any limiting conditions. In manifest files, missing trigger specificity can lead to ambiguous activation behavior because there are no explicit constraints or negative examples documenting intended scope.
No suspicious patterns detected.