ИИ-инструменты и скрипты
Проверка конфигурации CircleCI
Проверяет конфигурацию CircleCI перед push: токены, записанные в файле, скрипты, запускаемые из загрузок по http, volatile- и dev-орбы, конфигурацию, которую CircleCI перестал компилировать в сентябре 2026 года, удаленные образы Xcode и machine, а также deploy-контексты на всех ветках.
Что вы получите: 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
ИИ-инструменты и скрипты
Проверка конфигурации CircleCI
Проверяет конфигурацию CircleCI перед push: токены, записанные в файле, скрипты, запускаемые из загрузок по http, volatile- и dev-орбы, конфигурацию, которую CircleCI перестал компилировать в сентябре 2026 года, удаленные образы Xcode и machine, а также deploy-контексты на всех ветках.
Getly открыл загруженные файлы и не нашёл ничего, что помешало бы их открыть. Это не проверка на вирусы и не оценка качества.
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 49.17 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



