Повече от 543 000 идентификационни данни, изложени в публични хранилища в GitHub, все още бяха валидни през юли въпреки мерките за сигурност на платформата за предотвратяване на случайно изтичане на чувствителни данни.

Данните, събрани от сканирането на 224 милиона хранилища и над 58 милиарда файла, показват, че медианното време, през което уникални идентификационни данни са останали публично достъпни, е 784 дни.

Изследването е проведено от Truffle Security, които установиха, че около 10% от работещите идентификационни данни са по-стари от 6,3 години, а най-старите датират от 2009 г.

Общо изследователите са идентифицирали 543 699 уникални идентификационни данни, които се появяват неколкократно в повече от 1,1 милиона файла и хранилища, включително копия във разклонения (forks).

Оценката е извършена върху набор от данни, събран за обучение на големи езикови модели, въз основа на обхождане, приключило на 7 август 2025 г.

От Truffle Security заявяват, че броят на изложените идентификационни данни в GitHub е повече от двоен спрямо намереното от тях през август след сканиране на Hugging Face, където са открили 221 303 работещи идентификационни данни.

Изследователите отбелязват, че плътността на тайните се е увеличила с течение на времето, като броят на работещите идентификационни данни е нараснал от 3,72 на милион файла през 2015 г. до пик от 11,62 през 2025 г.

Преглед на констатациите на Truffle
Преглед на констатациите на TruffleИзточник: Truffle Security

Ефектът от Push Protection

Защитата на GitHub срещу случайно изтичане на идентификационни данни, Push Protection, беше въведена през април 2022 г. за потребители на Advanced Security и стана достъпна за публични хранилища през май 2023 г. Година по-късно GitHub я активира по подразбиране.

Механизмът сканира входящия код за модели на тайни като API ключове и токени за достъп и блокира качването, ако открие такъв. Той обаче не отменя вече изложени идентификационни данни.

Truffle Security съобщава, че 199 843 от идентификационните данни, идентифицирани през юли, са били изложени, след като GitHub активира Push Protection за всички потребители през февруари 2024 г., което представлява приблизително 36,8% от общия брой.

Малко над половината (51,8%) от работещите идентификационни данни попадат в категории, които Push Protection по подразбиране на GitHub не блокира, включително низове за връзка с бази данни и Google API ключове.

Въпреки това Push Protection изглежда ефективен в рамките на своето покритие: процентът на изложените идентификационни данни в защитените категории е спаднал с 53%, след като функцията беше активирана по подразбиране.

Излагане на тайни
Излагане на тайниИзточник: Truffle Security

Оттегляне на изложени тайни

Разглеждайки набора от данни по-широко, Truffle казва, че някои типове идентификационни данни са много по-вероятно да бъдат оттеглени от други, в зависимост от услугата.

Например от 101 886 качени npm токена, изследователите са открили само 1, който все още работи. За разлика от това, от 126 963 изложени идентификационни данни за профили на услуги в Google Cloud, 69 041 все още са били валидни и работещи към момента на анализа.

Практическата препоръка за засегнатите е незабавно да подменят (ротират) изложените идентификационни данни, да почистят хранилищата, да сканират историята и да настроят автоматично изтичане на валидността за всички активни тайни.

Констатациите на Truffle Security показват нивото и мащаба на излагането на работещи тайни в GitHub, но не разкриват какъв процент от тези тайни действително биват откраднати и използвани злонамерено от атакуващи.