Перейти к содержанию

Проверка безопасности API в GitHub Actions на staging

Запускайте проверку на уже развёрнутом staging из доверенной ветки. Привяжите результат к ревизии этой сборки. Передайте токен через GitHub Environment и сохраните исходный код завершения CLI, чтобы неполный запуск не стал успешным.

Редакция Scantelio ·

Что подготовить

Нужны проект с доступным CI-профилем, подтверждённая цель и разрешение на проверку. Скачайте YAML в .github/workflows/, а проверенные scantelio.mjs и run-ci.sh — в ci/ вашего репозитория. Зафиксируйте версии файлов и проверьте изменения до запуска.

Порядок проверки

Свяжите workflow и среду

В GitHub создайте защищённое окружение staging. В его variables задайте SCANTELIO_API_URL, SCANTELIO_PROJECT, SCANTELIO_ENVIRONMENT и SCANTELIO_DEPLOYMENT; в secrets добавьте SCANTELIO_TOKEN. Ограничьте ветки, которые могут использовать среду.

Запускайте на ревизии, которая уже развёрнута

Выберите доверенную ветку или тег в workflow_dispatch и проверьте соответствие github.sha версии на стенде. При несовпадении сначала разверните нужную версию. Не выдавайте токен коду из внешнего pull request и не включайте трассировку shell.

Решение пайплайна по коду завершения

0 → условия настроенной проверки выполнены
1 → блокирующая находка: передайте разработчику доказательство
2 → ошибка или неполная проверка: восстановите входные данные и повторите

Критерий результата и ограничения

В журнале должны различаться блокирующая находка и невозможность проверить. Для обеих ситуаций job остаётся красной; не добавляйте continue-on-error. Если результат обязателен для релиза, настройте правило защиты отдельно.

Что остаётся непроверенным

Шаблон для ручного запуска не проверяет pull request автоматически. Код 0 относится к настройкам конкретного запуска. Остановка job не обязательно останавливает серверную проверку.

Материалы и первоисточники

Скачать для своего проекта

Документация