T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned Third-Party CLI Installed Globally## Vulnerability Details **File Location**: `SKILL.md`, lines 16–20 **Vulnerability Type**: Supply-chain exposure through an unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ## Installation ```bash npm install -g @mjrussell/resend-cli ``` ``` ### Technical Analysis The skill instructs users to install `@mjrussell/resend-cli` globally without pinning an audited version or verifying its integrity. The package is under a third-party namespace rather than one demonstrably controlled by Resend. The repository provides no lockfile, checksum, vendored implementation, or source reference through which the installed code can be verified. An npm installation may execute package lifecycle scripts. After installation, the CLI is also expected to run with access to `RESEND_API_KEY` and to process sensitive inbound email, attachment, domain, and DNS-record data. Consequently, compromise of the package, its maintainer account, or a future mutable release could expose both local execution privileges and Resend data. The reviewed project does not prove that the current package is malicious. The confirmed weakness is reliance on an unpinned and unverifiable third-party dependency in a security-sensitive context. ### Attack Path 1. An attacker compromises the package publisher, package registry account, or another component of the package's dependency chain. 2. The attacker publishes a malicious release under the same package name. 3. A user follows the documented `npm install -g` command, which resolves the mutable latest release. 4. Malicious lifecycle code may execute during installation with the user's operating-system privileges. 5. Alternatively, malicious code executes when the installed `resend` command is invoked. 6. The CLI reads `RESEND_API_KEY` from the environment and receives sensitive email or domain data. 7. The compromised code can access or exfiltrate the API key and any data available under its scope. ### Impact A ...[truncated 487 chars]
- Remediation
- ## Remediation Suggestions 1. Prefer a CLI officially maintained and published by Resend, with independently verifiable ownership. 2. Pin the dependency to a specifically reviewed version instead of resolving the latest mutable release. 3. Record and verify package integrity hashes through a lockfile or equivalent reproducible installation mechanism. 4. Avoid global installation; use an isolated environment with minimal filesystem and network permissions. 5. Where operationally feasible, disable npm lifecycle scripts during installation and separately review any required scripts. 6. Link to the package's verifiable source repository and review its code, maintainers, release provenance, and transitive dependencies. 7. Use a dedicated, read-only Resend API key restricted to the minimum resources and operations required. 8. Rotate the API key if package integrity is ever in doubt, and monitor Resend access logs for unauthorized activity.
