CI/CD hardening

Минимизиране на privileges, secrets и untrusted execution в build/deploy pipeline.

Приоритет P0свързана с 6 атаки

Какво е

Минимизиране на privileges, secrets и untrusted execution в build/deploy pipeline.

Как работи

Pipeline identities са short-lived, runners са isolated, pull requests от untrusted sources не получават production secrets.

Опасният CI сценарий

External pull request стартира workflow, който има достъп до production cloud key. Attacker не трябва да „хаква cloud-а“; достатъчно е да накара вашия pipeline да му даде ключа.

По-добър модел

  • untrusted code не получава production secrets;
  • runners са ephemeral;
  • deployment identity е short-lived;
  • production environment има approval;
  • signing е отделено от build.

Как да проверим

Threat-model-нете pipeline като production system. Кой може да променя workflow files? Кой може да approve-ва environment? Какво може runner-ът да прочете? Колко дълго живеят credentials?

Практическа имплементация

  • Branch protection.
  • Mandatory review.
  • OIDC workload identity instead of static cloud keys.
  • Ephemeral runners.
  • Separate build and signing.
  • Protected environments.

Какво НЕ решава

Compromised maintainer с legitimate merge rights остава сериозен риск.

Предпазва най-силно от

Други в Верига за доставки на софтуер и CI/CD