ШІ-інструменти та скрипти
Перевірка конфігурації бота залежностей
Перевірте Dependabot і Renovate, перш ніж довіряти їм: токени реєстру в конфігурації, реєстри через звичайний HTTP, конфігурація, яку бот відхиляє, робочі процеси автозлиття, що довіряють github.actor, і автозлиття без очікування віку релізу.
Що ви отримаєте: 1 файл · 42.52 KB · ZIP
Переглянути варіанти купівліОпис товару
Робочий процес автозлиття на pull_request_target, який перевіряє, чи github.actor == 'dependabot[bot]', може об'єднати pull request зловмисника, тому що github.actor - це той, хто спричинив останню подію, а не той, хто відкрив pull request. Токен реєстру, вставлений у 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, а також робочих процесах у .github/workflows/, які схвалюють або об'єднують pull request-и Dependabot чи Renovate (інші робочі процеси пропускаються). Він читає JSON із коментарями і JSON5 так, як це робить Renovate, розглядає ${{secrets.NAME}} і {{ secrets.NAME }} як секрети, що зберігаються поза файлом, знає стандартний 3-денний період очікування Dependabot і перевіряє, що кожен каталог Dependabot існує в репозиторії. Він ніколи не запускає боти чи робочий процес і ніколи не використовує мережу. Він повертає BLOCK, REVIEW або NOT FLAGGED, із зазначенням файлу, рядка, причини та безпечнішого підходу. Секрети ніколи не виводяться.
Що він перевіряє
BLOCK (виправити перед публікацією)
- D01: паролі, токени та ключі реєстру, записані в конфігурації (реєстри Dependabot, hostRules і заголовки авторизації Renovate, npmToken, _authToken у npmrc, пароль усередині URL реєстру)
- D02: реєстри, доступні через звичайний HTTP, або Renovate insecureRegistry: true
- D03: конфігурація, яку бот не може використати: недійсний JSON Renovate, табуляція для відступів, відсутній version: 2, updates, package-ecosystem, directory або schedule.interval, неправильні назви екосистем чи інтервалів, невизначені реєстри чи групи, dependabot.yml поза .github/
- D04: робочі процеси на pull_request_target або workflow_run, які схвалюють чи об'єднують pull request-и ботів на основі github.actor або відправника події
REVIEW (перевірити перед релізом)
- D11: автозлиття без очікування віку релізу (minimumReleaseAge Renovate не задано, або період очікування Dependabot 0 днів разом із робочим процесом автозлиття)
- D12: кожен тип оновлення об'єднується самостійно, включно з основними версіями
- D13: основні оновлення ігноруються для кожної залежності
- D14: оновлення вимкнені (open-pull-requests-limit: 0, ignore "*" для всього, Renovate enabled: false)
- D15: сповіщення про вразливості Renovate вимкнені
- D16: віддалені пресети Renovate не закріплені на тегу
- D17: Dependabot insecure-external-code-execution: allow
- D18: злиття, що пропускають перевірки (gh pr merge без --auto або з --admin, прямі виклики API злиття, Renovate ignoreTests разом з automerge)
- D19: каталоги Dependabot, яких не існує або які не містять маніфесту для своєї екосистеми
Що входить
- Сканер (Python 3.9+, лише стандартна бібліотека)
- Посібник із правил із причиною, безпечнішим підходом і офіційним джерелом для кожного правила
- Ризиковий і безпечний приклад (веб-застосунок із Dependabot і робочим процесом автозлиття, та сервіс із Renovate), а також справжній звіт, який сканер видає для ризикового прикладу
Обмеження
Він читає кожен файл так, як він написаний. Налаштування, зроблені поза репозиторієм (налаштування ботів в інтерфейсі GitHub чи Mend, секрети Dependabot, захист гілок, налаштування автозлиття GitHub), не бачаться, а віддалені пресети лише називаються, але не завантажуються, тож їхній зміст не перевіряється. Робочі процеси перевіряються лише на наявність описаних вище шаблонів злиття ботів; загальна безпека робочих процесів, така як ін'єкції в скрипти чи дозволи токенів, не охоплюється. 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, конфігурація, яку бот відхиляє, робочі процеси автозлиття, що довіряють github.actor, і автозлиття без очікування віку релізу.
Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.
Теги
Поширені запитання
Чи отримаю я доступ одразу?
Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.
Чи можна використовувати його в комерційних проєктах?
Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.
Яка у вас політика повернення коштів?
Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.
Які формати та розміри файлів я отримаю?
Ви завантажите 1 файл - ZIP - загалом 42.52 KB.
Чи отримую я безкоштовні оновлення?
Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.
Ціна
$5.00



