Атаката срещу TanStack копира 170 хранилища на CrowdSec

Френската компания за колективна киберзащита CrowdSec публикува на 18 септември подробен анализ на инцидент, при който около 170 нейни частни GitHub хранилища са били копирани. Изтеглянето е станало още на 22 май 2026 г. и е отнело малко над девет минути, но компанията научава за него чак на 16 септември, когато част от кода се появява в онлайн форум. Входната точка не е дупка в инфраструктурата на CrowdSec, а компрометираните npm пакети на TanStack.
Девет минути на 22 май
Веригата тръгва на 11 май 2026 г., когато атакуващите публикуват 84 злонамерени версии на 42 пакета от екосистемата TanStack — популярен набор от библиотеки за уеб интерфейси в Node. Инсталирането на такава версия изпълнява код, който събира каквото намери по машината: GitHub токени, SSH ключове и облачни креденшъли.
Една от заразените машини е била лаптопът на скоро напуснал служител на CrowdSec, чийто достъп е бил оставен активен, за да довърши започната работа. С откраднатия OAuth токен (във формат gho_...) атакуващият клонира хранилищата на 22 май между 05:52:29 и 06:01:33 UTC. Логовете сочат IP адрес от Торонто, Канада. Достъпът на бившия служител е свален на 25 май — три дни след факта.
Снимка: CrowdSec
Има и втори епизод: на 17 август от адрес 23.234.84.102 някой пробва открит в кода AWS токен с GetCallerIdentity и ListTopics. Токенът е бил ограничен само до публикуване в SNS и опитът се проваля.
Какво е изтекло и какво не
В архива влизат сорсът на SaaS конзолата на CrowdSec, скриптове и модели от data science екипа, автоматизации (Slack ботове, деплой и QA инструменти) и — най-чувствителното — кодът на консенсусния алгоритъм, който решава кои IP адреси влизат в блоклистите, заедно с дотогава неоповестени прагове.
Изтекли са и лични данни: 83 имейл адреса на потребители (под 0,05% от около 150 000 регистрирани) и имената, имейлите и контекстът на 51 потенциални инвеститори от система от 2020 г. Именно за второто основателят Филип Юмо се извинява най-директно в анализа.
CrowdSec настоява, че атакуващият само е чел. Няма достъп до инфраструктура или бази данни, няма променен ред код — нито в публичните хранилища, нито в частните, нито в CI/CD веригите. Компанията твърди и че отравяне на блоклистите остава непрактично заради високите прагове за включване на адрес.
Същата вълна, различни жертви
TanStack не е изолиран случай. Кампанията е свързана с варианта на червея Shai-Hulud от май 2026 г., който по данни на The Hacker News е ударил и Mistral AI, и OpenAI. Моделът се повтаря: компрометира се един пакет нагоре по веригата, краде се всичко от машините на разработчиците и после откраднатите токени се използват месеци по-късно. Подобна логика видяхме и при изтеклия ключ на Cloudflare, който удари 100 000 сайта.
Паралелно Саймън Уилисън обръща внимание на целенасочените атаки срещу Rust разработчици. Там няма злонамерен пакет — има фалшиви видео разговори, уж предложения за работа и договори, след които жертвата сама инсталира зловредния софтуер. Миналия месец така е паднал crate-ът arrayref.
Третият фронт е търсачката. LastPass и Delphos Labs описаха на 18 септември кампания с фалшиви GitHub хранилища, които имитират около 40 компании, сред които и LastPass Authenticator. Жертвите ги намират през Google, свалят ZIP архив, надут до 148 MB, за да не мине през скенерите, и получават infostealer-а Rapuncel — краде от 25 браузъра и 30 крипто портфейла, а заедно с него идва и подписаният от Microsoft драйвер Alinubx.sys, който убива 145 процеса на антивирусни и EDR продукти.
Какво можете да направите
Практичният извод на Уилисън е прост и приложим веднага: въведете „период на изстиване“ за зависимостите — не вдигайте версия в деня на излизането ѝ, а изчакайте няколко дни, докато общността хване компрометираните пакети. Именно в този прозорец се хващат атаки като тази срещу TanStack.
Прегледайте кой още има активен достъп до хранилищата ви. При CrowdSec разликата между инцидент и неслучил се инцидент е била един неотнет акаунт на напуснал служител.
Самата CrowdSec обяви, че разгръща EDR по машините на разработчиците, засилва логването в GitHub и преразглежда процедурите по напускане. Компанията вече е следила възрастта на npm пакетите и е пускала автоматичен анализ на всеки комит — което показва, че дори добре подредена защита не спира кражба на токен от чужд лаптоп.
Заключение
Историята е учебникарска илюстрация на това колко дълго живеят последствията от една supply-chain атака: зараза през май, използване на токена същия ден, повторен опит през август, публикация през септември. За компания, чийто бизнес е точно това — да събира и споделя данни за атаки — ефектът върху репутацията е по-тежък от техническия. За всички останали поуката е, че веригата от зависимости е толкова здрава, колкото е най-разсеяният лаптоп в нея. Подобен извод се налагаше и след Plugin4Shell — 0-click дупката в AI кодиращите агенти.
Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.
Предпочитан източник в Google