T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Firecrawl Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 8
Vulnerability Type: Unpinned third-party package execution
Risk Level: MediumVulnerable Code
yaml allowed-tools: - Bash(firecrawl *) - Bash(npx firecrawl *)Technical Analysis
The skill permits execution of
npx firecrawlwithout specifying an exact package version, integrity hash, or trusted registry. If the package is not already installed locally,npxmay resolve, download, and execute the package from the configured registry at runtime.Consequently, the code executed by this approved command can change after the skill has been audited. Compromise of the package, its publisher account, a transitive dependency, or the package registry and resolution configuration could cause attacker-controlled code to run locally.
Attack Path
- An attacker compromises the
firecrawlpackage distribution channel, publisher account, dependency chain, or configured package registry. - The attacker publishes or serves a malicious package version.
- The agent invokes the permitted
npx firecrawl ...command while fulfilling a scraping request. npxresolves and downloads the unpinned package.- Malicious package lifecycle logic or CLI code executes with the permissions and environment available to the agent process.
Impact Assessment
Successful exploitation could permit arbitrary local code execution with the privileges of the account running the agent. Depending on that account's access, the malicious package could read or alter accessible files, inspect environment variables and credentials, make network requests, tamper with generated results, or execute additional processes. No privilege escalation, persistence, or malicious package content is directly demonstrated by the reviewed project; those outcomes would depend on the externally resolved package and runtime environment.
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Remove the
Bash(npx firecrawl *)allowance and require a preinstalled, reviewed Firecrawl CLI. - If runtime package resolution is unavoidable, pin an exact audited version rather than resolving the latest release.
- Lock package integrity and restrict resolution to an authenticated, explicitly trusted registry.
- Install dependencies during a controlled build phase using a lockfile and immutable or reproducible artifacts.
- Disable package lifecycle scripts where operationally possible.
- Run the CLI in a sandbox with minimal filesystem, credential, process, and network access.
- Establish dependency monitoring and repeat security review before upgrading the pinned version.
- Remove the
