Skip to content
Report library
Purpose / Browser automation

Firecrawl Build Interact Skill Security Audit

What the author says it does (original text)

Integrate Firecrawl `/interact` into product code for dynamic pages and browser actions after scraping. Use when a feature needs clicks, form fills, pagination, authentication-aware flows, or other multi-step interactions that plain `/scrape` cannot complete.

Independent security check

Security risks found

Files checked
1
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Authenticated form and click flows may cause account or commercial side effects

Source references: 6
What we found

The Skill supports clicks, typing, forms, and multi-step flows but does not require user confirmation before submitting forms, changing settings, sending messages, ordering, or confirming transactions. Its recommendation to keep workflows small does not prevent generated integration code from activating consequential controls.

Why this matters

On a live account, incorrect target selection or an overly broad action prompt could submit data, alter account settings, or trigger an external action the user did not intend.

This is active guidance for product code that clicks, types, submits forms, and performs authenticated multi-step flows. Such automation could change an account or cause commercial effects if it reaches submit, purchase, send, or settings controls. Although the Skill recommends narrow workflows, the visible source has no pre-submit confirmation, read-only constraint, or prohibition on high-impact actions. Actual effects depend on the generated integration and target page. Users can require explicit confirmation and an action allowlist.

SKILL.md:21In the instructionsOpen original file
Use this when `/scrape` is not enough because the feature needs to act on the page.## Use This When- content appears only after clicks, typing, or navigation- the feature needs forms, pagination, filters, or multi-step flows- the product must stay in the same browser context after scraping
Show 5 other places
SKILL.md:37In the instructionsOpen original file
- search forms and faceted filters- paginated result sets- login-gated dashboards or tools- flows where the page must be explored before extraction is complete
SKILL.md:44In the instructionsOpen original file
- `/interact` is the right tool when the page must be manipulated, not just read.- Keep prompts or action code specific to the product flow.- If the use case is fully open-ended browser automation, evaluate whether a browser sandbox is a better product fit.
SKILL.md:2In the instructionsOpen original file
---name: firecrawl-build-interactdescription: Integrate Firecrawl `/interact` into product code for dynamic pages and browser actions after scraping. Use when a feature needs clicks, form fills, pagination, authentication-aware flows, or other multi-step interactions that plain `/scrape` cannot complete.license: ISC
SKILL.md:25In the instructionsOpen original file
- content appears only after clicks, typing, or navigation- the feature needs forms, pagination, filters, or multi-step flows- the product must stay in the same browser context after scraping
SKILL.md:31In the instructionsOpen original file
- Start with `/scrape`, then escalate to `/interact`.- Keep `/interact` scoped to the smallest browser workflow that unlocks the data.- Use persistent profiles only when the feature truly needs authenticated state across sessions.
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

Hosted interaction may expose sensitive authenticated-page data to a third party

Source references: 5
What we found

The Skill expressly targets login-gated pages and permits persistent profiles that retain authenticated state across sessions. Hosted requests are processed by Firecrawl, so interaction targets, page content, and session material may leave the user's environment; the supplied text gives no data-boundary or retention details.

Why this matters

When used with email, administrative consoles, customer systems, or other restricted pages, the service could handle personal or commercial data and session state capable of acting as the user.

The Skill requires an API key for hosted Firecrawl requests and explicitly covers login-gated pages and authentication state persisted across sessions. If hosted service and persistent profiles are used, page content, interaction targets, or authenticated state may be processed by Firecrawl infrastructure. The source does not specify transmitted fields, credential isolation, storage, or retention, so credential exposure cannot be asserted. Users can request those details and restrict persistent profiles or sensitive pages.

SKILL.md:12In the instructionsOpen original file
  - name: FIRECRAWL_API_KEY    description: Firecrawl API key for hosted Firecrawl requests.    required: true  - name: FIRECRAWL_API_URL    description: Optional base URL for self-hosted Firecrawl deployments.    required: false
Show 4 other places
SKILL.md:31In the instructionsOpen original file
- Start with `/scrape`, then escalate to `/interact`.- Keep `/interact` scoped to the smallest browser workflow that unlocks the data.- Use persistent profiles only when the feature truly needs authenticated state across sessions.
SKILL.md:35In the instructionsOpen original file
## Common Product Patterns- search forms and faceted filters- paginated result sets- login-gated dashboards or tools- flows where the page must be explored before extraction is complete
SKILL.md:11In the instructionsOpen original file
inputs:  - name: FIRECRAWL_API_KEY    description: Firecrawl API key for hosted Firecrawl requests.    required: true  - name: FIRECRAWL_API_URL
SKILL.md:37In the instructionsOpen original file
- search forms and faceted filters- paginated result sets- login-gated dashboards or tools- flows where the page must be explored before extraction is complete
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.Risks found: 1
Medium risk

