Фреймворк Sckit обнаружен в скомпрометированных пакетах MemTensor
В скомпрометированных пакетах MemTensor в реестрах npm и PyPI обнаружен новый фреймворк имплантов на Go под названием sckit, также известный как червь supplychain.local. Он нацелен на Linux, macOS и Windows и, по имеющимся данным, предназначен для кражи учётных данных с рабочих станций разработчиков и из сред CI, связи с управляемым оператором сервером C2 и распространения через цепочки поставок программного обеспечения. sckit не связан с известными семействами вредоносного ПО или публично задокументированными червями npm.
Сборка и доставка импланта
Путь модуля Go выглядит как supplychain.local/campaign. Фреймворк использует собственные идентификаторы протоколов sckit.control.v1 и sckit.admission.v1. Имплант доставляют загрузчики пакетов, которые запускают его как отсоединённый процесс с полным окружением хоста. Загрузчик npm также может передавать импланту пользовательские запросы через переменную окружения SCKIT_EVENT_TEXT, чтобы собирать данные о взаимодействии с ИИ-агентами.
Имплант принимает конфигурацию в формате JSON, закодированную в base64, по схеме sckit.runtime.v1. Сборки для Windows, macOS и Linux созданы на Go отдельно для архитектур amd64 и arm64. При сборке использовались параметры CGO_ENABLED=0 и -trimpath; получились статические бинарные файлы размером примерно 6,8–7,7 МБ.
Загрузчики для Python и Node.js определяют бинарные файлы импланта для соответствующей платформы и запускают их в скрытом режиме. Фреймворк также включает шаблоны для заражения пакетов npm, пакетов Python и рабочих процессов GitHub Actions.
Сбор учётных данных и управление
Функции и строки, связанные с обнаружением токенов, указывают на возможности сбора учётных данных. Поддерживаемые форматы и типы учётных данных включают:
- JWT;
- учётные данные AWS, GitHub, GitLab, npm, PyPI и Hugging Face;
- учётные данные HashiCorp Vault, Slack, Stripe и SendGrid.
В сборке для PyPI есть дополнительные схемы, связанные с CI, и идентификатор SCKIT_CI_RESULT_V2. Это указывает на специализированные функции сбора данных или отчётности по CI. Имплант, по всей видимости, может профилировать хосты и отбирать жертв по географическим критериям и критериям, связанным с JA4.
Для трафика C2 применяются CBOR поверх протокола на основе XChaCha, подписанные аренды, ограничения активации, контроль истечения срока действия, хостовые бакеты, одноразовое выполнение и проверки целостности модулей. Удалённые модули загружаются и выполняются с помощью функций ParseModule, Execute, oneShotModule и pendingModule. Их возможности определить не удалось, поскольку инфраструктура C2 была недоступна.
Имплант поддерживает состояние, может удалить его вместе со своим бинарным файлом, а также создавать маркеры tombstone, чтобы предотвращать повторное заражение.
Признаки для обнаружения
К возможным признакам присутствия sckit относятся:
- подозрительные процессы с командой
sckit stage0 --config64; - переменная окружения процесса
SCKIT_EVENT_TEXT; - каталоги
.sckit, содержащие бинарные файлы; - неожиданные каталоги cache-runtime;
- изменения CI, связанные с
BASH_ENV; - несанкционированные бэкенды сборки репозиториев;
- журналы с идентификаторами учётных данных SCKit или результатов CI.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



