T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned External MCP Dependency Handles Credentials and Sensitive Email Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 6 and 13–16
Vulnerability Type: Unpinned third-party runtime dependency and unverifiable credential handling
Risk Level: MediumVulnerable Code
markdown metadata: {"openclaw":{"emoji":"📧","homepage":"https://agentsend.io/skill","primaryEnv":"AGENTSEND_API_KEY","install":[{"id":"node","kind":"node","package":"@agentsend/mcp","bins":["agentsend-mcp"],"label":"Install AgentSend MCP"}]}}markdown ## Runtime - The runtime is `@agentsend/mcp`. - `AGENTSEND_API_KEY` is optional. If it is set, use that account. - If `AGENTSEND_API_KEY` is not set, the MCP server auto-provisions a sandbox account on first run and stores credentials in `~/.agentsend/credentials.json`.Technical Analysis
The Skill installs and executes the external npm package
@agentsend/mcpwithout specifying an exact version or integrity hash. Because the project contains onlySKILL.md, the runtime implementation is not available for review. Its network behavior, local file access, credential-file permissions, and email-data handling therefore cannot be verified from the audited artifact.An unpinned dependency may resolve to a different release on later installations. If the upstream package, publisher account, or distribution process is compromised, altered runtime code could be delivered after this Skill has been reviewed. The runtime operates in a sensitive context: it can receive
AGENTSEND_API_KEY, read email bodies and headers, send email, register webhooks, and persist credentials under the user's home directory.Persisting credentials in
~/.agentsend/credentials.jsonis functionally related to maintaining the declared email account and does not independently demonstrate malicious behavior or excessive privilege. However, the Skill does not specify restrictive file permissions, encryption, expiration, revocation, deletion, or explicit consent before automat ...[truncated 2086 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
@agentsend/mcpto a reviewed, exact version rather than allowing package resolution to select a later release. - Enforce package integrity verification using a trusted lockfile, registry integrity hash, or equivalent reproducible-installation mechanism.
- Publish or link the runtime source and identify the reviewed source revision corresponding to the pinned package.
- Document all network endpoints contacted by the runtime and restrict outbound access to required AgentSend endpoints where sandboxing is available.
- Run the MCP server under a dedicated, least-privileged account or sandbox with access limited to required files and network resources.
- Require explicit user confirmation before automatically provisioning an account or writing persistent credentials.
- Create
~/.agentsend/credentials.jsonwith owner-only permissions, such as mode0600on supported systems, and ensure its parent directory is not accessible to other users. - Document credential lifetime, revocation, rotation, and secure deletion procedures. Avoid storing credentials in plaintext when a platform credential store is available.
- Avoid passing secrets through command-line arguments or logs, and redact API keys and email content from diagnostic output.
- Require user confirmation for externally consequential operations, particularly sending email and registering or changing webhooks.
- Pin
