firestore-security-rules-auditor
Аудит правил безопасности Firestore
Ручной просмотр правил безопасности Firestore занимает много времени и подвержен ошибкам. Этот навык автоматизирует аудит безопасности, используя комплексный чеклист тестирования на проникновение для выявления уязвимостей в ваших правилах Firebase.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «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; } } }
Ожидаемый результат:
Оценка: 4 (Незначительно)
Выводы:
- check: 'Resource Exhaustion'
severity: minor
issue: 'Нет ограничений на длину строк в полях пользовательских данных'
recommendation: 'Добавьте ограничения max() для текстовых полей'
- check: 'Type Safety'
severity: minor
issue: 'Нет валидации типов для полей, таких как displayName'
recommendation: 'Используйте проверки is string, is int'
Использование «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; } } }
Ожидаемый результат:
Оценка: 2 (Значительно)
Выводы:
- check: 'Authority Source'
severity: major
issue: 'Любой аутентифицированный пользователь может писать в любой пост'
recommendation: 'Добавьте проверку владельца: resource.data.authorId == request.auth.uid'
- check: 'Business Logic'
severity: major
issue: 'Нет ограничений, предотвращающих удаление постов других пользователей'
recommendation: 'Требуйте владение для операций удаления'
Аудит безопасности
БезопасноAll 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.
Обнаруженные паттерны
Оценка качества
Что вы можете построить
Просмотр новых правил безопасности перед развертыванием
Перед публикацией обновленных правил Firestore вставьте их в Claude и запросите аудит безопасности. Получите оценку и практические рекомендации за несколько секунд.
Изучение лучших практик безопасности
Изучите чеклист аудита и выводы, чтобы понять распространенные ошибки безопасности Firestore и способы их исправления. Отлично подходит для разработчиков, новичков в безопасности Firebase.
Помощь в код-ревью безопасности
Используйте этот навык как отправную точку для формального код-ревью безопасности. Выводы ИИ помогают определить приоритеты устранения уязвимостей.
Попробуйте эти промпты
Мне нужно, чтобы вы провели аудит моих правил безопасности Firestore. Вот правила: [вставьте ваши firestore.rules] Пожалуйста, оцените их, используя ваш чеклист аудита безопасности, и предоставьте оценку и выводы.
Просмотрите эти правила безопасности Firestore для моего приложения совместной работы. Правила должны позволять участникам читать общие документы, но только владельцы могут удалять их. Вот мои правила: [вставьте правила] Соответствует ли моя реализация этим требованиям?
Проверьте, есть ли в моих правилах Firestore уязвимость обхода обновления. Конкретно, может ли пользователь создать документ, а затем обновить поле 'role' или 'isAdmin' для получения несанкционированных привилегий? Вот правила: [вставьте правила] Тщательно проанализируйте правила 'create' и 'update'.
Проведите полный аудит безопасности этих правил Firestore перед моим развертыванием в продакшене. Проверьте все шесть пунктов вашего чеклиста аудита и дайте мне оценку от 1 до 5.
Лучшие практики
- Всегда добавляйте проверки владения для записи документов: resource.data.uid == request.auth.uid
- Используйте валидацию типов (is string, is int) для всех полей, предоставляемых пользователем, для предотвращения повреждения данных
- Устанавливайте ограничения на размер строковых полей и массивов для предотвращения атак исчерпания ресурсов
Избегать
- Не полагайтесь на request.resource.data для чувствительных полей, таких как 'role' или 'isAdmin'
- Не используйте request.auth != null отдельно без дополнительных проверок авторизации
- Не оставляйте 'allow read: if true' на документах, содержащих данные конкретных пользователей
Часто задаваемые вопросы
Насколько точна оценка аудита безопасности?
Может ли это заменить ручной аудит безопасности?
Что означает оценка 5?
Как интерпретировать выводы, отмеченные как 'критические'?
Работает ли это с правилами Realtime Database?
Могу ли я использовать это для аудита правил в моем проекте Firebase?
Сведения для разработчиков
Автор
firebaseЛицензия
MIT
Репозиторий
https://github.com/firebase/agent-skills/tree/main/skills/firebase-security-rules-auditor/Ссылка
main
Структура файлов
📄 SKILL.md