Експерти з кібербезпеки компанії Palo Alto Networks виявили серйозну вразливість у популярних проектах з відкритим вихідним кодом, включаючи розробки таких гігантів як Google, Microsoft, AWS та Red Hat. Проблема пов’язана з витоком токенів аутентифікації GitHub через артефакти GitHub Actions у процесах безперервної інтеграції та доставки (CI/CD). Ця вразливість відкриває шлях зловмисникам до викрадення конфіденційних даних та потенційного впровадження шкідливого коду.
Механізм витоку токенів GitHub
Дослідники виділили два основних сценарії витоку токенів:
1. Проблема з actions/checkout
Дія actions/checkout, яка широко використовується для клонування репозиторію в робочому процесі GitHub, за замовчуванням зберігає токен GitHub у локальному прихованому каталозі .git. Якщо розробник помилково завантажить весь каталог checkout як артефакт, токен GitHub стає вразливим для компрометації. Крім того, ця директорія може містити інші конфіденційні дані, такі як API-ключі та облікові дані для різних сервісів.
2. Витік через змінні середовища
Другий сценарій пов’язаний з конвеєрами CI/CD, які використовують змінні середовища для зберігання токенів GitHub. Якщо дії або скрипти в рамках робочого процесу навмисно або випадково логують ці змінні, а логи завантажуються як артефакти, токени можуть потрапити до рук зловмисників.
Потенційні наслідки та ризики
Викрадені токени GitHub можуть надати зловмисникам доступ до приватних репозиторіїв, дозволяючи їм викрасти вихідний код або впровадити шкідливий код у проекти. Хоча деякі токени, як-от Actions_Runtime_Token, мають обмежений термін дії (близько шести годин), інші секрети можуть залишатися дійсними протягом тривалого часу або навіть безстроково, що збільшує потенційний збиток від їх компрометації.
Методологія атаки ArtiPACKED
Дослідники Palo Alto Networks розробили методологію атаки, названу ArtiPACKED, яка дозволяє автоматично виявляти вразливі проекти та сканувати їх артефакти на наявність секретів. Ця техніка демонструє, наскільки легко зловмисники можуть експлуатувати дану вразливість, особливо у випадку з публічними репозиторіями.
Рекомендації щодо захисту
Для мінімізації ризиків витоку токенів GitHub експерти рекомендують:
- Уникати включення цілих директорій у завантажувані артефакти
- Регулярно проводити очищення логів
- Перевіряти конфігурації CI/CD-конвеєрів
- Налаштовувати потенційно небезпечні дії (наприклад, actions/checkout) так, щоб облікові дані не зберігалися
Хоча багато власників репозиторіїв вже вжили заходів для усунення виявлених вразливостей, проблема залишається актуальною для багатьох проектів. Розробники GitHub наголошують на відповідальності користувачів за захист своїх артефактів. Ця ситуація підкреслює важливість постійної пильності та дотримання найкращих практик безпеки у процесі розробки програмного забезпечення, особливо для проектів з відкритим вихідним кодом, які часто стають мішенню для кіберзлочинців.