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

Меню команд

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

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

Проверка проекта dbt

Проверьте проект dbt перед коммитом: пароли и токены в profiles.yml и URL пакетов, ключи моделей без тестов, select * из источников, источники без проверки свежести, жёстко заданные имена таблиц и инкрементальные модели без unique_key.

$5.00

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

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

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

Файл profiles.yml, скопированный в репозиторий для CI с оставленным паролем хранилища, или packages.yml, устанавливающий закрытый пакет с https://[email protected], открывает доступ к хранилищу или GitHub всем, кто может читать репозиторий. Менее заметные ошибки искажают данные: инкрементальная модель без unique_key сохраняет запоздавшие строки дважды, а модель без теста unique на ключе позволяет ошибочному соединению размножать строки. Этот навык находит эти и другие перечисленные ниже ошибки dbt и объясняет, как исправить каждую.

Ваш агент запускает сканер для проекта dbt: dbt_project.yml, всех profiles.yml в папке (включая .dbt/profiles.yml), packages.yml, dependencies.yml, SQL-моделей и YAML-файлов свойств в ваших model-paths. Он понимает Jinja в dbt (ref(), source(), config(), env_var(), is_incremental()), оба варианта tests: и data_tests:, freshness и loaded_at_field внутри config: (dbt 1.9 и 1.10), настройки из config(), файла свойств или блока папки в dbt_project.yml, а также ваш .gitignore. Он следует официальному руководству по стилю dbt, поэтому не отмечает CTE для импорта, select from final и select from ref(). Сканер никогда не запускает dbt и не подключается к хранилищу. Результат: БЛОКИРОВКА, ПРОВЕРКА или НЕ ОТМЕЧЕНО с указанием файла, строки, причины и более безопасного подхода. Секретные данные никогда не выводятся.

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

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

  • D01: явно заданные пароли, токены, закрытые ключи, keyfile_json, секреты клиентов, токены обновления и секретные ключи AWS в profiles.yml (включая значения по умолчанию для env_var(), похожие на настоящие секреты)

  • D02: profiles.yml с явно заданными учётными данными в репозитории git, не охваченный ни правилом .gitignore, ни записью .git/info/exclude

  • D03: токены git или пароли в URL файлов packages.yml и dependencies.yml, а также секретные переменные, похожие на ключи, в dbt_project.yml

ПРОВЕРКА (проверить до выпуска)

  • D11: модели без пары тестов unique + not_null на ключевом столбце (или вообще без файла свойств); модели временной шкалы time-spine пропускаются

  • D12: итоговый select (или отдельный t.), напрямую пропускающий все исходные столбцы source() или явно указанной таблицы

  • D13: источники, в таблицах которых нет freshness с warn_after или error_after

  • D14: явно записанные database.schema.table или schema.table вместо ref() или source()

  • D15: инкрементальные модели без unique_key (append, insert_overwrite, microbatch и Databricks replace_where допустимы)

  • D16: запасные значения env_var() в profiles.yml с общеизвестным паролем по умолчанию, например postgres или changeme

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

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

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

  • Примеры проекта dbt с уязвимостями и безопасного проекта, а также реальный отчёт сканера для примера с уязвимостями

Ограничения

Сканер читает файлы в исходном виде. Jinja не выполняется, поэтому модели, создаваемые макросами или циклами, настройки из var() или env_var() и значения адаптера по умолчанию не оцениваются. Файл profiles.yml в ~/.dbt/ проверяется только при явном указании, глобальный файл исключений git не читается. Модели Python, seeds, snapshots, analyses, отдельные SQL-тесты и установленные пакеты в dbt_packages/ не проверяются. Одного ограничения primary_key недостаточно для проверки ключа, поскольку большинство хранилищ его не обеспечивает. Статус НЕ ОТМЕЧЕНО не даёт гарантий.

Содержимое архива

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

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

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

1 файл · 40.64 KB

  • dbt-project-check-1.0.0.zipZIP · 40.64 KB

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

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

Теги

dbtdata-engineeringsqlanalyticssecurityai agent skill
R
RR HH

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

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

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

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

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

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

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

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

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

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

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

Цена

$5.00