ИИ-инструменты и скрипты
Проверка конфигурации бота зависимостей
Проверьте Dependabot и Renovate, прежде чем доверять им: токены реестра в конфигурации, реестры по обычному HTTP, конфигурация, которую бот отклоняет, workflow автослияния, доверяющие github.actor, и автослияние без ожидания возраста релиза.
Что вы получите: 1 файл · 42.52 KB · ZIP
Варианты покупкиОписание товара
Workflow автослияния на pull_request_target, который проверяет, равен ли github.actor 'dependabot[bot]', может слить пул-реквест злоумышленника, потому что github.actor - это тот, кто вызвал последнее событие, а не тот, кто открыл пул-реквест. Токен реестра, вставленный в dependabot.yml или renovate.json, доступен для чтения всем, у кого есть доступ к репозиторию. dependabot.yml с package-ecosystem: "yarn" будет отклонён, и ожидаемые обновления никогда не придут. Этот скилл находит эти и другие ошибки работы с ботами зависимостей, перечисленные ниже, и объясняет, как исправить каждую из них.
Ваш агент запускает сканер по .github/dependabot.yml, конфигурационным файлам Renovate (renovate.json, renovate.jsonc, renovate.json5, файлам .renovaterc, также в .github/ и .gitlab/), ключу renovate в package.json и workflow в .github/workflows/, которые одобряют или сливают пул-реквесты Dependabot или Renovate (остальные workflow пропускаются). Он читает JSON с комментариями и JSON5 так же, как это делает Renovate, считает ${{secrets.NAME}} и {{ secrets.NAME }} секретами, хранящимися вне файла, знает стандартный трёхдневный период ожидания (cooldown) Dependabot и проверяет, что каждая директория Dependabot существует в репозитории. Он никогда не запускает ботов или workflow и никогда не использует сеть. Он возвращает BLOCK, REVIEW или NOT FLAGGED с указанием файла, строки, причины и более безопасного подхода. Секреты никогда не выводятся.
Что проверяется
BLOCK (исправьте перед релизом)
- D01: пароли, токены и ключи реестра, записанные в конфигурации (registries Dependabot, hostRules и auth headers Renovate, npmToken, _authToken в npmrc, пароль внутри URL реестра)
- D02: реестры, доступные по обычному HTTP, или insecureRegistry: true в Renovate
- D03: конфигурация, которую бот не может использовать: невалидный JSON Renovate, отступы табуляцией, отсутствие version: 2, updates, package-ecosystem, directory или schedule.interval, неверные названия ecosystem или interval, неопределённые registries или groups, dependabot.yml вне .github/
- D04: workflow на pull_request_target или workflow_run, которые одобряют или сливают пул-реквесты ботов на основе github.actor или отправителя события
REVIEW (проверьте перед релизом)
- D11: автослияние без ожидания возраста релиза (не задан minimumReleaseAge в Renovate, или cooldown Dependabot равен 0 дням при наличии workflow автослияния)
- D12: каждый тип обновления сливается самостоятельно, включая major-версии
- D13: major-обновления игнорируются для всех зависимостей
- D14: обновления отключены (open-pull-requests-limit: 0, ignore "*" для всего, enabled: false в Renovate)
- D15: уведомления об уязвимостях Renovate отключены
- D16: удалённые presets Renovate не закреплены на тег
- D17: insecure-external-code-execution: allow в Dependabot
- D18: слияния, которые пропускают проверки (gh pr merge без --auto или с --admin, прямые вызовы API слияния, ignoreTests вместе с automerge в Renovate)
- D19: директории Dependabot, которые не существуют или не содержат манифеста для своего ecosystem
Что входит в комплект
- Сканер (Python 3.9+, только стандартная библиотека)
- Руководство по правилам с указанием причины, более безопасного подхода и официального источника для каждого правила
- Рискованный и безопасный примеры (веб-приложение с Dependabot и workflow автослияния, а также сервис с Renovate) и реальный отчёт, который сканер выдаёт для рискованного примера
Ограничения
Он читает каждый файл в том виде, в каком он записан. Настройки, сделанные вне репозитория (настройки ботов в интерфейсе GitHub или Mend, секреты Dependabot, защита веток, настройка автослияния GitHub), не видны, а удалённые presets только упоминаются по имени, но не загружаются, поэтому их содержимое не проверяется. Workflow читаются только на предмет описанных выше шаблонов слияния ботов; общая безопасность workflow, такая как инъекции скриптов или права токенов, не рассматривается. NOT FLAGGED не является гарантией.
Содержимое
Один ZIP-файл с 20 файлами: SKILL.md, сканер в scripts/ (6 файлов Python), references/rules.md (каждое правило с причиной и более безопасным подходом) и examples/ (11 файлов примеров плюс report.md, реальный вывод сканера на рискованном примере).
Как использовать: Это скилл для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для написания кода, такой как Claude Code, Cursor или Codex CLI. Распакуйте его в папку скиллов вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить ваш проект. Скрипты также работают самостоятельно на Python 3.9 или новее, без необходимости что-либо устанавливать. Они только читают ваши файлы: без доступа к сети, и ничего никуда не отправляется.
Что вы получите
1 файл · 42.52 KB
- dependency-bot-config-check-1.0.0.zipZIP · 42.52 KB
ИИ-инструменты и скрипты
Проверка конфигурации бота зависимостей
Проверьте Dependabot и Renovate, прежде чем доверять им: токены реестра в конфигурации, реестры по обычному HTTP, конфигурация, которую бот отклоняет, workflow автослияния, доверяющие github.actor, и автослияние без ожидания возраста релиза.
Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 42.52 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



