Витік секретів у CI/CD

Витік секретів у CI/CD

Налагоджувальний echo виводить ваш ключ розгортання в публічний журнал збірки.

Що таке Витік секретів у CI/CD?

Журнали збірки публічніші, ніж гадають автори workflow. Налагоджувальний крок, який виводить секрет середовища через echo, друкує його відкритим текстом. У тому самому workflow часто є й друга проблема: заголовок пул-реквесту, вставлений прямо в крок run, де він виконується як команда оболонки. Ви скопіюєте токен розгортання з публічних журналів Actions і розгорнете з ним власний образ, а потім приберете echo, перестанете інтерполювати ненадійні вхідні дані, зафіксуєте сторонні кроки CI за SHA коміту та замінете токен, бо маскування майбутніх журналів нічого не скасовує.

Що ви дізнаєтесь у Витік секретів у CI/CD

Витік секретів у CI/CD — Кроки навчання

  1. Публічні журнали збірки

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

  2. Відкрийте запуск релізу

    Запуски Integration лише збирають і тестують. Боба цікавить workflow Release, бо реліз має потрапити в продакшн, а для цього потрібні облікові дані. Боб відкриває останній запуск релізу.

  3. Розкрийте крок розгортання

    Запуск — це список кроків, і кожен згорнуто. Отримання коду та збірка — рутина. Бобу потрібен крок, що звертається до продакшну, бо саме там мають використовуватися облікові дані.

  4. Токен відкритим текстом

    Крок розкривається, і облікові дані просто лежать там. Хтось додав рядок, що друкує токен, поки шукав причину збою розгортання; розгортання полагодили, а рядок залишився. Бобу нічого не треба зламувати. Він виділяє значення й копіює його.

  5. Як довго це друкується

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

  6. До чого дає доступ токен

    Перш ніж скористатися токеном, Боб питає сервіс розгортання Vellmoor, що ці облікові дані можуть робити. Він викликає ендпоінт environments, передаючи токен у заголовку Authorization. Відповідь надходить без жодної додаткової перевірки, і доступ не обмежується тестовим середовищем.

  7. Розгортання власної збірки

    Бобу не треба чіпати репозиторій, відкривати пул-реквест чи чекати на рев'ю. Сервісу розгортання байдуже, звідки образ, — важливо лише, щоб клієнт мав дійсний токен. Він спрямовує продакшн на образ у власному реєстрі.

  8. Перевірка знань

  9. Надходить сповіщення

    Ви відповідаєте за workflow CI у Vellmoor. Цього ранку служба безпеки платформи розбирає наслідки неспокійної ночі: облікові дані, знайдені у відкритому виводі, і продакшн-розгортання, якого ніхто не планував.

  10. Перегляньте це на власному конвеєрі

    Повідомлення про витік — це одне. Ви відкриваєте запуск, на який вказує сповіщення, щоб побачити, що ваш конвеєр справді опублікував.

Охоплення стандартів безпеки

CWE

  • CWE-532 Insertion of Sensitive Information into Log File
  • CWE-540 Inclusion of Sensitive Information in Source Code

MITRE ATT&CK

  • T1552.001 Unsecured Credentials: Credentials In Files

CIS Controls

  • CIS 16 Application Software Security
  • CIS 8 Audit Log Management

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security
  • DE.AE Adverse Event Analysis