T08 · Insecure Dependencies
Error
- Location
- SKILL.md:28
- Finding
- Unpinned npm Package Is Downloaded and Executed## Vulnerability Details **File Location**: `SKILL.md`, lines 28-31 **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: High ```bash npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "weather forecast" --no-auth --https npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "crypto prices" --category Cryptocurrency --limit 5 npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "jobs" --json npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "payments" --openapi ``` ### Technical Analysis The documented primary workflow uses `npx --yes` to retrieve and execute `@builtbyecho/public-api-finder` without specifying an exact reviewed version or integrity hash. The `--yes` option suppresses the interactive installation prompt. Consequently, the code executed during a future invocation may differ from the code present when this Skill was audited. A compromised npm publisher account, malicious package update, or supply-chain compromise could introduce arbitrary executable behavior. The bundled Python fallback does not require this mutable package and therefore represents a lower-privilege alternative. ### Attack Path 1. An attacker compromises the npm publisher account, package release process, or another component in the package dependency chain. 2. The attacker publishes a malicious version under the existing package name. 3. An Agent follows the commands in `SKILL.md`. 4. `npx --yes` downloads the current package version without requesting confirmation or verifying a reviewed version. 5. Package lifecycle hooks, dependency code, or the CLI entry point executes with the permissions of the Agent process. 6. Malicious code can access data and resources available to that process. ### Impact Assessment Successful exploitation can result in arbitrary code execution with the invoking user's privileges. Depending on the ...[truncated 339 chars]
- Remediation
- ## Remediation Suggestions - Pin the package to an exact, reviewed version, such as `@builtbyecho/public-api-finder@0.5.11`. - Use a lockfile and npm integrity metadata where installation is managed as part of a project. - Avoid `npx --yes` for automatic execution of packages that are not already installed and verified. - Prefer the bundled, audited fallback script when its functionality is sufficient. - Verify package provenance, publisher controls, signatures, and release checks before upgrading. - Review transitive dependencies and package lifecycle scripts. - Run the CLI in a restricted environment without unnecessary credentials, sensitive files, or write privileges.
