Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

ШІ-інструменти та скрипти

Перевірка конфігурації CircleCI

Перевіряє конфігурацію CircleCI перед push: токени, записані у файлі, скрипти, що запускаються із завантажень по http, volatile- і dev-орби, конфігурацію, яку CircleCI перестав компілювати у вересні 2026 року, видалені образи Xcode і machine, а також deploy-контексти на всіх гілках.

$5.00

Що ви отримаєте: 1 файл · 49.17 KB · ZIP

Переглянути варіанти купівлі

Опис товару

Із 2026-09-21 CircleCI відхиляє конфігурації версії 2.0, фільтри гілок на кшталт /^(?!main).*/ і параметри, які використовуються, але ніде не оголошені, тож пайплайн падає ще до запуску першого завдання. Токен Sentry, вставлений у environment:, може прочитати будь-хто з доступом до проєкту, а deploy-завдання з контекстом aws-production, яке запускається на кожній гілці, віддає ці облікові дані будь-кому, хто може запушити гілку. Цей навик знаходить такі помилки та інші помилки CircleCI, наведені нижче, і пояснює, як виправити кожну з них.

Ваш агент запускає сканер на кожному YAML-файлі в .circleci/ (config.yml, continuation-конфігурації для setup workflows і dynamic config, упаковані фрагменти конфігурації) або на вказаному вами файлі конфігурації. Він розуміє орби (з реєстру, за URL і вбудовані), executors, jobs, commands, workflows, контексти, завдання approval, фільтри, параметри пайплайна та значення << >>, YAML-якорі, а також зіставляє блоки run: | з їхніми реальними номерами рядків. Він знає посилання $NAME, параметри орбів env_var_name, паролі тестових баз даних у сервісних контейнерах (зокрема коли команда використовує їх повторно) і налаштування на кшталт OIDC_TOKEN_AUDIENCE: sts.amazonaws.com, тож вони не позначаються як витоки. Правила з терміном CircleCI порівнюються з сьогоднішньою датою. Він ніколи не запускає завдання, CircleCI CLI і не звертається до мережі. Результат: BLOCK, REVIEW або NOT FLAGGED із зазначенням файлу, рядка, причини та безпечнішого підходу, а також посилання на сторінку CircleCI для кожного правила, яке її має. Секрети ніколи не виводяться.

Що перевіряється

BLOCK (виправити до випуску)

  • C01: паролі, токени та ключі, записані в конфігурації (значення environment, docker auth, параметри орбів і завдань, значення параметрів за замовчуванням, curl -u, заголовки Authorization, docker login -p, літерал, переданий через echo в docker login --password-stdin, npm _authToken, паролі в URL, токени у форматі GitHub, AWS, CircleCI, npm, Slack та інших сервісів, приватні ключі)
  • C02: скрипти або бінарні файли, завантажені через http:// чи з вимкненою перевіркою TLS, а потім запущені без перевірки контрольної суми
  • C03: орби, вказані як @volatile або з версією dev: (крім орба, який публікує сам репозиторій орба у власному тестовому пайплайні)
  • C04: конфігурація, яку CircleCI більше не компілює: версія, відмінна від 2.1, регулярні вирази у фільтрах із негативними lookaround, присвійними квантифікаторами чи зворотними посиланнями, неоголошені параметри, параметри пайплайна у вбудованих орбах, назви завдань із двокрапками чи дужками, branches у завданні, resource_class всередині machine, порожній config.yml, а з 2026-12-14 і попередження валідатора з C19
  • C05: видалені executors: Ubuntu 14.04/16.04 і видалені датовані образи machine 20.04/22.04, видалені версії Xcode (16.2.0 і 26.2.0 з 2026-12-07), Intel macOS і класи ресурсів M1/M2

