Дослідники з Socket виявили скоординовану атаку на ланцюг постачання, якій надали кодову назву TrapDoor, що одночасно зачепила три найбільші реєстри пакетів — npm, PyPI і Crates.io. За даними дослідників, кампанія включає понад 34 шкідливі пакети в 384+ версіях, націлені на крадіжку криптовалютних гаманців, SSH-ключів, хмарних облікових даних і змінних середовища. Розробникам, які працюють із криптовалютними проєктами, інструментами DeFi, платформою Solana та засобами ШІ, рекомендується негайно перевірити свої залежності на наявність наведених нижче пакетів.
Масштаби та хронологія кампанії
За даними Socket, першу активність TrapDoor зафіксовано 22 травня 2026 року о 20:20 UTC. Нові пакети публікувалися хвилями з кластера облікових записів у швидкій послідовності — тактика, типова для скоординованих атак на ланцюг постачання, коли зловмисник прагне максимізувати охоплення до виявлення.
Повний список шкідливих пакетів розподіляється між екосистемами таким чином:
- Crates.io (6 пакетів): move-analyzer-build, move-compiler-tools, move-project-builder, sui-framework-helpers, sui-move-build-helper, sui-sdk-build-utils
- npm (21 пакет): async-pipeline-builder, build-scripts-utils, chain-key-validator, crypto-credential-scanner, defi-env-auditor, defi-threat-scanner, deployment-key-auditor, dev-env-bootstrapper, eth-wallet-sentinel, llm-context-compressor, mnemonic-safety-check, model-switch-router, node-setup-helpers, project-init-tools, prompt-engineering-toolkit, solidity-deploy-guard, token-usage-tracker, wallet-backup-verifier, wallet-security-checker, web3-secrets-detector, workspace-config-loader
- PyPI (7 пакетів): cryptowallet-safety, data-pipeline-check, defi-risk-scanner, env-loader-cli, eth-security-auditor, git-config-sync, solidity-build-guard
Назви пакетів підібрано так, щоб вони виглядали як легітимні інструменти для криптовалютної розробки, аудиту безпеки, налаштування середовища та роботи з ШІ. Пакети в Crates.io цілеспрямовано імітують інструменти екосистем Sui та Move.
Технічна реалізація за екосистемами
npm: спільне корисне навантаження trap-core.js
Кілька npm-пакетів використовують хуки postinstall для запуску спільного JavaScript-модуля trap-core.js. Цей модуль виконує такі дії: сканує файлову систему на наявність облікових даних і секретів розробника, валідує викрадені токени AWS і GitHub через виклики до відповідних API, встановлює персистентність через завдання cron, сервіси systemd і хуки Git, а також здійснює латеральне переміщення мережею через SSH.
Crates.io: ексфільтрація через GitHub Gists
Шкідливі Rust-пакети використовують механізм скриптів збірки Cargo (build.rs) для запуску шкідливого коду на етапі компіляції. Шкідливе ПЗ шукає локальні сховища ключів, шифрує знайдені дані за допомогою жорстко закодованого XOR-ключа і відправляє їх у GitHub Gists. Використання build.rs — штатного механізму Cargo — ускладнює виявлення шкідливої активності без спеціалізованого аналізу.
PyPI: делегування виконання віддаленому JavaScript
Python-пакети автоматично виконують код під час імпорту. Їх основне завдання — завантажити JavaScript з домену зловмисника ddjidd564.github[.]io (GitHub Pages) і виконати його через node -e. Такий підхід дозволяє атакувальнику оновлювати поведінку шкідливого коду без публікації нових версій пакета на PyPI — достатньо змінити вміст на GitHub Pages.
Атака на ШІ-асистенти через отруєння конфігураційних файлів
Найбільш нетривіальний елемент кампанії — впровадження файлів .cursorrules і CLAUDE.md із прихованими інструкціями, спрямованими на маніпуляцію ШІ-асистентами для програмування. Ці файли містять вказівки, які спонукають ШІ запустити «перевірку безпеки», що насправді призводить до виявлення та ексфільтрації секретів.
За даними Socket, зловмисник створював pull request у популярні проєкти, пов’язані з ШІ, зокрема browser-use/browser-use, langchain-ai/langchain і langflow-ai/langflow. Дослідники припускають, що атакувальник тестував можливість впровадження шкідливих конфігураційних файлів через стандартні робочі процеси контриб’юції до відкритого коду. Якщо такі файли потраплять до репозиторію, інструменти ШІ для написання коду автоматично парситимуть приховані інструкції та виконуватимуть їх. Ця оцінка походить від одного дослідницького джерела і потребує незалежного підтвердження.
Індикатори компрометації
- Домен: ddjidd564.github[.]io — використовується для хостингу віддалених JavaScript-корисних навантажень
- Файли: trap-core.js — спільний шкідливий модуль у npm-пакетах
- Механізми персистентності: .cursorrules, CLAUDE.md, хуки Git, хуки оболонки, сервіси systemd, завдання cron, конфігурація SSH
Оцінка впливу
Найбільшому ризику піддаються розробники, які працюють із криптовалютними проєктами, протоколами DeFi, блокчейном Solana, а також з інструментами ШІ. Компрометація робочої станції розробника може призвести до витоку приватних ключів криптогаманців, хмарних облікових даних AWS, токенів GitHub і SSH-ключів — що відкриває шлях до подальших атак на інфраструктуру організації. Механізм латерального переміщення через SSH означає, що одна заражена машина може стати точкою входу в корпоративну мережу.
Рекомендації
- Перевірте залежності: виконайте аудит файлів package.json, requirements.txt і Cargo.toml на наявність будь-якого з 34 перелічених пакетів. Видаліть виявлені пакети та всі пов’язані артефакти.
- Ротація секретів: якщо шкідливий пакет було встановлено, негайно відкличте та перевипустіть усі токени AWS, GitHub, SSH-ключі та мнемонічні фрази криптовалютних гаманців, до яких мала доступ скомпрометована система.
- Перевірте механізми персистентності: перегляньте завдання cron (
crontab -l), сервіси systemd, хуки Git у репозиторіях (.git/hooks/), а також файли .cursorrules і CLAUDE.md у корені проєктів. - Заблокуйте домен: додайте ddjidd564.github[.]io до списків блокування на рівні DNS і проксі.
- Рев’ю pull request: супроводжуючи проєкти з відкритим кодом, перевіряйте вхідні PR на наявність файлів .cursorrules і CLAUDE.md із підозрілими інструкціями.
- Використовуйте інструменти аналізу залежностей: впровадьте перевірку пакетів на етапі CI/CD за допомогою спеціалізованих сканерів, здатних виявляти підозрілі хуки postinstall, скрипти build.rs і авто виконання під час імпорту.
Кампанія TrapDoor демонструє конвергенцію двох тенденцій: класичного тайпсквотингу пакетів та експлуатації нових векторів через ШІ-асистенти для розробки. Пріоритетна дія — аудит залежностей за наведеним списком пакетів із подальшою ротацією всіх секретів на уражених системах. Команди, що використовують ШІ-інструменти для написання коду (Cursor, Claude), мають додатково перевірити свої репозиторії на наявність несанкціонованих конфігураційних файлів, здатних спрямовувати поведінку ШІ-асистентів.