T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Third-Party SDK Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:31Vulnerability Type: Supply-chain risk caused by an unpinned npm dependency Risk Level: MediumComplete Code Snippet:
bash npm install @sendook/nodeTechnical Analysis
The installation instructions do not specify an exact reviewed version of
@sendook/node, require a lockfile, or verify package integrity. Consequently, the package resolved at installation time may differ from the version originally reviewed.npm dependencies can execute lifecycle scripts during installation and arbitrary code when imported at runtime. Because the SDK operates in a process containing
SENDOOK_API_KEYandSENDOOK_INBOX_ID, a compromised or unexpectedly modified package release could access these credentials. At runtime, it could also access email content and files deliberately loaded as attachments.This is a supply-chain hardening deficiency rather than evidence that the named package is currently malicious.
Attack Path
- An attacker compromises the package publisher, registry distribution path, or a transitive dependency.
- The attacker publishes a malicious version that satisfies the unpinned installation request.
- A user follows the documented
npm install @sendook/nodecommand. - npm resolves and installs the attacker-controlled release.
- Malicious code executes through an installation lifecycle script or when the SDK is imported.
- The code reads available Sendook credentials or email data and transmits them to infrastructure controlled by the attacker.
Impact Assessment
Successful exploitation could execute code with the privileges of the user running npm or the agent process. Within the Skill's operational context, this may expose
SENDOOK_API_KEY,SENDOOK_INBOX_ID, inbox messages and threads, outgoing email contents, and user-approved attachment data. The Sendook API key's server-side scope determines the maximum remote acco ...[truncated 94 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
@sendook/nodeto an exact version that has been reviewed rather than using an unconstrained package specifier. - Commit a lockfile and require reproducible installation with
npm ci. - Verify package provenance and integrity through npm integrity metadata, trusted publishing information, and dependency review.
- Audit direct and transitive dependencies before upgrades.
- Disable npm lifecycle scripts during installation where compatible, enabling only scripts that have been explicitly reviewed.
- Run the Skill in a sandbox with minimal filesystem and network access.
- Continue using a least-privileged Sendook API key restricted to the designated inbox, and rotate the key if dependency compromise is suspected.
- Pin
