T08 · Insecure Dependencies
- Location
SKILL.md:24- Finding
Unpinned and Unreviewable Third-Party Package Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 24-32 and 57-59
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumThe Skill instructs users to install or directly execute mutable npm registry packages:
bash npm install daily-devotion-skillbash npx daily-devotion-skillIt also recommends executing a TypeScript helper through
npx:bash npx ts-node scripts/fetch_verse.tsTechnical Analysis
The audited project contains only
SKILL.md. It does not include the referenced helper script, npm package source, dependency manifest, lockfile, integrity hashes, or an exact package version. Consequently, the code that these commands install or execute cannot be verified from the reviewed artifact.The package references are unpinned, so npm may resolve a different version after the Skill has been reviewed. In particular,
npx daily-devotion-skillcan download and immediately execute registry-hosted code. Thenpx ts-nodecommand may similarly obtain an unavailable runner dynamically, while the referencedscripts/fetch_verse.tsfile is absent from this project.Installation can also trigger npm lifecycle scripts. This creates a supply-chain execution boundary in which a compromised maintainer account, malicious package release, package-name takeover, or compromised transitive dependency could introduce arbitrary code without changing
SKILL.md.No evidence establishes that the named packages are currently malicious. The vulnerability is the Skill's reliance on mutable, unpinned, and unauditable third-party executable content.
Attack Path
- An attacker compromises the npm package, its maintainer account, or a transitive dependency and publishes a malicious version.
- The user follows the Skill instructions and runs
npm install daily-devotion-skill,npx daily-devotion-skill, or the applicablenpx ts-nodecommand. - npm resolves the unpin ...[truncated 1173 chars]
- Remediation
View remediation
Remediation Suggestions
- Include all helper source code in the reviewed Skill package rather than requiring runtime retrieval of unaudited executable content.
- Add a dependency manifest and lockfile containing exact versions and integrity metadata.
- Replace unversioned package references with exact, reviewed versions. Do not use broad ranges or mutable tags such as
latest. - Avoid runtime
npxdownloads. Install reviewed dependencies during a controlled build step and invoke the pinned local binary, such as./node_modules/.bin/ts-node. - Use
npm ciwith a committed lockfile so dependency resolution is reproducible. - Disable dependency lifecycle scripts where they are unnecessary, for example by using
npm ci --ignore-scripts, after confirming that reviewed dependencies do not require them. - Verify package provenance, registry identity, checksums, maintainers, and transitive dependencies before distribution.
- Run helper code in a restricted environment with minimal filesystem access, no unnecessary credentials, and network access limited to the documented OurManna HTTPS endpoint.
- Prefer having the host agent perform the documented fixed HTTPS GET directly, which removes the need to execute an external npm helper for this functionality.
