Перейти к основному содержимому

Меню команд

Перейти на страницу или искать в каталоге

ИИ-инструменты и скрипты

Проверка схемы Prisma

Проверяйте проекты Prisma перед выпуском: пароли БД в схеме или prisma.config.ts, $queryRawUnsafe со сборкой запроса из строк, migrate reset или db push --accept-data-loss при развертывании, передача req.body в data и ошибки схемы.

$5.00

Что вы получите: 1 файл · 42.42 KB · ZIP

Варианты покупки

Описание товара

prisma.$queryRawUnsafeSELECT * FROM "Order" WHERE status = '${status}') выглядит как безопасный тегированный шаблон, но вставляет значение прямо в SQL, а скрипт сборки с prisma db push --accept-data-loss удалит столбцы при следующем развертывании. Этот навык находит эти и еще двенадцать ошибок Prisma до выпуска и объясняет, как исправить каждую из них.

Ваш агент запускает сканер схемы Prisma (schema.prisma или папки prisma/schema с несколькими файлами), prisma.config.ts, кода JavaScript и TypeScript, использующего Prisma Client, и скриптов package.json. Он пропускает комментарии, отличает тегированный шаблон $queryRaw от шаблонной строки, переданной в $queryRawUnsafe, прослеживает SQL-переменную до места ее формирования в файле, отслеживает вызовы npm run между скриптами и читает relationMode из файла схемы, содержащего блок datasource. Он никогда не запускает Prisma, не подключается к базе данных и не выполняет ваш код. Результат: BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Пароли и API-ключи никогда не выводятся.

Что проверяет

БЛОКИРОВКА (исправить перед выпуском)

  • P01: пароль БД или api_key Accelerate для удаленного хоста, записанный в схеме, prisma.config.ts или строке подключения PrismaClient либо адаптера драйвера

  • P02: $queryRawUnsafe или $executeRawUnsafe с SQL, собранным через ${...}, + или +=, а также Prisma.raw() со сформированными строками или значениями из запроса

  • P03: prisma migrate reset, db push --force-reset или db push --accept-data-loss в скрипте сборки, запуска, развертывания или установки

  • P04: req.body, req.query или await request.json(), целиком переданные в data, where, orderBy, include или select в маршруте без валидатора

ПРОВЕРКА (проверить перед релизом)

  • P11: денежные поля (price, amount, total, balance), хранящиеся как Float

  • P12: поля паролей, из названия которых неясно, что в них хранится хеш

  • P13: поля связей без индекса при relationMode = "prisma"

  • P14: идентификаторы String без @default

  • P15: email без @unique в моделях пользователей, учетных записей и клиентов

  • P16: onDelete: Cascade от пользователя или организации к заказам, счетам, платежам или записям аудита

  • P17: необработанный SQL из значения, для которого файл не подтверждает, что это фиксированная строка, либо сформированный SQL со значениями, передаваемыми как параметры $1

  • P18: prisma migrate dev или db push в скрипте развертывания

  • P19: целый объект запроса в запросе к БД в маршруте, который сначала запускает валидатор (убедитесь, что запрос к БД использует результат валидации)

  • P20: записанный в файле пароль БД для localhost, например резервное значение DATABASE_URL

Что входит в комплект

  • Сканер (Python 3.9+, только стандартная библиотека)

  • Руководство по правилам с обоснованием и более безопасным подходом для каждого правила

  • Пример проекта Prisma 7 с рисками и его безопасная версия (схема, prisma.config.ts, маршруты Express, package.json), а также реальный отчет сканера по проекту с рисками

Ограничения

Он читает каждый файл в том виде, в каком тот записан: не отслеживает SQL, созданный в одном файле и выполненный в другом, файлы .env, SQL миграций, Dockerfile и файлы CI; файлы тестов, скрипты начального заполнения и сгенерированные папки Prisma Client пропускаются. Рабочая база данных не проверяется. NOT FLAGGED не дает гарантий.

Содержимое

Один ZIP-архив с 18 файлами: SKILL.md, сканер в scripts/ (5 файлов Python), references/rules.md (все правила с обоснованием и более безопасным подходом), а также examples/ (10 файлов примеров и report.md, реальный вывод сканера для примера с рисками).

Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для программирования, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также можно запускать отдельно с Python 3.9 или новее, ничего устанавливать не нужно. Они только читают ваши файлы: не обращаются к сети и никуда ничего не отправляют.

Что вы получите

1 файл · 42.42 KB

  • prisma-schema-check-1.0.0.zipZIP · 42.42 KB

Включено в Getly ProПолучить Pro

ЛицензияКоммерческое использование разрешено
Опубликовано11 нояб. 2026 г.
Размер файла42.42 KB
Формат файлаZIP
Версияv1.0

Теги

prismaormdatabasesql-injectionsecurityai agent skill
R
RR HH

Частые вопросы

Доступ открывается сразу?

Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.

Можно ли использовать в коммерческих проектах?

Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.

Какие условия возврата?

Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.

Какие форматы и размеры файлов я получу?

Вы скачаете 1 файл - ZIP - всего 42.42 KB.

Обновления бесплатны?

Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.

Цена

$5.00