T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party CLI and Unaudited Installer Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–54
Vulnerability Type: Unpinned executable dependency and unaudited installation script
Risk Level: MediumVulnerable Code
bash npm install -g @dawnai/clibash cd dawn-cli npm install npm run build ./install.shTechnical Analysis
The installation instructions globally install
@dawnai/cliwithout pinning an audited version or integrity hash. Consequently, the code installed depends on whichever package version and transitive dependency graph the npm registry resolves at execution time. npm installation can also execute package lifecycle scripts with the privileges of the invoking user.The alternative local-source workflow does not identify a trusted repository or pin a source commit. It installs dependencies, runs a package-defined build process, and executes
install.sh. That directory and script are not included in the audited project, so their implementation and security properties cannot be verified from this artifact.This creates a supply-chain trust boundary in which package maintainers, registry availability, transitive dependencies, the local source checkout, and its installer can affect the code ultimately executed. The risk is elevated because the installed CLI is subsequently expected to handle authentication, wallet and funding operations, uploaded strategy code, and live financial transactions.
Attack Path
- An attacker compromises the upstream npm package, one of its transitive dependencies, its publisher account, or the source checkout used by the local workflow.
- The attacker introduces a malicious npm lifecycle hook, build action, or
install.shpayload. - A user follows
SKILL.mdand runs the unpinned installation procedure. - npm resolves the compromised release or dependency, or the user executes the compromised local source workflow.
- The malicious lifecycle hook, build process ...[truncated 1060 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@dawnai/clito a specifically reviewed version rather than installing the registry's current release. - Record and verify package integrity information, and retain a lockfile for any local dependency installation.
- Explicitly document the official npm scope, registry, and source repository to reduce substitution and dependency-confusion risks.
- Pin the local-source workflow to a reviewed commit or signed release tag and verify its signature or checksum before building.
- Review and include the contents of
install.sh, or provide a link to an immutable audited revision, before instructing users to execute it. - Prefer a project-local or isolated installation over a global installation, and run installation with the least-privileged account possible.
- Disable npm lifecycle scripts during dependency retrieval where feasible, then explicitly run only reviewed build steps.
- Require explicit user confirmation before authentication, funding operations, or any launch using
--live.
- Pin