Unpinned external webpages are designated as the basis for generated integration code

Source references: 3
What we found

The Skill requires the agent to read “source-of-truth” pages on Firecrawl's website before writing code. Those pages can change after the Skill is published, and their actual instructions are absent from the supplied material, so future web content can influence generated code or commands.

Why this matters

If a page is changed, compromised, or gains installation and permission steps unsuitable for the user's environment, the agent could recommend or perform dependencies, network calls, or configuration changes that were not locally audited. The evidence does not establish that the pages currently contain malicious material.

The Skill explicitly requires the agent to read external Firecrawl pages, labeled “Source of Truth,” before writing integration code. Their contents are not pinned in the supplied material and may change later, allowing future web content to influence generated code. The evidence shows only documentation links; it does not establish malicious instructions or execution. Users can ask for a pinned documentation version or commit and require review before accepting new commands, dependencies, or permissions from those pages.

SKILL.md:52In the instructionsOpen original file
## Docs (Source of Truth)Read the source-of-truth page for your project language before writing integration code:- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)
Show 2 other places
SKILL.md:59In the instructionsOpen original file
- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
SKILL.md:56In the instructionsOpen original file
- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

7 instruction sections

This Skill is an integration guide that recommends Firecrawl `/interact` for clicking, typing, pagination, and multi-step page flows when ordinary scraping is insufficient; the supplied material contains no implementation script.

View source
SKILL.md:21In the instructionsOpen original file
Use this when `/scrape` is not enough because the feature needs to act on the page.## Use This When- content appears only after clicks, typing, or navigation- the feature needs forms, pagination, filters, or multi-step flows- the product must stay in the same browser context after scraping

Hosted requests require a Firecrawl API key, while an optional base URL permits a self-hosted deployment. The material does not instruct writing the key to files or sending it to a party other than Firecrawl.

View source
SKILL.md:10In the instructionsOpen original file
  source: https://github.com/firecrawl/skillsinputs:  - name: FIRECRAWL_API_KEY    description: Firecrawl API key for hosted Firecrawl requests.    required: true  - name: FIRECRAWL_API_URL    description: Optional base URL for self-hosted Firecrawl deployments.    required: false---

The guide recommends scraping first, limiting interaction to the smallest workflow needed to unlock data, and using persistent authenticated state only when it is genuinely required across sessions. These are scope recommendations, not enforced technical controls.

View source
SKILL.md:29In the instructionsOpen original file
## Default Recommendations- Start with `/scrape`, then escalate to `/interact`.- Keep `/interact` scoped to the smallest browser workflow that unlocks the data.- Use persistent profiles only when the feature truly needs authenticated state across sessions.

Before writing integration code, the Skill directs the agent to read external, language-specific Firecrawl documentation pages; their contents are not included in the audited material.

View source
SKILL.md:52In the instructionsOpen original file
## Docs (Source of Truth)Read the source-of-truth page for your project language before writing integration code:- **Node / TypeScript**: [docs.firecrawl.dev/agent-source-of-truth/node](https://docs.firecrawl.dev/agent-source-of-truth/node)- **Python**: [docs.firecrawl.dev/agent-source-of-truth/python](https://docs.firecrawl.dev/agent-source-of-truth/python)- **Rust**: [docs.firecrawl.dev/agent-source-of-truth/rust](https://docs.firecrawl.dev/agent-source-of-truth/rust)- **Java**: [docs.firecrawl.dev/agent-source-of-truth/java](https://docs.firecrawl.dev/agent-source-of-truth/java)- **Elixir**: [docs.firecrawl.dev/agent-source-of-truth/elixir](https://docs.firecrawl.dev/agent-source-of-truth/elixir)- **cURL / REST**: [docs.firecrawl.dev/agent-source-of-truth/curl](https://docs.firecrawl.dev/agent-source-of-truth/curl)
Start here · InstructionsSKILL.md
firecrawl-build-interact
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Connect to websites
SKILL.md:8In the instructionsOpen original file
  version: "0.1.0"  homepage: https://www.firecrawl.dev  source: https://github.com/firecrawl/skills
SKILL.md:9In the instructionsOpen original file
  homepage: https://www.firecrawl.dev  source: https://github.com/firecrawl/skillsinputs:
SKILL.md:12In the instructionsOpen original file
  - name: FIRECRAWL_API_KEY    description: Firecrawl API key for hosted Firecrawl requests.    required: true
Read keys or account settings
SKILL.md:11In the instructionsOpen original file
inputs:  - name: FIRECRAWL_API_KEY    description: Firecrawl API key for hosted Firecrawl requests.
Lines read
68
File checksum (to compare versions)
e753915054a42d849d6d905ce5ed6ce1e1bf1ab30770213295ca2c51a9f75154