firestore-security-rules-auditor
Audit des règles de sécurité Firestore
La révision manuelle des règles de sécurité Firestore est fastidieuse et sujette aux erreurs. Cette compétence automatise les audits de sécurité en utilisant une liste de contrôle exhaustive de test de pénétration pour identifier les vulnérabilités dans vos règles Firebase.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "firestore-security-rules-auditor". rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /users/{userId} { allow read: if request.auth != null; allow write: if request.auth.uid == userId; } } }
Résultat attendu:
Score: 4 (Mineur)
Résultats :
- vérification : 'Épuisement des ressources'
sévérité : mineur
problème : 'Pas de limites de longueur de chaîne sur les champs de données utilisateur'
recommandation : 'Ajouter des contraintes max() pour les champs texte'
- vérification : 'Sécurité de type'
sévérité : mineur
problème : 'Pas de validation de type pour les champs comme displayName'
recommandation : 'Utiliser les vérifications is string, is int'
Utilisation de "firestore-security-rules-auditor". rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /posts/{postId} { allow read: if true; allow write: if request.auth != null; } } }
Résultat attendu:
Score: 2 (Majeur)
Résultats :
- vérification : 'Source d'autorité'
sévérité : majeur
problème : 'Tout utilisateur authentifié peut écrire dans n'importe quel article'
recommandation : 'Ajouter une vérification de propriété : resource.data.authorId == request.auth.uid'
- vérification : 'Logique métier'
sévérité : majeur
problème : 'Pas de restrictions pour empêcher les utilisateurs de supprimer les articles des autres'
recommandation : 'Exiger la propriété pour les opérations de suppression'
Audit de sécurité
SûrAll 8 static findings evaluated as false positives. The skill is a legitimate Firebase security auditing tool that uses security testing terminology (e.g., 'find the hole in the wall', 'red team', 'penetration testing'). No external commands, cryptographic operations, or system reconnaissance code exists. The file contains only markdown documentation for an AI auditor skill.
Motifs détectés
Score de qualité
Ce que vous pouvez construire
Réviser les nouvelles règles de sécurité avant le déploiement
Avant de déployer des règles Firestore mises à jour, collez-les dans Claude et demandez un audit de sécurité. Obtenez une note et des recommandations exploitables en quelques secondes.
Apprendre les bonnes pratiques de sécurité
Étudiez la liste de contrôle d'audit et les résultats pour comprendre les erreurs de sécurité Firestore courantes et comment les corriger. Idéal pour les développeurs qui découvrent la sécurité Firebase.
Assistance pour la révision de code de sécurité
Utilisez cette compétence comme point de départ pour les révisions de code de sécurité formelles. Les résultats de l'IA aident à hiérarchiser les vulnérabilités à traiter en premier.
Essayez ces prompts
J'ai besoin que vous auditez mes règles de sécurité Firestore. Voici les règles : [collez vos firestore.rules] Veuillez les évaluer en utilisant votre liste de contrôle d'audit de sécurité et fournir une note et des résultats.
Revoyez ces règles de sécurité Firestore pour mon application de collaboration. Les règles doivent permettre aux collaborateurs de lire les documents partagés mais seuls les propriétaires peuvent les supprimer. Voici mes règles : [collez les règles] Mon implémentation correspond-elle à ces exigences ?
Vérifiez si mes règles Firestore ont une vulnérabilité de contournement de mise à jour. Plus spécifiquement, un utilisateur peut-il créer un document puis mettre à jour le champ 'role' ou 'isAdmin' pour obtenir des privilèges non autorisés ? Voici les règles : [collez les règles] Analysez attentivement les règles 'create' et 'update'.
Effectuez un audit de sécurité complet de ces règles Firestore avant de les déployer en production. Vérifiez les six éléments de votre liste de contrôle d'audit et donnez-moi une note de 1 à 5.
Bonnes pratiques
- Ajoutez toujours des vérifications de propriété pour les écritures de documents : resource.data.uid == request.auth.uid
- Utilisez la validation de type (is string, is int) pour tous les champs fournis par l'utilisateur afin de prévenir la corruption des données
- Définissez des limites de taille sur les champs de chaîne et de tableau pour prévenir les attaques par épuisement des ressources
Éviter
- Ne vous appuyez pas sur request.resource.data pour les champs sensibles comme 'role' ou 'isAdmin'
- N'utilisez pas request.auth != null seul sans vérifications d'autorisation supplémentaires
- Ne laissez pas 'allow read: if true' sur les documents qui contiennent des données spécifiques à l'utilisateur