T08 · Insecure Dependencies
- Location
SKILL.md:33- Finding
Unpinned npm Packages May Execute Unreviewed Dependency Code
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 33 and 80-84
Vulnerability Type: Supply-chain risk from unpinned npm dependencies
Risk Level: MediumVulnerable Code
bash npm i -g acpxtext - `codex` -> `npx @zed-industries/codex-acp` - `claude` -> `npx @zed-industries/claude-agent-acp` - `gemini` -> `gemini` - `opencode` -> `npx opencode-ai` - `pi` -> `npx pi-acp`Technical Analysis
The documented installation command does not specify a reviewed
acpxversion or package integrity value. Several built-in agents similarly invoke npm packages throughnpxwithout pinning exact versions.When a package is not already available locally,
npxcan retrieve and immediately execute the currently resolved package release. Consequently, the effective code executed by the Skill can change after this document has been reviewed. The security of the workflow therefore depends on the continuing integrity of external package registries, package maintainer accounts, package ownership, and future releases.This does not demonstrate that the named packages are currently malicious. It creates an avoidable supply-chain exposure because a compromised or malicious future release could execute without a corresponding update to the audited Skill.
Attack Path
- An attacker compromises the maintainer account, publication token, or distribution process of one of the referenced npm packages.
- The attacker publishes a malicious release under the legitimate package name.
- A user follows the documented global installation command or selects a built-in agent backed by an unpinned
npxcommand. - npm resolves the package name to the malicious release and downloads it.
- Installation scripts or package runtime code execute with the permissions of the user running
acpx. - The malicious dependency accesses data available to that user, including the selected repository, local configuration, environment variables, and potentially ...[truncated 819 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin every npm dependency to a reviewed, exact version rather than relying on the latest registry resolution. For example:
bash npm install --global acpx@<reviewed-version> npx --yes @zed-industries/codex-acp@<reviewed-version> -
Avoid implicit runtime package downloads. Prefer installing reviewed adapters in advance from a locked dependency manifest.
-
Use lockfiles and npm integrity hashes where the deployment model permits them.
-
Run package provenance and signature verification before installation.
-
Disable or carefully review dependency lifecycle scripts where they are unnecessary.
-
Maintain an allowlist of approved package names, publishers, and versions.
-
Review dependency updates before changing pinned versions.
-
Execute agents in a sandbox or restricted account with access only to the required repository and credentials.
-
Use an internal package mirror or controlled artifact repository for production and CI deployments.
-
