跳转到正文
报告库
用途分类 / 其他用途

Firecrawl Download Skill 安全审计

作者说它能做什么(原文)

|

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
3
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 1 项风险
中风险

允许通过 npx 获取并执行外部 CLI 包

原文依据:3 处
发现了什么

工具权限包含 `Bash(npx firecrawl-cli *)`。在本机没有缓存该包或版本未固定时,npx 可从配置的软件源取得代码并执行;技能没有固定包版本或校验来源。

为什么需要注意

运行结果会依赖当时软件源提供的包及其依赖。若包版本发生恶意或意外变化,外部代码会以代理当前权限执行,并可能访问该权限范围内的文件、环境变量和网络。

这段证据能说明什么

权限声明确实允许 `npx firecrawl-cli`,且没有固定版本;但完整源码没有任何步骤实际调用该形式,所有下载示例都调用 `firecrawl`。仅凭权限无法确认 npx 会下载包、从哪个源获取或执行哪个版本。用户可要求作者移除未使用的 npx 权限,或明确固定版本与可信软件源。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:5来自说明文档打开原文件
  Save a site or section as local files (markdown, screenshots). Use for "download the site", offline docs, or a local copy for reference.allowed-tools:  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
查看另外 2 个位置
SKILL.md:20来自说明文档打开原文件
```bash# With screenshotsfirecrawl x download https://docs.example.com --screenshot --limit 20 -y
SKILL.md:24来自说明文档打开原文件
# Multiple formats (each saved as its own file per page)firecrawl x download https://docs.example.com --format markdown,links --screenshot --limit 20 -y# Creates per page: index.md + links.txt + screenshot.png
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 2 项风险
中风险

自动运行跳过向导,并可能默认遍历整个站点源

原文依据:5 处
发现了什么

技能明确要求自动运行始终加入 `-y`,同时说明下载会先映射站点源;只有显式使用 `--include-paths` 才会把非根 URL 限制到某个区段。示例也都使用 `-y`。

为什么需要注意

如果用户给出的 URL 范围含糊,代理可能在没有交互确认的情况下发现并下载远多于预期的页面,产生额外网络请求、本地文件、服务用量或费用。

技能明确说明自动运行会用 `-y` 跳过交互向导,并且下载前先映射站点来源;若未设置路径过滤,可能发现并抓取比用户预期更广的页面,产生网络请求、本地文件及账户用量。示例虽设有 `--limit 20`,正文没有要求所有运行都设上限。用户可要求每次限定域、`--include-paths` 和页面上限。

SKILL.md:16来自说明文档打开原文件
Maps the site origin first to discover pages, then scrapes each one into nested directories under `.firecrawl/`. Use `--include-paths` to scope a non-root URL to one section. Automated runs always pass `-y` — without it the command opens an interactive wizard that blocks on a prompt.
查看另外 4 个位置
SKILL.md:22来自说明文档打开原文件
# With screenshotsfirecrawl x download https://docs.example.com --screenshot --limit 20 -y
SKILL.md:29来自说明文档打开原文件
# Filter to specific sectionsfirecrawl x download https://docs.example.com --include-paths "/features,/sdks" -y
SKILL.md:14来自说明文档打开原文件
**Prerequisite:** `download` requires authentication (no keyless free tier); without credentials the CLI prompts an interactive login.
SKILL.md:28来自说明文档打开原文件
# Filter to specific sectionsfirecrawl x download https://docs.example.com --include-paths "/features,/sdks" -y
低风险

安装命令没有固定依赖版本

原文依据:3 处
发现了什么

安装命令没有指定依赖版本。同样的命令以后可能下载不同代码,你实际安装的内容可能与这次检查时不同。

为什么需要注意

即使命令和报告没变,以后安装时也可能下载到另一份代码。

这段代码的正常用途

第 7 行只是允许执行匹配 `npx firecrawl-cli` 的命令,并不是安装指令;实际快速开始使用的是已存在的 `firecrawl` 命令。因此,源码不足以证明技能会执行未固定版本的安装。若作者以后改用 npx,用户可要求固定包版本和来源。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:7来自说明文档打开原文件
  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
查看另外 2 个位置
SKILL.md:5来自说明文档打开原文件
  Save a site or section as local files (markdown, screenshots). Use for "download the site", offline docs, or a local copy for reference.allowed-tools:  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
SKILL.md:20来自说明文档打开原文件
```bash# With screenshotsfirecrawl x download https://docs.example.com --screenshot --limit 20 -y
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

2 个说明模块

该技能的实际用途与描述一致:先发现目标站点的页面,再逐页抓取,并把 Markdown、链接或截图写入本地 `.firecrawl/` 目录。

查看原文
SKILL.md:16来自说明文档打开原文件
Maps the site origin first to discover pages, then scrapes each one into nested directories under `.firecrawl/`. Use `--include-paths` to scope a non-root URL to one section. Automated runs always pass `-y` — without it the command opens an interactive wizard that blocks on a prompt.
SKILL.md:24来自说明文档打开原文件
# Multiple formats (each saved as its own file per page)firecrawl x download https://docs.example.com --format markdown,links --screenshot --limit 20 -y# Creates per page: index.md + links.txt + screenshot.png

该功能必须使用 Firecrawl 身份凭据;若当前环境没有凭据,CLI 会启动交互式登录。技能没有要求用户在聊天中提供密钥。

查看原文
SKILL.md:14来自说明文档打开原文件
**Prerequisite:** `download` requires authentication (no keyless free tier); without credentials the CLI prompts an interactive login.

技能允许直接运行已安装的 `firecrawl`,也允许通过 `npx firecrawl-cli` 执行 CLI;后者可能涉及获取并运行 npm 包,具体行为取决于本机缓存和 npm 配置。

查看原文
SKILL.md:5来自说明文档打开原文件
  Save a site or section as local files (markdown, screenshots). Use for "download the site", offline docs, or a local copy for reference.allowed-tools:  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
从这里开始 · 工作说明SKILL.md
firecrawl-download
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明

代码和说明中提到的操作

运行命令
SKILL.md:6来自说明文档打开原文件
allowed-tools:  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)
SKILL.md:7来自说明文档打开原文件
  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
SKILL.md:20来自说明文档打开原文件
```bash# With screenshots
安装其他软件包
SKILL.md:7来自说明文档打开原文件
  - Bash(firecrawl *)  - Bash(npx firecrawl-cli *)---
读取密钥或账号配置
SKILL.md:14来自说明文档打开原文件
**Prerequisite:** `download` requires authentication (no keyless free tier); without credentials the CLI prompts an interactive login.
连接外部网站
SKILL.md:22来自说明文档打开原文件
# With screenshotsfirecrawl x download https://docs.example.com --screenshot --limit 20 -y
SKILL.md:25来自说明文档打开原文件
# Multiple formats (each saved as its own file per page)firecrawl x download https://docs.example.com --format markdown,links --screenshot --limit 20 -y# Creates per page: index.md + links.txt + screenshot.png
SKILL.md:29来自说明文档打开原文件
# Filter to specific sectionsfirecrawl x download https://docs.example.com --include-paths "/features,/sdks" -y
读取了多少行
45
文件校验值(用于核对版本)
efb788d3dd90df376e033bafca7b830eac199daa3ab72edc848dcd9bc061ead2