Неизвестни атакуващи са успели да компрометират два легитимни пакета на MemTensor в хранилищата npm и Python Package Index (PyPI), за да разпространят базиран на Go имплант, наречен sckit и проектиран за Windows, Linux и macOS.

Според доклади от Aikido, SafeDep, Socket и StepSecurity въпросните библиотеки са посочени по-долу –

  • @memtensor/memos-cloud-openclaw-plugin версии 0.1.21, 0.1.23 и 0.1.25 (версии 0.1.22 и 0.1.24 са чисти)
  • MemoryOS версия 2.0.34 (проектът в момента е поставен под карантина в PyPI)

Зловредните версии на npm пакета включват „скрит Go зловреден код в легитимна интеграция за AI памет. Версии 0.1.21, 0.1.23 и 0.1.25 съдържат код, който стартира зловредния код при стартиране на шлюза на агента и всеки път, когато плъгинът обработва събитие за извличане на памет“, заявиха от StepSecurity.

„Стартиращата програма предава средата на хост процеса и по време на извличането изпраща директно текста на потребителската заявка към зловредния изпълним файл.“

От друга страна, пакетът в PyPI стартира статично свързания Go двоичен файл веднага щом модулът „memos“ бъде импортиран в дадено приложение.

Независимо от целевата екосистема, крайната цел е да се стартира кросплатформен зловреден код за кражба на идентификационни данни, способен да събира чувствителни данни от облачни услуги, платформи за изходен код, регистри на пакети и инструменти за разработчици и да ги извлича към външен сървър („skyleen[.]fr“).

Според Socket целите включват тайни от npm, PyPI, GitHub, GitLab, AWS, Vault и SSH –

  • Файлове с идентификационни данни (.npmrc, .vault-token, id_ecdsa, credentials.db, access_tokens.json и stored_tokens)
  • Променливи на средата, съдържащи токени, пароли, API ключове, частни ключове, бисквитки за сесия и низове за връзка с бази данни или брокери на съобщения (напр. NPM_TOKEN и PYPI_API_TOKEN)
  • Ключове за достъп до AWS, токени за GitHub и GitLab, токени за npm и PyPI, ключове за Hugging Face, HashiCorp Vault, Slack, Stripe и SendGrid, както и JWT

В своя анализ на атаката по веригата за доставки SafeDep отбелязва, че атакуващият е получил токените за публикуване от собствените конвейери за издаване в GitHub Actions на MemTensor, като е качил кодове (commits), които са принудили работния процес да предаде токена за npm или PyPI.

По-задълбочен анализ на импланта показва, че той може да функционира като червей чрез самостоятелно разпространение през GitHub и директно публикуване на пакети в npm и PyPI. Към момента на писане не е ясно дали има други засегнати пакети освен тези на MemTensor.

„Той събира идентификационни данни от машини на разработчици и от CI задачи“, заявиха от SafeDep. „Той получава подписани задачи от сървър за управление и контрол (C2). Освен това съдържа шаблони, чрез които да се инсталира в npm пакети, Python пакети и работни процеси на GitHub Actions.“

Предвид факта, че зловредните версии на npm пакетите все още са достъпни за изтегляне, от съществено значение е версиите на пакетите да бъдат фиксирани към безопасна базова версия (0.1.20 за npm пакета, 2.0.33 за PyPI пакета), компрометираните тайни да бъдат сменени, всеки процес на sckit да бъде прекратен и да се блокира „skyleen[.]fr“ заедно с всички негови поддомейни.

„Плъгинът MemOS Cloud свързва средата за изпълнение на агента OpenClaw с услуга за памет“, споделят от StepSecurity. „Нормалната му работа включва извличане на подходящи спомени, преди агентът да обработи заявка, и добавяне на спомени след изпълнение. Пакетът също така декларира точки за интеграция за средите за изпълнение Clawdbot и Moltbot.“

„Това поставя плъгина вътре в процес, който рутинно обработва потребителски вход и може да наследи ценни идентификационни данни. На работна станция на разработчик един и същ потребителски акаунт може да има достъп до облачна конфигурация, хранилища за код, токени за публикуване на пакети и тайни на приложенията. При автоматизация процесът може да получи идентификационни данни, инжектирани за конкретна задача.“