Навыки firestore-security-rules-auditor
🔒

firestore-security-rules-auditor

Безопасно

Аудит правил безопасности Firestore

Ручной просмотр правил безопасности Firestore занимает много времени и подвержен ошибкам. Этот навык автоматизирует аудит безопасности, используя комплексный чеклист тестирования на проникновение для выявления уязвимостей в ваших правилах Firebase.

Поддерживает: Claude Codex Code(CC)
🥉 74 Бронза
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «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: 'Требуйте владение для операций удаления'

Аудит безопасности

Безопасно
v1 • 4/22/2026

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.

1
Просканировано файлов
45
Проанализировано строк
0
находки
1
Всего аудитов
Проблем безопасности не найдено

Обнаруженные паттерны

Security Terminology False PositiveNon-existent Line Reference
Проверено: claude

Оценка качества

38
Архитектура
100
Сопровождаемость
87
Контент
50
Сообщество
100
Безопасность
91
Соответствие спецификации

Что вы можете построить

Просмотр новых правил безопасности перед развертыванием

Перед публикацией обновленных правил 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' на документах, содержащих данные конкретных пользователей

Часто задаваемые вопросы

Насколько точна оценка аудита безопасности?
ИИ следует строгому чеклисту тестирования на проникновение из 6 пунктов. Результаты являются детерминированными на основе критериев чеклиста. Однако он не может обнаруживать недостатки бизнес-логики, специфичные для вашего приложения.
Может ли это заменить ручной аудит безопасности?
Этот навык является полезной отправной точкой, но не должен заменять ручной просмотр для продакшен-систем. Используйте его для обнаружения распространенных ошибок и определения приоритетов усилий по проверке безопасности.
Что означает оценка 5?
Оценка 5 указывает на комплексную валидацию, строгое обеспечение владения и proper контроль доступа на основе ролей. Ваши правила следуют лучшим практикам безопасности Firebase.
Как интерпретировать выводы, отмеченные как 'критические'?
Критические выводы указывают на несанкционированный доступ к данным, повышение привилегий или обход валидации. Исправьте их немедленно перед развертыванием ваших правил.
Работает ли это с правилами Realtime Database?
Нет, этот навык разработан специально для правил безопасности Firestore. Синтаксис и возможности отличаются от правил Realtime Database.
Могу ли я использовать это для аудита правил в моем проекте Firebase?
Скопируйте ваши правила из консоли Firebase или файла правил и вставьте их в Claude. Навык оценивает текст правил, которые вы предоставляете, а не данные активного проекта.

Сведения для разработчиков

Автор

firebase

Лицензия

MIT

Ссылка

main

Структура файлов

📄 SKILL.md