T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Firecrawl Package Execution Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5–8
Vulnerability Type: Insecure runtime dependency resolution
Risk Level: MediumVulnerable Code
yaml allowed-tools: - Bash(firecrawl *) - Bash(npx firecrawl *)Technical Analysis
The skill explicitly permits
npx firecrawl *without pinning an exact package version or verifying package integrity or provenance. When the package is unavailable locally,npxmay resolve, download, and execute package code from the configured registry at runtime.The project contains no package lockfile, integrity hash, version constraint, or registry restriction. Consequently, the code ultimately executed may differ from the code that was originally reviewed. Exploitation would require control or compromise of the resolved package, its publishing account, the configured package registry, or the dependency-resolution environment.
Attack Path
- An attacker compromises or replaces the package/version resolved for
firecrawl, or influences the package registry used bynpx. - The agent invokes an allowed command such as
npx firecrawl scrape .... npxresolves and downloads the unpinned package when no trusted local copy is available.- Package installation hooks or CLI entry-point code executes with the permissions of the agent process.
- Malicious code accesses resources available to that process, potentially including local files, environment variables, credentials, and browser-session information.
Impact Assessment
Successful exploitation could result in arbitrary code execution under the agent process account. The attacker could access or modify files and credentials available to that account, manipulate Firecrawl operations, or expose authenticated browser data. Because the skill documents profiles that persist cookies and localStorage, active authenticated session material may also be at risk when accessible to the compr ...[truncated 253 chars]
- An attacker compromises or replaces the package/version resolved for
- Remediation
View remediation
Remediation Suggestions
- Remove the
Bash(npx firecrawl *)permission and require a preinstalled, security-reviewed Firecrawl CLI. - If
npxis required, invoke an exact approved package version rather than an unversioned package name. - Commit and enforce a lockfile with integrity metadata, and install dependencies through a trusted, restricted registry.
- Verify package provenance or signatures where supported and monitor the package and publisher account for compromise.
- Disable dependency lifecycle scripts where operationally feasible.
- Execute the CLI in a sandbox with minimal filesystem access, restricted network access, a dedicated low-privilege account, and no unrelated environment secrets.
- Isolate browser profiles and authenticated session data from package installation and execution contexts.
- Require explicit review and approval before dependency upgrades.
- Remove the
