Agent Economy Report

Skill code audit

CAUTION version 1.0.0 · audited 2026-09-17

firecrawl-search @ashwingupy

This package provides command-line Python scripts for Firecrawl web search, single-page scraping, and site crawling. It reads a Firecrawl API key from the environment and sends requests only to api.firecrawl.dev. The returned content is printed to the terminal; the scripts do not write files or run other commands. The publisher discloses that search queries and target URLs are shared with Firecrawl and that the API key must be protected. No hidden network destinations, persistence, payment redirection, or rule-overriding instructions were found.

Declared purposeWeb search and scraping via Firecrawl API, including searching the web, scraping websites, crawling sites, and extracting structured data. Requires FIRECRAWL_API_KEY environment variable.
Observed behaviorThree Python scripts use the standard library urllib.request to send POST requests to Firecrawl API endpoints for search, scrape, and crawl. Each script reads FIRECRAWL_API_KEY from the environment and sends it as a Bearer token to api.firecrawl.dev. The scripts print Markdown, JSON, or plain text results to stdout. The crawl script can optionally poll job status with --wait. No file writes, persistence, or process execution were observed.
Verdict, rules onlyCAUTION · reads credential-like environment variables: FIRECRAWL_API_KEY
Verdict, AISAFE
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
networkneededMakes HTTPS requests to https://api.firecrawl.dev/v1/search, /v1/scrape, and /v1/crawl using urllib.request (scripts/search.py:18, scripts/scrape.py:20, scripts/crawl.py:19).
credentialsneededReads FIRECRAWL_API_KEY from environment variables and sends it as a Bearer token to api.firecrawl.dev (scripts/crawl.py:14 and 39; scripts/scrape.py:13 and 32; scripts/search.py:13 and 31).
shellneededSKILL.md gives bash commands for exporting the API key and invoking the helper commands (SKILL.md:13-21). The package scripts are Python programs run from a shell.

Findings

severityfinding
infoDeclared purpose matches observed behavior
The skill description states it uses the Firecrawl API for web search, scraping, and crawling, which matches what the Python scripts do.
SKILL.md:3 description: Web search and scraping via Firecrawl API. Use when you need to search the web, scrape websites (including JS-heavy pages), crawl entire sites, or
infoAPI key setup instruction
The skill instructs setting FIRECRAWL_API_KEY in the shell environment. The scripts read this variable and require it to run.
SKILL.md:14 export FIRECRAWL_API_KEY=fc-xxxxxxxxxx
lowReads sensitive Firecrawl API key
The crawl script reads FIRECRAWL_API_KEY from environment variables. The same pattern appears in scripts/scrape.py line 13 and scripts/search.py line 13.
scripts/crawl.py:14 api_key = os.environ.get("FIRECRAWL_API_KEY")
infoNetwork call to Firecrawl crawl endpoint
The script sends crawl requests to the Firecrawl API endpoint declared in the documentation.
scripts/crawl.py:19 req_url = "https://api.firecrawl.dev/v1/crawl"
lowAPI key sent as Bearer token
The Firecrawl API key is placed in the Authorization header and sent to api.firecrawl.dev. This is required for the declared API use, but the key is sensitive.
scripts/crawl.py:39 "Authorization": f"Bearer {api_key}",
infoNetwork call to Firecrawl search endpoint
The search script sends search queries to the Firecrawl search API endpoint.
scripts/search.py:18 url = "https://api.firecrawl.dev/v1/search"
infoNetwork call to Firecrawl scrape endpoint
The scrape script sends target URLs to the Firecrawl scrape API endpoint.
scripts/scrape.py:20 req_url = "https://api.firecrawl.dev/v1/scrape"
infoPublisher discloses data sharing
The skill card explicitly warns that queries and target URLs are sent to Firecrawl. The mitigation on line 26 advises users to avoid sending secret-bearing or internal links.
skill-card.md:24 Risk: The skill sends search queries and target URLs to Firecrawl as an external web search and scraping service.
infoPublisher discloses API key risk
The publisher warns that the API key is sensitive and should be kept out of source control and rotated if exposed.
skill-card.md:28 Risk: The Firecrawl API key is required for operation and could be exposed if handled carelessly.

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
api.firecrawl.devnot in the service indexreferences/api.md:14
clawhub.ainot in the service indexskill-card.md:9
example.comnot in the service indexSKILL.md:26
firecrawl.devnot in the service indexreferences/api.md:85

Other facts

Binaries invokedbash, python3
Environment variables readFIRECRAWL_API_KEY
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes0
Persistence0

Files audited

filelinessha256
SKILL.md424b09a36a0fd89571…
_meta.json6b3f930ff8e8c9880…
references/api.md85559cdd24c85a24fe…
scripts/crawl.py1174587259893fd79f9…
scripts/scrape.py896150ea7de1b465f6…
scripts/search.py778c57169e252f806d…
skill-card.md5457fe4321bbcb12cc…

For agents

JSON: https://agenteconomy.report/k/firecrawl-search.audit.json · badge: https://agenteconomy.report/k/firecrawl-search.audited.svg · skill rating: /k/firecrawl-search · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).