Back to skill

Security audit

Edgefinder Cli

Security checks for vulnerabilities and agentic risk

Overview

This skill appears purpose-built for EdgeFinder sports analysis, but it can automatically download and run an unpinned npm CLI at use time.

Review this skill before installing if you will rely on the npx fallback. Prefer installing a reviewed, pinned EdgeFinder CLI version yourself, avoid exposing unnecessary environment variables, and understand that the API key or login session is used for paid EdgeFinder access and portfolio data.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
scripts/run.sh:8
Finding
Unpinned npm Package Is Automatically Downloaded and Executed## Vulnerability Details **File Location**: `scripts/run.sh:8` **Related Locations**: `SKILL.md:6`, `SKILL.md:17` **Vulnerability Type**: Unpinned third-party dependency and automatic remote package execution **Risk Level**: Medium ### Vulnerable Code ```sh if command -v npx >/dev/null 2>&1; then exec npx -y @edgefinder/cli "$@" fi ``` The corresponding package metadata and documentation also omit an exact version: ```json "package":"@edgefinder/cli" ``` ```markdown The wrapper prefers the installed `edgefinder` binary and falls back to `npx -y @edgefinder/cli`. ``` ### Technical Analysis The fallback invokes `npx` with `-y`, automatically accepting package installation and executing `@edgefinder/cli` without an exact version or integrity constraint. npm therefore resolves whichever package release is current at execution time. The effective executable can change after this Skill has been audited. This creates a supply-chain trust boundary: the wrapper delegates local code execution to mutable registry content. A compromised package publisher, malicious future release, or npm package-distribution compromise could cause arbitrary attacker-controlled JavaScript and package lifecycle behavior to execute. The local script does not independently verify the downloaded artifact's version, checksum, provenance, or signature. ### Attack Path 1. An attacker compromises the `@edgefinder/cli` publisher, its release pipeline, or the relevant package-distribution channel. 2. The attacker publishes a malicious release that is selected by npm's unversioned resolution. 3. A host invokes `scripts/run.sh` without an installed `edgefinder` executable but with `npx` available. 4. `npx -y @edgefinder/cli` automatically retrieves and executes the resolved package without user confirmation. 5. The malicious package runs with the privileges and environment of the user or Agent process. ### Impact Assessment A compromised dependency could execute arbitrary code with the ...[truncated 544 chars]
Remediation
## Remediation Suggestions 1. Pin `@edgefinder/cli` to a reviewed exact version rather than relying on npm's current resolution. 2. Verify the downloaded package using an approved integrity hash, lockfile, trusted artifact registry, or equivalent provenance mechanism. 3. Remove the automatic `npx -y` fallback. Require an explicit, separately reviewed installation step when the binary is unavailable. 4. Prefer a locally installed dependency managed through a committed lockfile and reproducible deployment process. 5. Run the CLI with least privilege and a restricted environment. Pass only required environment variables and isolate filesystem and network access where practical. 6. Establish dependency monitoring and a controlled upgrade process so new releases are reviewed before execution.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding
The skill explicitly documents a fallback to `npx -y @edgefinder/cli`, which fetches and executes the latest package version at runtime without version pinning or integrity verification. This creates a real supply-chain risk: if the upstream package is compromised, unpublished/republished, or a breaking release is pushed, agent executions could run attacker-controlled code or unexpected behavior.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
The script falls back to executing `npx -y @edgefinder/cli` without pinning a specific package version, so each run may fetch whatever version is currently published under that package name. This creates a supply-chain risk: a compromised upstream package, malicious new release, or dependency confusion-style event could cause unreviewed code to run on the user's machine at invocation time.

Static analysis

No suspicious patterns detected.