12–13 листопада 2026 року GitHub позначив шкідливими пакети npm і PyPI, пов’язані з інструментами для роботи з ШІ, а HoneyLabs описала сканер, який шукав на вебсерверах файли з токенами асистентів. Ці випадки зачіпають різні ланки розробницького середовища: залежності, MCP-сервери, локальні конфігурації та файли, випадково відкриті через веб.
Спільна технічна проблема — секрети часто опиняються ближче до коду й автоматизації, ніж очікує їхній власник. Йдеться про токени Claude Code, налаштування MCP із доступом до GitHub, баз даних чи Slack і права агента виконувати команди. Якщо встановлювали згадані пакети або вебсервер може віддавати домашній каталог чи репозиторій, перевірки варто почати з інвентаризації залежностей і доступності конфігурацій.
Пакети @rclaude: віддалений сервіс і невідомий код у збірках
Пакети @rclaude/darwin-x64 версії 0.2.1 та @rclaude/darwin-arm64 версії 0.2.0 позначені в GitHub Advisory Database як шкідливі. Це не офіційні збірки Anthropic: назви справжніх платформних пакетів починаються з @anthropic-ai/claude-code. Згадані компоненти були нативними клієнтами для macOS до пакета rclaude, який з’явився в npm 9 листопада.
У README сервіс описувався як спосіб запускати Claude Code на віддаленому сервері rclaude.xyz, тоді як файли й команди виконуються на комп’ютері користувача. Для входу пропонували токен або браузер; встановлювати сам Claude Code та облікові дані моделі, за описом, не вимагалося. Водночас документація повідомляла, що за замовчуванням віддалена сторона може змінювати локальні файли й виконувати команди. Прапорець --read-only мав обмежувати ці права.
Такий механізм означає, що під час роботи клієнта довіра поширюється не лише на локальний комп’ютер, а й на віддалений сервіс. У версії 0.2.1 клієнт, за описом, спершу звертався до «прискореної лінії» і переходив на основний сайт, якщо запит не вдавався; облікові дані зберігалися в ~/.rclaude. Але GitHub не опублікував технічного аналізу шкідливих збірок, тому невідомо, що саме вони робили.
Рекомендація GitHub жорстка: комп’ютер, де ці версії встановлювали або запускали, слід вважати повністю скомпрометованим. Потрібно змінити з іншого пристрою всі секрети й ключі, які могли бути на ньому доступні. Самого видалення пакета недостатньо, щоб гарантувати очищення системи. На 13 листопада зазначені версії вже були відсутні в npm; інші версії та основний пакет rclaude у базі шкідливих пакетів не значилися. Це не скасовує необхідності перевірити власні залежності.
Кампанія PyPI: завантажувачі під виглядом голосових утиліт
Пакет qwen3ttsui у PyPI подано як невеликий завантажувач і запускальник віддалених Python-профілів. За описом дослідника kam193, він належить до кампанії 2026-10-voice-synthesis-profiles. Подібні пакети самі не містять основного шкідливого навантаження: їхня функція — завантажити код із заданої URL-адреси й запустити його. Який саме код міг завантажуватися, невідомо.
У GitHub Advisory Database дослідники нарахували 83 записи з міткою цієї кампанії. Перші 43 з’явилися 22 жовтня 2026 року, ще 21 — наступного дня; 12 листопада додали 15 пакетів, а 13 листопада — ще чотири. Приблизно половина назв імітує засоби синтезу або розпізнавання мовлення: наприклад, ferrotts, lumitts і voxgramasr. Інші нагадують утиліти для черг завдань чи оцінювання, зокрема taskquay та evalometer. У всіх advisory вказано версію 0.1.0.
Серед пакетів, доданих 12–13 листопада, — acustoviasr, eulaliatts, evalometer, ferrotts, flowmetry, garviscope, garvisometerui, garvisuite, inframetric, lumitts, melstagen, phoneliasr, qwen3ttsui, spectrova, stackvane, voxcpmttslora, voxgramasr, voxrelitts і wavforge. Наявність завантажувача не доводить, що він викрав дані; однак завантажений і виконаний ним код міг мати інші дії. Тому перевіряти треба не лише назву пакета, а й середовище, де його запускали.
MCP-сервер для водійських посвідчень надсилав зображення на IP-адресу
Пакет my-mcp-server-driving-license-ocr надавав агенту інструмент analyze_image для розпізнавання водійських посвідчень. За advisory, у версії 0.1.3 зображення — посиланням або байтами в base64 — надсилалися POST-запитом на http://42.193.222.35:8000/ocr_pic. Передавання відбувалося звичайним HTTP, без TLS, а отже, з’єднання не мало шифрування.
Код читав адресу з MY_API_URL, але потім перезаписував її жорстко заданою IP-адресою. Через це користувач не міг скерувати запити на власний сервер, просто змінивши змінну середовища. В інших чотирьох опублікованих версіях, за перевіркою джерела, адресу брали з MY_API_URL; жорстко заданий IP знайшли саме у 0.1.3. Причини такої реалізації невідомі, але результат для користувача конкретний: документи, передані цій версії, надсилалися невідомому отримувачу. Якщо пакет використовували для справжніх посвідчень, такі документи слід вважати розкритими.
Сканери шукають конфігурації Claude Code, Cursor та MCP
11 листопада HoneyLabs опублікувала аналіз незапрошених запитів, зафіксованих її honeypot-системами з 27 серпня до 9 листопада 2026 року. Один сканер із Google Cloud спершу регулярно перевіряв 543 шляхи, зокрема типові журнали, дампи баз та файли з ключами. 4 вересня він за секунду додав до переліку ще 49 шляхів, серед яких 32 стосувалися ШІ-асистентів.
До переліку входили /.claude.json, /.claude/settings.json, /.claude/.credentials.json, /.cursor/mcp.json, /.windsurf/mcp.json, /.aider.env, /.continue/config.json, /.mcp.json, /.vscode/mcp.json та /litellm_config.yaml. У файлі ~/.claude/.credentials.json Claude Code зберігає OAuth-токени без системного сховища ключів. MCP-конфігурації можуть містити в блоці env секрети для GitHub, баз даних і Slack. Серед решти запитуваних файлів були історія команд та файли оболонки, де можуть залишитися рядки на кшталт export ANTHROPIC_API_KEY=....
За перші 11 днів спостережень сканер надіслав 366 845 запитів із 2 894 IP-адрес. 2 499 адрес трапилися лише одного дня, тому блокування окремих IP навряд чи буде надійним захистом. Запити йшли на 203 порти; порт 443 посів лише 28-ме місце за кількістю звернень. Найчастіше сканер перевіряв порти 8190, 8085 і 4567, де можуть працювати внутрішні панелі та середовища розробки.
Саме цей сканер звертався до файлів ШІ-асистентів із 4 до 7 вересня, а 8 вересня припинив такі запити. Інші клієнти продовжували їх надсилати: з 8 вересня до 9 листопада HoneyLabs нарахувала 8 067 запитів, що стосувалися таких шляхів. Автори аналізу наголошують на межі цих даних: honeypot бачить запити до своїх пасток, але не може встановити, чи отримав сканер справжній файл із токенами на реальному сервері.
Що перевірити на комп’ютері та вебсервері
Перевір npm. Для глобальних залежностей виконай
npm ls -g --all, а в проєкті —npm ls --all. Платформні збірки могли бути необов’язковими залежностямиrclaude, тож перевір і його. Окремо оглянь~/.rclaude. Якщо знайдено@rclaude/darwin-x640.2.1 або@rclaude/darwin-arm640.2.0, дотримуйся рекомендації GitHub: вважай машину скомпрометованою та змінюй секрети з іншого пристрою.Переглянь середовища Python і lock-файли. Звір залежності з повним списком пакетів у GitHub Advisory Database за міткою кампанії. Наприклад, пошук за частинами назв можна виконати через
pip list | grep -iE 'tts|asr|qwen3ttsui|garvi|wavforge|spectrova'. Якщо один із пакетів був запущений, з’ясуй, які файли й мережеві ресурси були доступні процесу: сам завантажувач не показує, що саме виконувалося після завантаження.З’ясуй, чи підключався MCP-сервер. Перевір версію
my-mcp-server-driving-license-ocr. Для 0.1.3 зображення надсилалися на сторонню IP-адресу. Якщо через цю версію проходили реальні документи, виходь із того, що вони могли бути розкриті.Перевір відповіді вебсервера, а не лише статус-код. Запроси щонайменше
/.claude.json,/.claude/.credentials.json,/.cursor/mcp.json,/.mcp.jsonі/.aider.env. Код 200 сам по собі нічого не доводить: сервер міг повернути звичайну сторінку. Переглянь тіло відповіді. Якщо там справді є запитаний файл, з’ясуй, чи вказує корінь сайту на домашній каталог або робочу копію репозиторію, і зміни секрети з доступного файлу. Для MCP-конфігурації це стосується кожного токена в блоціenv.Обмеж доступ до конфігурацій за шляхами. Оскільки адреси сканерів швидко змінюються, блокування лише IP може не допомогти. HoneyLabs радить відсікати запити до чутливих каталогів на рівні вебсервера, наприклад правилом
locationу nginx для шляхів Claude, Cursor, Aider, Continue, Windsurf та MCP.
Перевірка не завершується на сервері: такі файли можуть потрапити й у Git. На початку листопада Apiiro виявила 1 122 публічні копії .claude/settings.local.json зі справжніми секретами. Тому каталоги .claude/, .cursor/ і MCP-конфігурації на ноутбуках та серверах потребують такого ж контролю, як файли .env: не відкривати їх через веб і не додавати до публічних репозиторіїв.
Що наразі невідомо
Кількість постраждалих від пакетів не названа. GitHub не пояснив, які саме дії виконували помічені збірки @rclaude; для PyPI-завантажувачів невідоме завантажуване навантаження. HoneyLabs також не може підтвердити, чи отримав сканер справжні секрети з будь-якого сервера. Тому оцінка ризику має спиратися на власні журнали, список залежностей і вміст відповідей вебсерверів, а не лише на те, що потенційний витік поки не підтверджений.









