Според репортаж на Cybernews, докладвана кампания, изградена около откраднати токени на GitHub и WFX stealer, застрашава приблизително 66 000 хранилища. Твърди се, че атакуващите са използвали откраднати токени за достъп, за да внедрят зловредни workflow файлове, превръщайки pipeline за разработка в начин за събиране на тайни. Наличната информация е кратка, затова тази публикация се придържа към това, което е било заявено, и се фокусира върху практични стъпки, които разработчиците могат да предприемат сега.
Как откраднатите токени позволиха атаката чрез GitHub workflow
Според доклада кампанията е използвала откраднати токени, за да добави workflow-и „WFX stealer“ към около 66 000 хранилища в GitHub. Токенът е идентификационни данни, които позволяват на човек или приложение да действа от името на акаунт, без да въвежда парола. Ако атакуващ притежава валиден токен с достатъчно права, GitHub третира действията му като легитимни.
Именно това прави workflow-ите привлекателна цел. GitHub Actions workflow-ите са файлове, съхранявани в хранилище, които се изпълняват автоматично, често с достъп до тайните, които даден проект използва за изграждане, тестване и внедряване на код. Зловредният workflow не се нуждае от експлоатиране на софтуерна уязвимост. Достатъчно е да бъде commit-нат от някого, когото GitHub смята за оторизиран, и след това той се изпълнява вътре в pipeline-а.
Обобщението на източника не описва подробно как първоначално са били откраднати токените и ние няма да гадаем. Това, което е важно за читателите, е моделът: самият pipeline се превръща в механизъм за доставка, а идентификационните данни, които го отключват, са истинската награда.
Какво може да разкрие WFX stealer от акаунти на разработчици
Докладът описва workflow-ите като крадящи тайни, а предложеният ъгъл отбелязва, че CI/CD pipeline-ите могат да се превърнат в път към тайните и личните акаунти на разработчиците. На практика stealer, който се изпълнява в pipeline, може да бъде позициониран да достигне до всичко, до което този pipeline може да достигне. Типични примери за такъв материал включват:
- API ключове и облачни идентификационни данни, съхранявани като тайни на хранилището
- Токени за внедряване и идентификационни данни за регистър на пакети
- Други GitHub токени, достъпни за workflow-а
Точните данни, които WFX stealer събира, не са потвърдени в информацията, с която разполагаме, затова третирайте списъка по-горе като категории риск, обичайни за тайните в pipeline-и, а не като проверени констатации за тази кампания. По-широката тревога е, че един откраднат токен може да доведе до още откраднати токени. Тайни, събрани от едно хранилище, могат да отключат други услуги и така компрометирането на едно хранилище може да се разпространи в лични и организационни акаунти.
Това се вписва в по-широка тема, която вече сме разглеждали: системи, на които хората трябва да се доверяват, биват обръщани срещу тях. Нашият преглед на това как уязвимост с нулево кликване в Pixel и атаки чрез ScreenConnect срещу MSP доставчици сподели същата тази неудобна нишка и показа колко често довереният инструмент е слабото място.
Как да проверите дали вашите хранилища са били засегнати
Не можем да ви кажем дали конкретно хранилище е в засегнатия списък, а наличният доклад не публикува такъв. Все пак можете сами да потърсите признаци на намеса:
- Прегледайте workflow файловете. Отворете папката
.github/workflowsвъв всяко хранилище и потърсете файлове, които не разпознавате, или редакции, които не сте правили. - Проверете историята на commit-ите и pull request-ите. Потърсете скорошни commit-и или клонове, които засягат workflow-и, особено от непознати акаунти или в необичайни часове.
- Прегледайте логовете от изпълненията на Actions. Неочаквани изпълнения, нови тригери или стъпки, които правят изходящи мрежови заявки, заслужават по-внимателен поглед.
- Прегледайте security лога и оторизираните приложения. В настройките на GitHub проверете кои personal access token-и, OAuth приложения и GitHub Apps имат достъп и премахнете всичко, което не използвате.
- Приемайте компрометиране, ако откриете нещо. Третирайте всяка тайна, до която този workflow е могъл да има достъп, като компрометирана, и я подменете.
Затягане на сигурността на GitHub: токени, MFA и Actions от трети страни
Нито една от тези стъпки не е екзотична, но заедно те намаляват какво може да направи един откраднат токен.
Ротирайте и ограничавайте токените. Отменете старите personal access token-и и издайте нови с най-тесния обхват и най-краткия срок на валидност, които работят. Fine-grained токените, ограничени до конкретни хранилища, са по-безопасни от широкообхватните.
Включете многофакторна автентикация. MFA защитава влизането в акаунта ви, макар че си струва да помните, че откраднатият токен може изцяло да заобиколи стъпката за вход. Ето защо хигиената на токените е също толкова важна.
Ограничете правата на workflow-ите. Задайте токена на workflow-а по подразбиране като read-only и давайте write достъп само там, където дадена задача наистина се нуждае от него. Изисквайте преглед преди сливане на промени по workflow файлове, например чрез branch protection и code owners.
Проверявайте Actions от трети страни. Заковавайте Actions към конкретен commit вместо към подвижен tag и предпочитайте такива от поддържащи, на които се доверявате. Дръжте тайните далеч от задачи, които не се нуждаят от тях.
Какво означава това за вас
Ако поддържате дори малък проект в GitHub, вашите workflow файлове са част от вашата повърхност за атака. Откраднат токен може да позволи на някого да добави workflow, който тихо чете вашите тайни, а вие може никога да не видите предупреждение. Индивидуални разработчици, поддържащи на open source проекти и компании с автоматизирани внедрявания са в обхвата.
Добрата новина е, че защитите са под ваш контрол и отнемат малко време. Това също е част от повтарящ се модел, при който атакуващите се насочват към акаунтите и инструментите, на които хората вече се доверяват. Нашето отразяване на твърдението на Incransom за атака срещу TrRAC Inc. е различен тип инцидент, но подчертава колко бързо откраднатият достъп може да се превърне в реални щети.
Практически изводи
- Ротирайте GitHub токените си още днес и изтрийте всички, които вече не използвате.
- Включете MFA на всеки акаунт с достъп до хранилища.
- Одитирайте файловете си
.github/workflowsза промени, които не сте правили. - Задайте правата на workflow-ите като read-only по подразбиране и заковавайте Actions от трети страни.
- Ако откриете нещо подозрително, подменете всяка тайна, до която този workflow е могъл да има достъп.
Докладите за откраднати токени на GitHub и WFX stealer все още се развиват и подробностите може да се променят. Не чакайте потвърждение, за да подредите собствената си конфигурация: ротирайте токените, включете MFA и одитирайте workflow-ите си още днес.




