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

Firebase Security Rules Auditor Skill 安全审计

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

>-

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
2
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。未发现风险
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

硬编码管理员邮箱被预先豁免,可能掩盖单账户特权风险

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

Skill 声称应用的管理员引导流程“有限”,并要求只要邮箱已验证且不能新增管理员,就不要因单个硬编码管理员邮箱扣分。来源中没有应用设计或威胁模型来支持这项前提;邮箱验证只证明邮箱控制权,不会消除账号接管、无法轮换或单点失陷风险。

为什么需要注意

当待审规则依赖一个硬编码邮箱授予管理员权限时,审计结果可能给出过高分数,使用户忽略该账户被攻破后获得全部管理员能力的风险。

该指令会在硬编码管理员邮箱同时检查 email_verified、且不能新增管理员时,明确要求审计者不要扣分。邮箱验证只能确认当前对邮箱的控制,并未评估单一账户被接管、管理员无法轮换或恢复等风险;来源也没有提供应用威胁模型来证明这些风险可接受。这可能使用户获得偏乐观的安全评分。用户可要求作者将这些残余风险单独报告,并说明轮换、恢复和强认证要求。

SKILL.md:49来自说明文档打开原文件
The admin bootstrapping process is limited in this app. If the rules use asingle hardcoded admin email (e.g., checking request.auth.token.email =='admin@example.com'), this should NOT count against the score as long as:- email_verified is also checked (request.auth.token.email_verified == true).- It is implemented in a way that does not allow additional admins to add  themselves or leave an escalation risk open.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。发现 1 项风险
中风险

资源耗尽风险被固定归为“轻微”,可能低估可用性和费用影响

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

检查清单要求把缺少字符串或数组大小限制标为“资源耗尽/DoS”,但评分标准又把缺少大小限制归入轻微问题。这个固定降级没有考虑写入频率、账单模式或业务可用性,因此可能压低真实严重度。

为什么需要注意

如果攻击者能提交大量或超大数据,用户可能因偏低评分而低估存储、读取和处理费用增长及服务降级风险。

检查清单要求将没有字符串或数组大小限制标为资源耗尽/DoS,但评分标准又把“缺少大小限制”预设为轻微问题。若规则允许大量或昂贵的数据写入,这种固定分类可能低估服务不可用和费用增长;来源没有要求根据写入频率、最大文档限制、计费或业务关键性调整严重度。用户可要求作者按实际可利用性、成本上限和可用性影响定级,而不是自动归为轻微。

SKILL.md:35来自说明文档打开原文件
   data? If not, the rules are "broken" or will force insecure workarounds).1. **Storage Abuse:** Are there string length or array size limits? If not,   label it as a "Resource Exhaustion/DoS" risk.1. **Type Safety:** Are fields checked with 'is string', 'is int', or 'is
查看另外 1 个位置
SKILL.md:64来自说明文档打开原文件
  (create vs update) on critical fields- **4 (Minor):** Problems that result in self-data corruption like update  bypasses that only impact the user's own data, lack of size limits, missing  minor type checks or over-permissive read access on non-sensitive fields.- **5 (Secure):** Comprehensive validation, strict ownership, and role-based

Skill 逻辑拆解

1 个说明模块

该 Skill 仅提供审计提示和评分规则;所给内容没有脚本、安装步骤、网络请求、凭据访问或文件修改指令。它要求审查 Firestore/Cloud Storage 规则中的更新绕过、权限来源、所有权、类型和大小限制。

查看原文
SKILL.md:24来自说明文档打开原文件
### Mandatory Audit Checklist:1. **The Update Bypass:** Compare 'create' and 'update' rules. Can a user create   a valid document and then 'update' it into an invalid or malicious state   (e.g., changing their role, bypassing size limits, or corrupting data types)?1. **Authority Source:** Does the security rely on user-provided data
SKILL.md:39来自说明文档打开原文件
   timestamp'?1. **Field-Level vs. Identity-Level Security:** Be careful with rules that use   \`hasOnly()\` or \`diff()\`. While these restrict *which* fields can be   updated, they do NOT restrict *who* can update them unless an ownership check   (e.g., \`resource.data.uid == request.auth.uid\`) is also present. If a rule   allows any authenticated user to update fields on another user's document   without a corresponding ownership check, it is a data integrity   vulnerability.

该 Skill 会让模型主动寻找可串联的绕过操作,而不是把复杂规则直接视为安全;这是静态审查指导,不代表会实际执行攻击。

查看原文
SKILL.md:19来自说明文档打开原文件
You are a Senior Security Auditor and Penetration Tester specializing inFirestore. Your goal is to find "the hole in the wall." Do not assume a rule issecure because it looks complex; instead, actively try to find a sequence ofoperations to bypass it.
从这里开始 · 工作说明SKILL.md
firebase-security-rules-auditor
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明
读取了多少行
74
文件校验值(用于核对版本)
265530296ade65de2c1189d955da98f410836c889d93868b085e4b09439d368a