Изследователи от GitGuardian откриха 321 инстанции на n8n, приемащи API токени, изложени в публични комити в GitHub, и демонстрираха четири начина, по които атакуващите биха могли да ги използват за достъп до чувствителни данни и последващи идентификационни данни, без да експлоатират уязвимост в софтуера.
Сканирахме публични комити в GitHub за компрометирани API токени на n8n и идентифицирахме 4576 уникални идентификационни данни, свързани с 1255 хост имена. От 896-те инстанции, достъпни по време на тестването, 321 приеха поне един изтекъл токен.
Това означава, че изтеклите идентификационни данни са осигурили удостоверен достъп до 36% от тестваните достъпни инстанции, или приблизително 26% от всички хост имена, идентифицирани в комитите.
Последиците се простират далеч отвъд n8n. Организациите използват платформата за автоматизация за свързване на бази данни, хранилища за изходен код, облачни среди, услуги за изкуствен интелект, платформи за поддръжка на клиенти и други вътрешни системи. n8n токен с достатъчно привилегии може да разкрие дефиниции на работни процеси (workflows) и данни от изпълнението им, да позволи на атакуващите да използват съхранените идентификационни данни и, при някои конфигурации, да им позволи да извлекат съответните стойности на идентификационните данни.
За да измерим потенциалния обхват на щетите, възпроизведохме четири практически техники за атака в контролирана n8n среда. Всяка от тях изискваше само документирана функционалност на REST API и стандартни HTTP заявки. Не беше необходима експлоатация на CVE или специализирани инструменти.
n8n е платформа с отворен код за автоматизация на работни процеси с ниско кодиране (low-code), поддръжка на AI агенти и стотици вградени интеграции. Организациите я използват за свързване на вътрешни инструменти, автоматизиране на тръбопроводи (pipelines), внедряване на бизнес логика и оркестриране на API интеграции в техните технологични стекове.
Платформата може да бъде самохоствана или внедрена чрез n8n.cloud, а нейното хранилище с отворен код е събрало близо 200 000 звезди в GitHub.
Една инстанция на n8n изпълнява работни процеси, съставени от възли (nodes). Някои възли задействат работни процеси по график или чрез уебхукове, докато други трансформират данни, изпълняват код или се свързват с външни услуги, използвайки съхранени идентификационни данни като API ключове, токени и пароли за бази данни.
Тези идентификационни данни се шифроват в състояние на покой с помощта на главен ключ за шифроване, наречен N8N_ENCRYPTION_KEY. Но n8n все още трябва да ги декриптира и използва винаги, когато се изпълнява работен процес. Следователно атакуващ с достатъчно API привилегии може да реферира тези идентификационни данни в нови работни процеси и да накара инстанцията да ги използва от името на атакуващия.
С повече от 100 000 инстанции, видими чрез Shodan, и над 50 публикувани бюлетина за сигурност от януари 2026 г., n8n привлича същото внимание като други високостойностни платформи за интеграция.
Към 31 март 2026 г. 58% от сканираните от нас инстанции са работили с версия, засегната от поне един известен бюлетин за сигурност. Няколко скорошни CVE позволяват на атакуващите да избягат от изолираната среда за изпълнение и да получат произволен достъп за четене или запис в хост файловата система.
CVE-2025-68613, уязвимост за инжектиране на изрази с CVSS резултат 9.9, беше добавена в каталога с известни експлоатирани уязвимости на Агенцията за киберсигурност и инфраструктурна сигурност на САЩ (CISA) на 11 март 2026 г., потвърждавайки експлоатация в реална среда.
Изтеклите API токени създават отделен риск. Атакуващият не се нуждае непременно от експлоатиране на уязвимост в n8n, ако валидни идентификационни данни вече осигуряват удостоверен достъп до инстанцията.
Намерихме 321 инстанции, приемащи изтекли токени.
GitGuardian Public Monitoring сканира публични източници за разкрити идентификационни данни. За това изследване събрахме всеки API токен на n8n, който бяхме идентифицирали в публични комити в GitHub от април 2025 г.
Нашият тръбопровод извлече хост името на n8n, комитнато заедно с всеки токен, изпрати заявка за валидиране само за четене до свързаната инстанция и записа отговора.
Потвърдените 321 инстанции представляват приблизително 36% от 896-те достъпни инстанции и 26% от всички 1255 хост имена, идентифицирани в комитите.
Изпълнихме същия процес срещу API ключове за n8n Model Context Protocol, открити в същия набор от комити. MCP токените позволяват на AI асистенти да извикват работни процеси на n8n чрез Model Context Protocol, което ги прави по-нова повърхност за излагане на риск в сравнение с REST API.
От 372 идентифицирани MCP токена, седем все още бяха валидни по време на тестването, или приблизително 2%.
Защо изтеклите токени на n8n могат да останат валидни?
API ключът на n8n е подписан JSON Web Token с твърдение за аудитория „aud“: „public-api“. Декодираният токен съдържа времето си на издаване в твърдението „iat“. По-старите API ключове на n8n често не съдържат твърдение „exp“, определящо кога изтичат.
n8n въведе 30-дневно изтичане по подразбиране във версия 1.78.0 през февруари 2025 г., но много от токените, открити по време на изследването, са били генерирани без дата на изтичане. Поради това ключ, комитнат в GitHub месеци по-рано, може да остане използваем, докато някой изрично не го изтрие или оттегли.
На практика API ключовете на n8n се държат различно от самостоятелните JWT, които могат да бъдат валидирани само с техните подписи. Ключът също така трябва все още да съществува в базата данни на n8n. Изложен в GitHub токен остава опасен, докато инстанцията продължава да съществува.