REVIEW (перевірити перед релізом)

  • C11: партнерські та community-орби, закріплені лише на мажорній чи мінорній версії, і URL-орби на гілці замість коміту
  • C12: Docker-образи без тегу або з latest, образи machine на edge
  • C13: назви гілок, теги, повідомлення комітів, заголовки pull request, тіла вебхуків і рядкові параметри пайплайна, підставлені в команди run (зокрема через параметр завдання)
  • C14: add_ssh_keys без fingerprints
  • C15: застарілі образи circleci/, образи machine circleci/classic і Ubuntu 20.04, Xcode 16.2.0 і 26.2.0 до їх видалення 2026-12-07, machine: true без образу
  • C16: curl | bash, bash <(curl ...) і схема «завантажити й запустити» через HTTPS без перевірки контрольної суми чи підпису
  • C17: завдання deploy, release, publish або підпису з контекстом, які запускаються на кожній гілці без фільтра, завдання approval чи умови workflow (деплої non-prod, preview, staging і dev не враховуються)
  • C18: виведені з ужитку значення пайплайна: pipeline.trigger_parameters.circleci.*, pipeline.trigger_parameters.github_app.*, pipeline.trigger_source, $CIRCLE_COMPARE_URL
  • C19: попередження валідатора конфігурації, які блокують пайплайни з 2026-12-14 (значення enum за замовчуванням, якого немає в його enum, крок run без команди, when поруч із кроком, workflow одночасно з when і unless, недопустима назва команди, порожній requires, голі docker: чи steps:, хибний parallelism або метод checkout, неоголошені аргументи завдання чи команди, шаблонний тип завдання); із цього дня позначаються як C04

Що входить до комплекту

  • Сканер (Python 3.9+, лише стандартна бібліотека)
  • Посібник із правил із причиною, безпечнішим підходом і офіційним джерелом CircleCI для кожного правила (у C13 його немає: жодна сторінка CircleCI цього не описує)
  • Ризикований і безпечний приклади (інтернет-магазин із завданнями деплою для вебу, iOS і AWS), а також реальний звіт сканера щодо ризикованого прикладу

Обмеження

Кожен файл читається в тому вигляді, в якому він записаний. Налаштування, що зберігаються поза репозиторієм, не видно: змінні середовища проєкту, обмеження контекстів, передавання секретів у pull request із форків, списки дозволених орбів, політики конфігурації та захист гілок. Вихідний код орбів не завантажується, тому те, що орб робить зі своїми параметрами, не відстежується. Списки видалених образів, версій Xcode і класів ресурсів відповідають журналу змін CircleCI до листопада 2026 року. Кілька фрагментів з офіційної документації позначаються навмисно (наприклад, echo значення << pipeline.git.branch >> або рядкового параметра пайплайна в кроці run); C13 ґрунтується на тому, як CircleCI підставляє значення << >> у конфігурацію, оскільки жодна сторінка CircleCI про це не попереджає. У ризикованому прикладі немає знахідки C19, бо C19 стає C04 2026-12-14. NOT FLAGGED не є гарантією.

Вміст

Один ZIP-файл із 11 файлами: SKILL.md, сканер у scripts/ (6 файлів Python), references/rules.md (кожне правило з причиною та безпечнішим підходом) і examples/ (2 файли прикладів плюс report.md, реальний вивід сканера щодо ризикованого прикладу).

Як користуватися: Це навик для агента: папка з файлом SKILL.md і скриптами Python, які може запускати ШІ-агент для програмування, наприклад Claude Code, Cursor або Codex CLI. Розпакуйте його в папку навиків вашого агента (для Claude Code: ~/.claude/skills/), потім попросіть агента перевірити ваш проєкт. Скрипти також працюють самостійно з Python 3.9 або новішим, нічого встановлювати не потрібно. Вони лише читають ваші файли: без доступу до мережі, і нічого нікуди не надсилається.

Що ви отримаєте

1 файл · 49.17 KB

  • circleci-config-check-1.0.0.zipZIP · 49.17 KB
ЛіцензіяКомерційне використання дозволено
Перевірка пакетаПройдено

Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.

Опубліковано12 лист. 2026 р.
Розмір файлу49.17 KB
Формат файлуZIP
Версіяv1.0

Теги

circlecici-cddevopssecurityyamlai agent skill
R
RR HH

Поширені запитання

Чи отримаю я доступ одразу?

Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.

Чи можна використовувати його в комерційних проєктах?

Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.

Яка у вас політика повернення коштів?

Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.

Які формати та розміри файлів я отримаю?

Ви завантажите 1 файл - ZIP - загалом 49.17 KB.

Чи отримую я безкоштовні оновлення?

Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.

Ціна

$5.00