Back to skill

Security audit

Firecrawl Scrape Cn

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it says, but it allows unpinned third-party CLI execution through npx, which deserves review before installation.

Install only if you are comfortable with Firecrawl being invoked from your environment. Prefer removing the npx allowance or pinning Firecrawl to an audited exact version before use, and run scraping with limited filesystem, credential, and network exposure.

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
SKILL.md:7
Finding

Unpinned Third-Party Package Execution Through npx

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:7
Vulnerability Type: Insecure dependency resolution and execution
Risk Level: Medium

Vulnerable Code:

yaml
allowed-tools:
  - Bash(firecrawl *)
  - Bash(npx firecrawl *)

Technical Analysis

The skill authorizes execution of npx firecrawl without specifying an audited package version or requiring installation through a dependency lockfile. If the package is not already available locally, npx can resolve and download the current package release from the configured package registry before executing it.

This makes the code executed by the skill mutable after the skill itself has been reviewed. A compromised package release, registry account, dependency, or package-resolution configuration could cause untrusted lifecycle or command-line code to execute locally. The audit found no evidence that the referenced Firecrawl package is currently malicious; the issue is the unsafe, unpinned execution mechanism.

Attack Path

  1. An attacker compromises the package, one of its transitive dependencies, its publishing account, or the package registry used by npx.
  2. The attacker publishes a malicious release that can be selected by unversioned package resolution.
  3. A user invokes the skill in an environment where firecrawl is not securely installed and pinned.
  4. The agent runs npx firecrawl ... under the authorization granted by SKILL.md.
  5. npx resolves and downloads the mutable package release.
  6. Malicious package lifecycle or CLI code executes with the operating-system permissions and environmental access of the agent process.

Impact Assessment

Successful exploitation could provide arbitrary code execution under the agent's user account. Depending on the runtime environment, the malicious package could read or modify files accessible to that account, access environment variables and locally available credentials, make outbound ...[truncated 290 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove Bash(npx firecrawl *) if the separately authorized firecrawl executable is sufficient.
  2. Install Firecrawl through a reviewed dependency manifest and commit the corresponding lockfile.
  3. Pin the dependency to an exact audited version rather than resolving the latest available release.
  4. Enforce package integrity verification through lockfile integrity hashes and a trusted registry configuration.
  5. Install dependencies during a controlled build or provisioning phase rather than downloading and executing them when the skill is invoked.
  6. Disable package lifecycle scripts during installation where operationally feasible, and review required scripts before enabling them.
  7. Run the CLI in a least-privilege sandbox with restricted filesystem, credential, environment-variable, and outbound-network access.
  8. Periodically review the pinned package and its transitive dependencies for known vulnerabilities before performing controlled upgrades.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The manifest-level finding indicates the skill references npx firecrawl without a version pin, so execution may resolve to whatever version is current at runtime. That makes the skill non-reproducible and exposes users to malicious or breaking upstream changes, a classic dependency trust problem.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description includes broad natural-language triggers like '获取页面' and '读取网页', which can cause the skill to activate in routine conversation even when the user did not explicitly intend external web fetching. In this skill's context, accidental activation is more dangerous because the tool can access arbitrary URLs and invoke external scraping behavior, increasing the chance of unintended network access or data handling.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The skill permits execution of npx firecrawl * without pinning an exact package version, which creates a supply-chain risk: future upstream releases or a compromised package version could execute unexpected code when the skill runs. Because this is an allowed tool entry, the agent may invoke it directly, amplifying the danger from a documentation issue into executable exposure.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

L72 明示该文件为“中文翻译版”,且全文仅以中文描述技能行为,没有说明是否可根据用户偏好切换语言。根据语言/locale 政策,若技能默认或强制单一语言而未提供选择或明确的地区性正当理由,属于自然语言策略违规。

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.