Компания Aqua Security публикува резултатите от проучване на наличието на конфиденциални данни в логовете за строеж, публично достъпни в системата за непрекъсната интеграция Travis CI. Изследователите намериха начин за извличане на 770 милиона лога от различни проекти. При тестово качване на 8 милиона лога в получените данни бяха открити около 73 хиляди токена, учетни данни и ключове за достъп, свързани с различни популярни услуги, включително GitHub, AWS и Docker Hub. Откритата информация позволява компрометиране на инфраструктурата на много отворени проекти, например, подобна изтичане наскоро доведе до хакване на инфраструктурата на проекта NPM.
Изтичането е свързано с възможността за получаване на достъп до логовете на потребителите на безплатната услуга Travis CI чрез стандартния API (например, логът може да бъде свален чрез URL от вида "https://api.travis-ci.org/v3/job/5248126/log.txt", където числото 5248126 е идентификаторят на лога). За определяне на диапазона на възможните идентификатори на логовете е използван още един API ("https://api.travis-ci.org/logs/6976822"), осигуряващ пренасочване за сваляне на лог по пореден номер. Чрез метод на подбиране в хода на проучването успяха без автентификация да установят около 770 милиона лога, създадени от 2013 до май 2022 година в хода на строежа на проекти, попадащи под безплатния тарифен план.
Анализът на тестовата извадка показа, че в много случаи в лога в открит вид са отразени параметри за достъп до репозиторите, API и хранилищата, достатъчни за достъп до приватни репозитории, извършване на промени в кода или свързване с облачни среди, използвани в инфраструктурата. Например, в логовете бяха намерени токени за свързване с репозиторите в GitHub, пароли за качване на сборки в Docker Hub, ключове за достъп до среди на Amazon Web Services (AWS), параметри за свързване с СУБД MySQL и PostgreSQL.
Забележително е, че подобни изтичания чрез API са документирани от изследователите през 2015 и 2019 година. След предишни инциденти компанията Travis добави определени ограничения, за да затрудни масовото сваляне на данни и ограничила достъпа до API, но тези ограничения успяха да бъдат заобиколени. Освен това, компанията Travis направи опит за почистване на конфиденциалните данни в логовете, но данните бяха почистени само частично.
Утечката главно засегна потребителите на публични проекти, на които Travis предоставя безплатен достъп до своята услуга за непрекъсната интеграция. При проверка, извършена от някои доставчици на услуги, беше потвърдено, че около половината от извлечените от логовете токени и ключове остават активни. На всички потребители на безплатната версия на услугата Travis CI се препоръчва незабавно да сменят ключовете за достъп, а също така да настроят изтриването на логовете от сборки и да проверят отсъствието на конфиденциални данни в логовете.
Източник: opennet.ru
