T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Third-Party npm Package Executed Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13–15, 25, and 44–48
Vulnerability Type: Supply-chain exposure caused by executing an unpinned npm package
Risk Level: MediumComplete Code Snippet
bash npx @builtbyecho/agent-runlog -- npm test npx @builtbyecho/agent-runlog -- npm run lint npx @builtbyecho/agent-runlog -- npm run buildbash npx @builtbyecho/agent-runlog --json -- npm test > run.jsonbash npx @builtbyecho/agent-runlog -- <command> [args...] npx @builtbyecho/agent-runlog -o .agent-runs/lint -- npm run lint npx @builtbyecho/agent-runlog --cwd ./subproject -- npm test npx @builtbyecho/agent-runlog --quiet -- npm testTechnical Analysis
The Skill repeatedly instructs the Agent to execute
@builtbyecho/agent-runlogthroughnpxwithout specifying an exact, reviewed version. If the package is not already available locally,npxmay resolve and download the package from the configured npm registry before executing it. The effective implementation can therefore change after this Skill has been audited.This creates a third-party supply-chain trust boundary. A compromised publisher account, malicious package release, registry compromise, or compromised transitive dependency could introduce arbitrary behavior without requiring changes to
SKILL.md. The downloaded package and relevant npm lifecycle behavior execute with the permissions of the user running the Agent.The repository contains no evidence that the named package is currently malicious. The confirmed issue is the unsafe, unpinned execution model rather than a confirmed malicious payload.
Attack Path
- An attacker compromises the npm publisher, package release process, registry resolution path, or a transitive dependency.
- The attacker publishes a malicious version under the expected package name or injects malicious code into its dependency chain.
- The Agent follows the documented workflow and invokes `npx @builtbyecho ...[truncated 1094 chars]
- Remediation
View remediation
Remediation Suggestions
-
Select and audit a specific release of
@builtbyecho/agent-runlog. -
Pin the package to an exact version rather than relying on registry resolution of the current release.
-
Record the dependency in a project manifest and commit a lockfile with integrity hashes.
-
Install dependencies using a lockfile-enforcing command such as
npm ci. -
Invoke only the locked local binary, for example:
bash npx --no-install agent-runlog -- npm test -
Configure npm to use an approved registry and apply organizational package allowlisting where available.
-
Review the package's lifecycle scripts and transitive dependencies before adoption.
-
Use automated dependency monitoring and require review before updating the pinned version.
-
Run the utility in a constrained environment with minimal filesystem, network, environment-variable, and credential access.
-
Document the expected package version, source registry, and integrity information directly in the Skill or associated installation instructions.
-
