T08 · Insecure Dependencies
- Location
SKILL.md:79- Finding
Unpinned Third-Party npm Packages Are Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 79–80; additional occurrences at lines 86, 174, and 177
Vulnerability Type: Supply-chain risk caused by unpinned remote package execution
Risk Level: MediumVulnerable Code
bash npx soulprint install-deps # OCR + face recognition — only once npx soulprint verify-me # all local, nothing uploadedAdditional unpinned commands include:
bash npx soulprint-networkbash npx mcp-colombia-hub npx soulprint verify-meTechnical Analysis
The documented commands use
npxwithout exact package versions or verified integrity hashes. When the requested package is not already available locally,npxcan retrieve current package content from the configured npm registry and execute its CLI code with the user's permissions.The
install-depssubcommand adds further risk because its behavior is controlled by remotely obtained package code and may install additional OCR or face-recognition components. The project contains no lockfile, checksums, package provenance information, or source code through which these installation operations can be independently reviewed.The documentation's statements that processing is local and that nothing is uploaded cannot be verified from the single file included in the audited project.
Attack Path
- An attacker compromises the npm account, release pipeline, registry entry, or dependency chain of one of the named packages.
- The attacker publishes a malicious release under the same package name or compromises a transitive dependency selected by the current release.
- A user follows the Skill documentation and runs an unversioned
npxcommand. npxretrieves the current package content rather than a previously audited, immutable version.- Package lifecycle scripts or CLI entry points execute attacker-controlled code.
- The payload operates with the privileges of the ...[truncated 784 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every npm invocation to a reviewed exact version, such as
npx --yes package-name@x.y.z, rather than relying on the registry's current release. - Commit a lockfile for supported installation workflows and use deterministic installation commands such as
npm ci. - Publish expected package integrity hashes and verify downloaded artifacts before execution.
- Document the package publisher, repository, release signing process, and provenance attestations.
- Replace the opaque
install-depsoperation with a documented dependency list and explicit installation steps. - Review and constrain npm lifecycle scripts. Use
--ignore-scriptswhere compatible, then invoke only audited setup operations explicitly. - Run identity-processing components in a sandbox with restricted filesystem, network, environment-variable, and wallet access.
- Clearly document whether each command requires network access and what data may leave the local machine.
- Pin every npm invocation to a reviewed exact version, such as
