Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tanscript-exploit-check — Проверка IOC для атаки на цепочку поставок npm TanStack/Mini Shai-Hulud (CVE-2026-45321) | Kitploit
Инструменты/GitHubGitHub/nkopylov/tanscript-exploit-check
Управление индикаторами компрометации (IOC)Анализ уязвимостейФорензикаРазведка угрозБезопасность Цепочки ПоставокРеагирование на Инциденты
GitHubnkopylov/tanscript-exploit-check

tanscript-exploit-check

Проверка IOC для атаки на цепочку поставок npm TanStack/Mini Shai-Hulud (CVE-2026-45321)

Репозиторий
1174 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Mini Shai-Hulud Supply Chain Attack — IOC Checker

curl -fsSL https://raw.githubusercontent.com/nkopylov/tanscript-exploit-check/main/check-tanstack-exploit.sh | bash

Или склонируйте репозиторий и запустите локально:

git clone https://github.com/nkopylov/tanscript-exploit-check.git
cd tanscript-exploit-check
./check-tanstack-exploit.sh [project_dir ...]

Что произошло

Этот чекер покрывает две волны кампании атаки на цепочку поставок Mini Shai-Hulud от TeamPCP:

Волна 1: Компрометация CI/CD TanStack (11 мая 2026)

11 мая 2026 (19:20–19:26 UTC) злоумышленник опубликовал 84 вредоносные версии в 42 npm-пакетах @tanstack/* за 6-минутное окно. Атака также затронула пакеты Mistral AI, UiPath, OpenSearch и другие — в общей сложности более 170 пакетов в npm и PyPI.

Учётные данные мейнтейнеров не были похищены. Атакующий использовал саму цепочку доверия CI/CD через атаку в 3 этапа:

  1. Эксплуатация pull_request_target — одноразовый GitHub-форк открыл PR, который выполнял код атакующего в контексте безопасности базового репозитория
  2. Отравление кэша GitHub Actions — код из форка отравил общий pnpm-кэш, который позже заразил легитимные релизные workflow
  3. Извлечение OIDC-токенов из памяти процесса — вредоносный код извлекал npm-токены публикации напрямую из памяти раннера GitHub Actions, создавая пакеты с валидными аттестациями происхождения SLSA Build Level 3

Волна 2: Взлом npm-аккаунта «atool» (19 мая 2026)

19 мая 2026 (01:39–02:06 UTC) скомпрометированный npm-аккаунт atool ([email protected]) опубликовал 637 вредоносных версий в 314 пакетах двумя автоматизированными волнами. Цели с высоким влиянием включают:

  • size-sensor (4,2 млн загрузок/месяц)
  • echarts-for-react (3,8 млн загрузок/месяц)
  • @antv/scale (2,2 млн загрузок/месяц)
  • timeago.js (1,15 млн загрузок/месяц)
  • 310+ дополнительных пакетов @antv/* и других

В этой волне использовалась полезная нагрузка на основе Bun (498КБ index.js), запускаемая через "preinstall": "bun run index.js", с нагрузкой второй стадии, скрытой в поддельных коммитах, запушенных в GitHub-репозиторий antvis/G2 через эксплуатацию расшаривания fork-объектов.

Что делает вредоносный код (обе волны)

Обе волны используют одно и то же семейство инструментов «Mini Shai-Hulud»:

  • Сбор учётных данных: 80+ переменных окружения, полная цепочка AWS (env → config → IMDSv2 → ECS → Secrets Manager), GitHub PAT, npm-токены, SSH-ключи, K8s-токены, Vault-токены, менеджеры паролей (1Password, Bitwarden, pass, gopass)
  • Постоянство: демоны gh-token-monitor (волна 1) и kitty-monitor (волна 2) через LaunchAgent/systemd; хуки в .claude/settings.json и .vscode/tasks.json
  • Эксфильтрация: P2P-сети (волна 1), GitHub Git Data API + HTTPS под видом трассировок OpenTelemetry (волна 2)
  • Злоупотребление CI/CD: инъекция в workflow с дампом toJSON(secrets), обмен npm OIDC-токенов
  • Рубильник («мёртвая рука»): rm -rf ~/ при отзыве GitHub-токена, пока демон активен
  • Мёртвая точка C2 (волна 2): опрос GitHub commit search API по ключевому слову firedalazer, команды, подписанные RSA-PSS

Что проверяет этот скрипт

#ПроверкаОписание
1Рубильник («мёртвая рука»)Демоны постоянства: gh-token-monitor (волна 1), kitty-monitor (волна 2)
2Вредоносные процессыИзвестные имена процессов атакующего (обе волны)
3Файлы полезной нагрузкиИзвестные вредоносные файлы по имени и SHA-256 хэшу (4 хэша)
4Хуки Claude CodeВнедрённые хуки в .claude/settings.json + общая эвристика SessionStart
5Задачи VS CodeВнедрённые задачи в .vscode/tasks.json + общая эвристика runOn: folderOpen
6GitHub ActionstoJSON(secrets) в любом workflow + предупреждение о pull_request_target
7npm lockfileСкомпрометированные версии пакетов в lockfile
8optionalDependenciesВредоносные @tanstack/setup и @antv/setup + 4 SHA поддельных коммитов
9Сетевые соединенияАктивные подключения к инфраструктуре C2 (5 доменов/IP)
10DNS-кэшРаннее разрешение доменов атакующего (4 домена)
11Git-веткиПаттерн именования веток атакующего в тематике «Дюны»
12Жизненные циклы скриптовЭвристика: bun run в preinstall/postinstall (установленные пакеты)
13Мёртвая точка C2Ключевое слово firedalazer и маркеры «Shai-Hulud» в истории git
14GitHub-зависимостиЭвристика: зависимости github: привязанные к SHA коммита в optionalDeps

Затронутые пакеты

Волна 1: TanStack (42 пакета)

Затронуты только @tanstack/router* и @tanstack/start*. НЕ затронуты: @tanstack/query*, @tanstack/table*, @tanstack/form*, @tanstack/virtual*, @tanstack/store.

ПакетВредоносные версииПервая безопасная версия
@tanstack/react-router1.169.5, 1.169.81.169.9
@tanstack/router-core1.169.5, 1.169.81.169.9
@tanstack/vue-router1.169.5, 1.169.81.169.9
@tanstack/solid-router1.169.5, 1.169.81.169.9
@tanstack/react-start1.167.68, 1.167.711.167.72
@tanstack/router-plugin1.167.38, 1.167.411.167.42

Полный список всех 42 пакетов см. в полном уведомлении.

Волна 2: аккаунт atool (314 пакетов)

Все пакеты, опубликованные npm-пользователем atool ([email protected]), получили вредоносные версии 19 мая 2026 года. Пакеты с высоким влиянием включают:

ПакетЕжемесячные загрузки
size-sensor4,2 млн
echarts-for-react3,8 млн
@antv/scale2,2 млн
timeago.js1,15 млн

Плюс 310+ пакетов, в основном в скоупе @antv/* (@antv/g2, @antv/g6, @antv/l7, @antv/s2, @antv/x6, @antv/f2 и т.д.), ai-figure, timeago-react, jest-canvas-mock, jest-date-mock и другие.

Полный список см. в анализе SafeDep.

Восстановление (при компрометации)

КРИТИЧЕСКИ ВАЖНО: отключите рубильник («мёртвую руку») ПЕРЕД отзывом любых токенов. Вредоносное ПО стирает $HOME, если токены отозваны, пока демон активен.

  1. Убейте демоны постоянства (gh-token-monitor И kitty-monitor) и удалите службы LaunchAgent/systemd
  2. Удалите файлы постоянства (.claude/router_runtime.js, .vscode/setup.mjs, ~/.local/share/kitty/cat.py, /var/tmp/.gh_update_state и т.д.)
  3. Удалите node_modules и lockfile, переустановите с --ignore-scripts
  4. Ротируйте ВСЕ учётные данные (npm, GitHub, AWS, GCP, SSH-ключи, Vault-токены, токены менеджеров паролей и т.д.)
  5. Заблокируйте домены атакующего на уровне DNS/файрвола (api.masscan.cloud, filev2.getsession.org, git-tanstack.com, t.m-kosche.com)
  6. Проверьте логи облачных провайдеров за 11–19 мая 2026 года

Официальные объявления и ссылки

Волна 1: TanStack (11 мая)

  • CVE-2026-45321 (CVSS 9.6 Critical) — Запись CVE
  • GHSA-g7cv-rxg3-hmpx — Уведомление GitHub
  • Посмертный анализ TanStack — tanstack.com/blog/npm-supply-chain-compromise-postmortem
  • Дальнейшие меры TanStack — tanstack.com/blog/incident-followup
  • Отслеживание в GitHub — TanStack/router#7383

Волна 2: взлом аккаунта atool (19 мая)

  • Анализ SafeDep — safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised

Разборы исследователей безопасности

Скачать инструмент