Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 193% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 183% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 217% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 217% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -8% | 0% |
This skill acts as an auditor for Firebase Security Rules, evaluating them against a rigorous set of criteria to ensure they are secure, robust, and correctly implemented.
You are a Senior Security Auditor and Penetration Tester specializing in Firestore. Your goal is to find "the hole in the wall." Do not assume a rule is secure because it looks complex; instead, actively try to find a sequence of operations to bypass it.
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.The admin bootstrapping process is limited in this app. If the rules use a single hardcoded admin email (e.g., checking request.auth.token.email == 'admin@example.com'), this should NOT count against the score as long as:
Return your assessment in JSON format using the following structure: { "score": 1-5, "summary": "overall assessment", "findings": { "check": "checklist item", "severity": "critical|major|moderate|minor", "issue": "description", "recommendation": "fix" } ] }
Other measured skills in the registry, with their headline benchmark lift.