T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Globally Installed Executable Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13–18 and 25–29
Vulnerability Type: Unpinned third-party executable dependency installed globally
Risk Level: MediumVulnerable Code
yaml metadata: agent: requires: bins: ["pionex-trade-cli"] install: - id: npm kind: node package: "@pionex/pionex-ai-kit" bins: ["pionex-trade-cli", "pionex-ai-kit"] label: "Install pionex CLI (npm)"bash npm install -g @pionex/pionex-ai-kit pionex-ai-kit onboardTechnical Analysis
The skill instructs users or agents to install the latest available version of
@pionex/pionex-ai-kitfrom npm without specifying an exact version, lockfile, or integrity hash. An npm installation may execute package lifecycle scripts. The-goption also installs the package globally and exposes its command-line binaries system-wide.The installed package is subsequently used to initialize Pionex API credentials and perform security-sensitive operations, including reading account information, placing orders, and cancelling orders. The project contains only
SKILL.md; therefore, the implementation and security properties of the external package cannot be verified from the audited artifact.This is a supply-chain exposure rather than evidence that the named package is currently malicious. Exploitation would require a compromised publisher account, registry/package compromise, malicious release, or other unsafe change to the externally retrieved dependency.
Attack Path
- An attacker compromises the npm package, its publisher account, or a future package release.
- A user follows the skill instructions and runs
npm install -g @pionex/pionex-ai-kit. - npm retrieves the attacker-controlled release because no reviewed version or integrity value is pinned.
- Malicious package code or lifecycle scripts execute during installation, potentially with the installing user's privileges.
- The user run ...[truncated 866 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@pionex/pionex-ai-kitto an exact, reviewed version rather than installing the latest release implicitly. - Record and verify package integrity using a lockfile and npm integrity metadata.
- Prefer a project-local installation over
npm install -gto reduce system-wide exposure and make dependency resolution reproducible. - Verify the package publisher, registry source, repository, release signatures, and provenance before installation.
- Review package contents and lifecycle scripts before approving updates. Consider disabling lifecycle scripts with
--ignore-scriptswhen the package supports operation without them. - Establish an explicit dependency-update review process instead of automatically accepting new releases.
- Use a dedicated Pionex API key with only the permissions required for spot trading, with withdrawal permission disabled.
- Apply IP allowlisting, credential rotation, restrictive file permissions for
~/.pionex/config.toml, and monitoring for unexpected orders or authentication activity. - Run the CLI under a dedicated, least-privileged operating-system account or isolated environment where practical.
- Pin
