T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Execution of a Mutable Third-Party npm Package Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 20-23; additional invocation at line 83
Vulnerability Type: Unsafe third-party dependency retrieval and execution
Risk Level: MediumVulnerable Code
bash npx liarjs@0.3 # launch a throwaway Chrome and scan it npx liarjs@0.3 --all # also list the checks that passed npx liarjs@0.3 --offline # JS-layer checks only, no outbound request npx liarjs@0.3 --json scan.json # save the full result for later comparisonThe same package is also invoked when attaching to an existing browser:
bash npx liarjs@0.3 --cdp http://127.0.0.1:9222Technical Analysis
The Skill instructs the Agent to execute
liarjsdirectly throughnpx. If the package is unavailable locally,npxcan retrieve it from the configured npm registry and immediately execute its code. The version range0.3is not an immutable artifact reference and is not accompanied by a lockfile, package integrity hash, vendored source, or other verification mechanism within this project.Consequently, the effective executable code is outside the audited project and may change independently after the Skill has been reviewed. A compromised publisher account, npm registry, package release, or dependency graph could cause attacker-controlled lifecycle scripts or CLI code to execute with the permissions of the Agent process.
The documented
--offlineoption only describes the network behavior of the fingerprint scan. It does not establish the authenticity of the npm package or preventnpxfrom retrieving and executing package code.No evidence in the reviewed project establishes that the current
liarjspackage is malicious. The finding concerns the unsafe, mutable supply-chain execution mechanism.Attack Path
- An attacker compromises the npm package, its publisher account, the configured registry, or a transitive dependency a ...[truncated 1309 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the mutable
0.3version selector with an exact, reviewed package version. - Install the dependency through a committed lockfile that records resolved versions and integrity metadata rather than downloading it ad hoc during Skill execution.
- Verify package integrity and provenance against an approved artifact or trusted registry before execution.
- Where practical, vendor the reviewed implementation or distribute a cryptographically verified release artifact so the executed code matches the audited code.
- Disable npm lifecycle scripts where compatible, and review both direct and transitive dependencies before approval.
- Run the CLI in an isolated, non-root environment with minimal filesystem and network access.
- Preserve the existing requirement for explicit user approval before CDP attachment, and restrict the endpoint to the intended local browser.
- Treat
--offlineonly as an application-level network control; do not present it as a dependency-installation or supply-chain security control.
- Replace the mutable
